Welcome to PyApp’s documentation!

Let us handle the boring stuff!




Travis CI Status


Maintainability Test Coverage Once you go Black...


Latest Version https://img.shields.io/pypi/pyversions/pyapp.svg https://img.shields.io/pypi/l/pyapp.svg https://img.shields.io/pypi/wheel/pyapp.svg

Many features inspired by Django, but modified to be more general for use outside of web applications.


Python < 3.6 is no longer supported

So what do we handle?

  • Configuration - Loading, merging your settings from different sources

    • Python modules

    • File and HTTP(S) endpoints for JSON and YAML files.

  • Instance Factories - Configuration of plugins, database connections, or just implementations of an ABC. Leveraging settings to make setup of your application easy and reduce coupling.

  • Dependency Injection - Easy to use dependency injection without complicated setup.

  • Checks - A framework for checking settings are correct and environment is operating correctly (your ops team will love you)?

  • Extensions - Extend the basic framework with extensions. Provides deterministic startup, extension of the CLI and the ability to register checks and extension specific default settings.

  • Application - Provides a extensible and simple CLI interface for running commands (including Async), comes with built-in commands to execute check, setting and extension reports.

    • Automatic building of CLI arguments from a command signature new in 4.4!

  • Logging - Initialise and apply sane logging defaults.

  • Highly tested and ready for production use.


Installation with pip:

pip install pyapp

Indices and tables