Skip to main content

A Python application framework - Let us handle the boring stuff!

Project description

Let us handle the boring stuff!

Docs ReadTheDocs
Build Travis CI Status
Quality Maintainability Test Coverage Once you go Black...
Package 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.

With pyApp 4.0, versions of Python < 3.6 are 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.
  • Logging - Initialise and apply sane logging defaults.
  • Highly tested and ready for production use.

Extensions

In development

Coming soon

Extensions for LDAP, Paramiko.

Contributions

Contributions are most welcome, be it in the form of a extension and factories for your favourite service client of bug reports, feature enhancements.

The core of pyApp is intended to remain simple and only provide required features with extensions providing optional more specific functionality.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyapp, version 4.3.0
Filename, size File type Python version Upload date Hashes
Filename, size pyApp-4.3.0-py3-none-any.whl (53.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pyApp-4.3.0.tar.gz (50.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page