Metadata-Version: 2.1
Name: config_patterns
Version: 1.0.7
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.7#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.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.7
License-File: LICENSE.txt
License-File: AUTHORS.rst
Requires-Dist: cached-property>=1.5.2; python_version < "3.8"
Requires-Dist: typing-extensions
Requires-Dist: vislog<1.0.0,>=0.1.2
Provides-Extra: dev
Requires-Dist: pathlib_mate; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: boto3; extra == "dev"
Requires-Dist: boto_session_manager<2.0.0,>=1.3.1; extra == "dev"
Requires-Dist: pysecret<3.0.0,>=2.2.3; extra == "dev"
Requires-Dist: aws_console_url<2.0.0,>=1.3.2; extra == "dev"
Requires-Dist: jupyterlab; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: moto<5.0.0,>=4.2.14; extra == "test"
Provides-Extra: doc
Requires-Dist: Sphinx==5.3.0; extra == "doc"
Requires-Dist: sphinx-jinja==2.0.2; extra == "doc"
Requires-Dist: sphinx-copybutton==0.5.1; extra == "doc"
Requires-Dist: sphinx-design==0.5.0; extra == "doc"
Requires-Dist: furo==2023.03.27; extra == "doc"
Requires-Dist: nbsphinx==0.8.12; extra == "doc"
Requires-Dist: rstobj==1.2.1; extra == "doc"
Requires-Dist: pygments==2.15.1; extra == "doc"
Requires-Dist: ipython==8.10.0; extra == "doc"
Requires-Dist: docfly==2.0.3; extra == "doc"
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"


.. .. 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/actions/workflows/main.yml/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
==============================================================================
.. image:: https://github.com/MacHu-GWU/config_patterns-project/assets/6800411/0cfdeee0-6740-4522-b2e9-a17e51facba9

``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/separate_and_merge_non_sesitive_and_sensitive_data_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
