Welcome to PyApp’s documentation!

Let us handle the boring stuff!

As of pyApp 4.0, Python < 3.6 is no longer supported.




Dependabot Status


Maintainability Security Test Coverage Once you go Black...


Latest Version https://img.shields.io/pypi/pyversions/pyapp https://img.shields.io/pypi/l/pyapp PyPI - Wheel

pyApp takes care of the boring boilerplate code for building a CLI, managing settings and much more so you can focus on your business logic.

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.

  • Feature Flags - Simple methods to enable and disable features in your application at runtime.

  • 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.

  • Logging - Initialise and apply sane logging defaults.

  • Highly tested and ready for production use.


Installation with pip:

pip install pyapp

Indices and tables