pyapp


Namepyapp JSON
Version 4.15.2 PyPI version JSON
download
home_pagehttps://github.com/pyapp-org/pyapp
SummaryA Python application framework - Let us handle the boring stuff!
upload_time2024-03-12 23:03:57
maintainer
docs_urlNone
authorTim Savage
requires_python>=3.8,<4.0
licenseBSD-3-Clause
keywords framework application
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage
            ######################################
pyApp - A python application framework
######################################

*Let us handle the boring stuff!*

+---------+------------------------------------------------------------------------------------------------------------+
| Docs    | .. image:: https://readthedocs.org/projects/pyapp/badge/?version=latest                                    |
|         |    :target: https://docs.pyapp.info/                                                                       |
|         |    :alt: ReadTheDocs                                                                                       |
+---------+------------------------------------------------------------------------------------------------------------+
| Build   | .. image:: https://api.dependabot.com/badges/status?host=github&repo=pyapp-org/pyapp                       |
|         |    :target: https://dependabot.com                                                                         |
|         |    :alt: Dependabot Status                                                                                 |
+---------+------------------------------------------------------------------------------------------------------------+
| Quality | .. image:: https://sonarcloud.io/api/project_badges/measure?project=pyapp-org_pyapp&metric=sqale_rating    |
|         |    :target: https://sonarcloud.io/dashboard?id=pyapp-org_pyapp                                             |
|         |    :alt: Maintainability                                                                                   |
|         | .. image:: https://sonarcloud.io/api/project_badges/measure?project=pyapp-org_pyapp&metric=security_rating |
|         |    :target: https://sonarcloud.io/project/security_hotspots                                                |
|         |    :alt: Security                                                                                          |
|         | .. image:: https://sonarcloud.io/api/project_badges/measure?project=pyapp-org_pyapp&metric=coverage        |
|         |    :target: https://sonarcloud.io/code?id=pyapp-org_pyapp                                                  |
|         |    :alt: Test Coverage                                                                                     |
|         | .. image:: https://img.shields.io/badge/code%20style-black-000000.svg                                      |
|         |    :target: https://github.com/ambv/black                                                                  |
|         |    :alt: Once you go Black...                                                                              |
+---------+------------------------------------------------------------------------------------------------------------+
| Package | .. image:: https://img.shields.io/pypi/v/pyapp                                                             |
|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |
|         |    :alt: Latest Version                                                                                    |
|         | .. image:: https://img.shields.io/pypi/pyversions/pyapp                                                    |
|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |
|         | .. image:: https://img.shields.io/pypi/l/pyapp                                                             |
|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |
|         | .. image:: https://img.shields.io/pypi/wheel/pyapp                                                         |
|         |    :alt: PyPI - Wheel                                                                                      |
|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |
+---------+------------------------------------------------------------------------------------------------------------+

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

So what does pyApp 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
==========

- 🔌 SQLAlchemy - `pyapp.sqlalchemy`_
- 🔌 Redis - `pyapp.redis`_

In Beta
-------

- 🐛 Rollbar - `pyapp.rollbar`_

- 📧 AIO SMTPlib - `pyapp.aiosmtplib`_ Extension for aiosmtplib

- ☁ Boto3 - `pyapp.boto3`_

- ☁ AIOBotocore - `pyapp.aiobotocore`_

- 📨 Messaging - `pyapp.messaging`_ - Extension to provide abstract interfaces for Message Queues.

  - 📨 AWS Messaging - `pyapp.messaging-aws`_ - Messaging extension for AWS (SQS/SNS)

In development
--------------

- 📧 SMTP - `pyapp.SMTP`_

- 📨 Aio-Pika - `pyapp.aiopika`_ - Messaging extension for pika (RabbitMQ/AMQP)

- 🔌 PySpark - `pyapp.pyspark`_ - Extension for PySpark

- 🔎 Elastic Search - `pyapp.elasticsearch`_ - Extension for Elasticsearch

Coming soon
-----------

- 📨 AMQP Messaging - Messaging extension for AMQP (RabbitMQ)


.. _pyapp.sqlalchemy: https://www.github.com/pyapp-org/pyapp.sqlalchemy
.. _pyapp.redis: https://www.github.com/pyapp-org/pyapp.redis
.. _pyapp.aiobotocore: https://www.github.com/pyapp-org/pyapp.aiobotocore
.. _pyapp.SMTP: https://www.github.com/pyapp-org/pyapp.SMTP
.. _pyapp.boto3: https://www.github.com/pyapp-org/pyapp.boto3
.. _pyapp.rollbar: https://www.github.com/pyapp-org/pyapp.rollbar
.. _pyapp.aiosmtplib: https://www.github.com/pyapp-org/pyapp.aiosmtplib
.. _pyapp.messaging: https://www.github.com/pyapp-org/pyapp-messaging
.. _pyapp.messaging-aws: https://www.github.com/pyapp-org/pyapp-messaging-aws
.. _pyapp.aiopika: https://www.github.com/pyapp-org/pyapp.aiopika
.. _pyapp.pyspark: https://www.github.com/pyapp-org/pyapp.pyspark
.. _pyapp.elasticsearch: https://www.github.com/pyapp-org/pyapp.elasticsearch


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.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pyapp-org/pyapp",
    "name": "pyapp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "framework,application",
    "author": "Tim Savage",
    "author_email": "tim@savage.company",
    "download_url": "https://files.pythonhosted.org/packages/61/8f/7a5dccf36e987943aaf7c32e000b18131f894c7fbd03ac30bc9cd3b6f350/pyapp-4.15.2.tar.gz",
    "platform": null,
    "description": "######################################\npyApp - A python application framework\n######################################\n\n*Let us handle the boring stuff!*\n\n+---------+------------------------------------------------------------------------------------------------------------+\n| Docs    | .. image:: https://readthedocs.org/projects/pyapp/badge/?version=latest                                    |\n|         |    :target: https://docs.pyapp.info/                                                                       |\n|         |    :alt: ReadTheDocs                                                                                       |\n+---------+------------------------------------------------------------------------------------------------------------+\n| Build   | .. image:: https://api.dependabot.com/badges/status?host=github&repo=pyapp-org/pyapp                       |\n|         |    :target: https://dependabot.com                                                                         |\n|         |    :alt: Dependabot Status                                                                                 |\n+---------+------------------------------------------------------------------------------------------------------------+\n| Quality | .. image:: https://sonarcloud.io/api/project_badges/measure?project=pyapp-org_pyapp&metric=sqale_rating    |\n|         |    :target: https://sonarcloud.io/dashboard?id=pyapp-org_pyapp                                             |\n|         |    :alt: Maintainability                                                                                   |\n|         | .. image:: https://sonarcloud.io/api/project_badges/measure?project=pyapp-org_pyapp&metric=security_rating |\n|         |    :target: https://sonarcloud.io/project/security_hotspots                                                |\n|         |    :alt: Security                                                                                          |\n|         | .. image:: https://sonarcloud.io/api/project_badges/measure?project=pyapp-org_pyapp&metric=coverage        |\n|         |    :target: https://sonarcloud.io/code?id=pyapp-org_pyapp                                                  |\n|         |    :alt: Test Coverage                                                                                     |\n|         | .. image:: https://img.shields.io/badge/code%20style-black-000000.svg                                      |\n|         |    :target: https://github.com/ambv/black                                                                  |\n|         |    :alt: Once you go Black...                                                                              |\n+---------+------------------------------------------------------------------------------------------------------------+\n| Package | .. image:: https://img.shields.io/pypi/v/pyapp                                                             |\n|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |\n|         |    :alt: Latest Version                                                                                    |\n|         | .. image:: https://img.shields.io/pypi/pyversions/pyapp                                                    |\n|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |\n|         | .. image:: https://img.shields.io/pypi/l/pyapp                                                             |\n|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |\n|         | .. image:: https://img.shields.io/pypi/wheel/pyapp                                                         |\n|         |    :alt: PyPI - Wheel                                                                                      |\n|         |    :target: https://pypi.io/pypi/pyapp/                                                                    |\n+---------+------------------------------------------------------------------------------------------------------------+\n\npyApp takes care of the boring boilerplate code for building a CLI, managing\nsettings and much more so you can focus on your application logic.\n\nSo what does pyApp handle?\n==========================\n\n- **Configuration** - Loading, merging your settings from different sources\n\n  + Python modules\n  + File and HTTP(S) endpoints for JSON and YAML files.\n\n- **Instance Factories** - Configuration of plugins, database connections, or just\n  implementations of an ``ABC``.\n  Leveraging settings to make setup of your application easy and reduce coupling.\n\n- **Dependency Injection** - Easy to use dependency injection without complicated setup.\n\n- **Checks** - A framework for checking settings are correct and environment is\n  operating correctly (your ops team will love you)?\n\n- **Extensions** - Extend the basic framework with extensions. Provides deterministic\n  startup, extension of the CLI and the ability to register checks and extension\n  specific default settings.\n\n- **Application** - Provides a extensible and simple CLI interface for running\n  commands (including async), comes with built-in commands to execute check, setting\n  and extension reports.\n\n- **Logging** - Initialise and apply sane logging defaults.\n\n- Highly tested and ready for production use.\n\n\nExtensions\n==========\n\n- \ud83d\udd0c SQLAlchemy - `pyapp.sqlalchemy`_\n- \ud83d\udd0c Redis - `pyapp.redis`_\n\nIn Beta\n-------\n\n- \ud83d\udc1b Rollbar - `pyapp.rollbar`_\n\n- \ud83d\udce7 AIO SMTPlib - `pyapp.aiosmtplib`_ Extension for aiosmtplib\n\n- \u2601 Boto3 - `pyapp.boto3`_\n\n- \u2601 AIOBotocore - `pyapp.aiobotocore`_\n\n- \ud83d\udce8 Messaging - `pyapp.messaging`_ - Extension to provide abstract interfaces for Message Queues.\n\n  - \ud83d\udce8 AWS Messaging - `pyapp.messaging-aws`_ - Messaging extension for AWS (SQS/SNS)\n\nIn development\n--------------\n\n- \ud83d\udce7 SMTP - `pyapp.SMTP`_\n\n- \ud83d\udce8 Aio-Pika - `pyapp.aiopika`_ - Messaging extension for pika (RabbitMQ/AMQP)\n\n- \ud83d\udd0c PySpark - `pyapp.pyspark`_ - Extension for PySpark\n\n- \ud83d\udd0e Elastic Search - `pyapp.elasticsearch`_ - Extension for Elasticsearch\n\nComing soon\n-----------\n\n- \ud83d\udce8 AMQP Messaging - Messaging extension for AMQP (RabbitMQ)\n\n\n.. _pyapp.sqlalchemy: https://www.github.com/pyapp-org/pyapp.sqlalchemy\n.. _pyapp.redis: https://www.github.com/pyapp-org/pyapp.redis\n.. _pyapp.aiobotocore: https://www.github.com/pyapp-org/pyapp.aiobotocore\n.. _pyapp.SMTP: https://www.github.com/pyapp-org/pyapp.SMTP\n.. _pyapp.boto3: https://www.github.com/pyapp-org/pyapp.boto3\n.. _pyapp.rollbar: https://www.github.com/pyapp-org/pyapp.rollbar\n.. _pyapp.aiosmtplib: https://www.github.com/pyapp-org/pyapp.aiosmtplib\n.. _pyapp.messaging: https://www.github.com/pyapp-org/pyapp-messaging\n.. _pyapp.messaging-aws: https://www.github.com/pyapp-org/pyapp-messaging-aws\n.. _pyapp.aiopika: https://www.github.com/pyapp-org/pyapp.aiopika\n.. _pyapp.pyspark: https://www.github.com/pyapp-org/pyapp.pyspark\n.. _pyapp.elasticsearch: https://www.github.com/pyapp-org/pyapp.elasticsearch\n\n\nContributions\n=============\n\nContributions are most welcome, be it in the form of a extension and factories\nfor your favourite service client of bug reports, feature enhancements.\n\nThe core of pyApp is intended to remain simple and only provide required features\nwith extensions providing optional more specific functionality.\n\n\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "A Python application framework - Let us handle the boring stuff!",
    "version": "4.15.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/pyapp-org/pyapp/issues",
        "Documentation": "https://docs.pyapp.info",
        "Homepage": "https://github.com/pyapp-org/pyapp",
        "Repository": "https://github.com/pyapp-org/pyapp"
    },
    "split_keywords": [
        "framework",
        "application"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f436c2022794e6b36f9afb3793bed3689dbfa90c770782f2633547c234ba6c55",
                "md5": "ed6b78f8d227f44a0ca2f1b497c8fb2e",
                "sha256": "f755788f1a563251fe65610ca2585871ff4a3bb28cb750a2f2e495a5dc67f954"
            },
            "downloads": -1,
            "filename": "pyapp-4.15.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ed6b78f8d227f44a0ca2f1b497c8fb2e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 73770,
            "upload_time": "2024-03-12T23:03:55",
            "upload_time_iso_8601": "2024-03-12T23:03:55.637563Z",
            "url": "https://files.pythonhosted.org/packages/f4/36/c2022794e6b36f9afb3793bed3689dbfa90c770782f2633547c234ba6c55/pyapp-4.15.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "618f7a5dccf36e987943aaf7c32e000b18131f894c7fbd03ac30bc9cd3b6f350",
                "md5": "93c134c9b032b7fd0bb989c10062b896",
                "sha256": "ef2a051c7c921b06f17ca5a3eb26e692ef47ee966ee961069e3b44faacbc1a86"
            },
            "downloads": -1,
            "filename": "pyapp-4.15.2.tar.gz",
            "has_sig": false,
            "md5_digest": "93c134c9b032b7fd0bb989c10062b896",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 82172,
            "upload_time": "2024-03-12T23:03:57",
            "upload_time_iso_8601": "2024-03-12T23:03:57.764236Z",
            "url": "https://files.pythonhosted.org/packages/61/8f/7a5dccf36e987943aaf7c32e000b18131f894c7fbd03ac30bc9cd3b6f350/pyapp-4.15.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-12 23:03:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pyapp-org",
    "github_project": "pyapp",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": true,
    "lcname": "pyapp"
}
        
Elapsed time: 0.20761s