Metadata-Version: 2.1
Name: config-patterns
Version: 1.0.3
Summary: Brings config management best practices for production-ready application.
Home-page: https://github.com/MacHu-GWU/config_patterns-project
Download-URL: https://pypi.python.org/pypi/config_patterns/1.0.3#downloads
Author: Sanhe Hu
Author-email: husanhe@gmail.com
Maintainer: Unknown
License: MIT
Platform: Windows
Platform: MacOS
Platform: Unix
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
License-File: LICENSE.txt
License-File: AUTHORS.rst
Requires-Dist: typing-extensions
Requires-Dist: cached-property >=1.5.2 ; python_version < "3.8"
Provides-Extra: aws
Requires-Dist: boto3 ; extra == 'aws'
Requires-Dist: boto-session-manager <2.0.0,>=1.3.1 ; extra == 'aws'
Requires-Dist: s3pathlib <3.0.0,>=2.0.1 ; extra == 'aws'
Requires-Dist: pysecret <3.0.0,>=2.2.3 ; extra == 'aws'
Requires-Dist: aws-console-url <2.0.0,>=1.3.2 ; extra == 'aws'
Provides-Extra: dev
Requires-Dist: pathlib-mate ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: wheel ; extra == 'dev'
Requires-Dist: boto3 ; extra == 'dev'
Requires-Dist: boto-session-manager >=1.3.1 ; extra == 'dev'
Requires-Dist: pysecret >=1.0.3 ; extra == 'dev'
Requires-Dist: aws-console-url >=0.5.1 ; extra == 'dev'
Requires-Dist: jupyterlab ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx ==4.3.0 ; extra == 'doc'
Requires-Dist: sphinx-inline-tabs ==2021.8.17b10 ; extra == 'doc'
Requires-Dist: sphinx-jinja ==1.1.1 ; extra == 'doc'
Requires-Dist: sphinx-copybutton ==0.4.0 ; extra == 'doc'
Requires-Dist: rstobj ==0.0.7 ; extra == 'doc'
Requires-Dist: docfly ==1.0.2 ; extra == 'doc'
Requires-Dist: furo ==2021.8.31 ; extra == 'doc'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: moto ; extra == 'test'


.. .. image:: https://readthedocs.org/projects/config_patterns/badge/?version=latest
    :target: https://config_patterns.readthedocs.io/index.html
    :alt: Documentation Status

.. image:: https://github.com/MacHu-GWU/config_patterns-project/workflows/CI/badge.svg
    :target: https://github.com/MacHu-GWU/config_patterns-project/actions?query=workflow:CI

.. image:: https://codecov.io/gh/MacHu-GWU/config_patterns-project/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/MacHu-GWU/config_patterns-project

.. image:: https://img.shields.io/pypi/v/config_patterns.svg
    :target: https://pypi.python.org/pypi/config_patterns

.. image:: https://img.shields.io/pypi/l/config_patterns.svg
    :target: https://pypi.python.org/pypi/config_patterns

.. image:: https://img.shields.io/pypi/pyversions/config_patterns.svg
    :target: https://pypi.python.org/pypi/config_patterns

.. image:: https://img.shields.io/pypi/dm/config_patterns.svg
    :target: https://pypi.python.org/pypi/config_patterns

.. image:: https://img.shields.io/badge/release_history!--None.svg?style=social
    :target: https://github.com/MacHu-GWU/config_patterns-project/blob/main/release-history.rst

.. image:: https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social
    :target: https://github.com/MacHu-GWU/config_patterns-project

------

.. .. image:: https://img.shields.io/badge/Link-Document-blue.svg
    :target: https://config_patterns.readthedocs.io/index.html

.. .. image:: https://img.shields.io/badge/Link-API-blue.svg
    :target: https://config_patterns.readthedocs.io/py-modindex.html

.. .. image:: https://img.shields.io/badge/Link-Source_Code-blue.svg
    :target: https://config_patterns.readthedocs.io/py-modindex.html

.. image:: https://img.shields.io/badge/Link-Install-blue.svg
    :target: `install`_

.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg
    :target: https://github.com/MacHu-GWU/config_patterns-project

.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg
    :target: https://github.com/MacHu-GWU/config_patterns-project/issues

.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg
    :target: https://github.com/MacHu-GWU/config_patterns-project/issues

.. image:: https://img.shields.io/badge/Link-Download-blue.svg
    :target: https://pypi.org/pypi/config_patterns#files


Welcome to ``config_patterns`` Documentation
==============================================================================
``config_patterns`` is a Python library that brings config management best practices for production-ready application.

1. `Hierarchy Json Pattern for Config Management <https://github.com/MacHu-GWU/config_patterns-project/blob/main/example/separate_and_merge_non_sesitive_and_sensitive_data_example.ipynb>`_: allows you to define a hierarchy structure of your config data model, and inherit global config values if a specific config value is not defined.
2. `Separate and Merge Non-Sensitive Data and Secret Data <https://github.com/MacHu-GWU/config_patterns-project/blob/main/example/hierarchy_json_example.ipynb>`_: allows you to manage non-sensitive config data and sensitive config data separately and merge them together.
3. `Multi Environment Json <https://github.com/MacHu-GWU/config_patterns-project/blob/main/example/multi_env_json/multi_environment_config.ipynb>`_: allows you to manage configs for multi-environment deployment application.
4. `Multi Environment Config Management - SSM Backend <https://github.com/MacHu-GWU/config_patterns-project/blob/main/example/multi_env_json/multi_environment_config_with_ssm_backend.ipynb>`_: a production ready solution using AWS Parameter Store as the backend for multi-environment config management.
5. `Multi Environment Config Management - S3 Backend <https://github.com/MacHu-GWU/config_patterns-project/blob/main/example/multi_env_json/multi_environment_config_with_s3_backend.ipynb>`_: a production ready solution using AWS S3 as the backend for multi-environment config management.

.. _install:

Install
------------------------------------------------------------------------------

``config_patterns`` is released on PyPI, so all you need is:

.. code-block:: console

    $ pip install config_patterns

To upgrade to latest version:

.. code-block:: console

    $ pip install --upgrade config_patterns
