Metadata-Version: 2.1
Name: configflow
Version: 0.3.0
Summary: configflow - is the configuration management library for Python.
Home-page: https://configflow.readthedocs.io/en/latest
License: BSD-3-Clause
Keywords: configuration,config,setup,settings,environment,management,pydantic,python
Author: Volodymyr Pivoshenko
Author-email: volodymyr.pivoshenko@gmail.com
Maintainer: Volodymyr Pivoshenko
Maintainer-email: volodymyr.pivoshenko@gmail.com
Requires-Python: >=3.7,<3.10
Classifier: Development Status :: 1 - Planning
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: PyYAML (>=6.0.0,<7.0.0)
Requires-Dist: awesome-pattern-matching (>=0.24.2,<0.25.0)
Requires-Dist: pydantic (>=1.9.0,<2.0.0)
Requires-Dist: python-dotenv (>=0.19.2,<0.20.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: typing-extensions (>=4.1.1,<5.0.0)
Project-URL: Documentation, https://configflow.readthedocs.io/en/latest
Project-URL: Repository, https://github.com/volodymyrPivoshenko/configflow
Description-Content-Type: text/markdown

<!--suppress HtmlDeprecatedAttribute -->
<div align="center">
  <a href="https://pypi.org/project/configflow">
    <img alt="logo" src="https://github.com/volodymyrPivoshenko/configflow/blob/main/docs/_static/assets/logo.svg?raw=True" height=200>
  </a>
</div>

<p align="center">
  <a href="https://opensource.org/licenses/BSD-3-Clause">
    <img alt="license" src="https://img.shields.io/pypi/l/configflow?logo=opensourceinitiative">
  </a>
  <a href="https://pypi.org/project/configflow">
    <img alt="python" src="https://img.shields.io/pypi/pyversions/configflow?logo=python">
  </a>
  <a href="https://pypi.org/project/configflow">
    <img alt="pypi" src="https://img.shields.io/pypi/v/configflow?logo=pypi">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/releases">
    <img alt="release" src="https://img.shields.io/github/v/release/volodymyrPivoshenko/configflow?logo=github">
  </a>
  <a href="https://www.sphinx-doc.org/en/master">
    <img alt="sphinx" src="https://img.shields.io/badge/made_with-Sphinx-1f425f.svg?logo=readthedocs">
  </a>
  <a href="https://numpydoc.readthedocs.io/en/latest/format.html">
    <img alt="numpydoc" src="https://img.shields.io/badge/docstrings-numpy-1f425f.svg?logo=numpy">
  </a>
</p>

<p align="center">
  <a href="https://github.com/psf/black">
    <img alt="black" src="https://img.shields.io/badge/code_style-black-black.svg?logo=windowsterminal">
  </a>
  <a href="https://pycqa.github.io/isort/index.html">
    <img alt="isort" src="https://img.shields.io/badge/imports-isort-black.svg?logo=windowsterminal">
  </a>
  <a href="https://wemake-python-stylegui.de/en/latest/index.html">
    <img alt="wemake" src="https://img.shields.io/badge/style-wemake-black.svg?logo=windowsterminal">
  </a>
  <a href="https://mypy.readthedocs.io/en/stable/index.html">
    <img alt="mypy" src="https://img.shields.io/badge/mypy-checked-success.svg?logo=python">
  </a>
  <a href="https://github.com/pyupio/safety">
    <img alt="safety" src="https://img.shields.io/badge/safety-checked-success.svg?logo=windowsterminal">
  </a>
  <a href="https://github.com/semantic-release/semantic-release">
    <img alt="semantic_release" src="https://img.shields.io/badge/semantic_release-angular-e10079?logo=semantic-release">
  </a>
</p>

<p align="center">
  <a href="https://github.com/dependabot">
    <img alt="dependabot" src="https://img.shields.io/badge/dependabot-enable-success?logo=Dependabot">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/actions/workflows/integration.yaml">
    <img alt="integration" src="https://img.shields.io/github/workflow/status/volodymyrPivoshenko/configflow/Integration?label=integration&logo=github">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/actions/workflows/deployment.yaml">
    <img alt="deployment" src="https://img.shields.io/github/workflow/status/volodymyrPivoshenko/configflow/Deployment?label=deployment&logo=github">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/actions/workflows/codeql.yaml">
    <img alt="codeql" src="https://img.shields.io/github/workflow/status/volodymyrPivoshenko/configflow/CodeQL?label=codeQL&logo=github">
  </a>
  <a href="https://configflow.readthedocs.io/en/latest">
    <img alt="docs" src="https://img.shields.io/readthedocs/configflow?logo=readthedocs">
  </a>
  <a href="https://pypi.org/project/configflow">
    <img alt="wheel" src="https://img.shields.io/pypi/wheel/configflow?logo=pypi">
  </a>
</p>

<p align="center">
  <a href="https://codecov.io/gh/volodymyrPivoshenko/configflow">
    <img alt="coverage" src="https://img.shields.io/codecov/c/gh/volodymyrPivoshenko/configflow?logo=codecov&token=yyck08xfTN"/>
  </a>
  <a href="https://lgtm.com/projects/g/volodymyrPivoshenko/configflow/alerts/">
    <img alt="alerts" src="https://img.shields.io/lgtm/alerts/github/volodymyrPivoshenko/configflow?logo=lgtm"/>
  </a>
  <a href="https://lgtm.com/projects/g/volodymyrPivoshenko/configflow/context:python">
    <img alt="grade" src="https://img.shields.io/lgtm/grade/python/github/volodymyrPivoshenko/configflow?logo=lgtm"/>
  </a>
  <a href="https://codeclimate.com/github/volodymyrPivoshenko/configflow/maintainability">
    <img alt="codeclimate" src="https://img.shields.io/codeclimate/maintainability/volodymyrPivoshenko/configflow?logo=codeclimate">
  </a>
  <a href="https://pypi.org/project/configflow">
    <img alt="downloads" src="https://img.shields.io/pypi/dm/configflow?logo=pypi">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/">
    <img alt="stars" src="https://img.shields.io/github/stars/volodymyrPivoshenko/configflow?logo=github">
  </a>
</p>

<p align="center">
  <a href="https://github.com/volodymyrPivoshenko/configflow/issues">
    <img alt="issues" src="https://img.shields.io/github/issues/volodymyrPivoshenko/configflow?logo=github">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/issues">
    <img alt="issues" src="https://img.shields.io/github/issues-closed/volodymyrPivoshenko/configflow?logo=github">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/pulls">
    <img alt="pr" src="https://img.shields.io/github/issues-pr/volodymyrPivoshenko/configflow?logo=github">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/pulls">
    <img alt="pr" src="https://img.shields.io/github/issues-pr-closed/volodymyrPivoshenko/configflow?logo=github">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/graphs/contributors">
    <img alt="contributors" src="https://img.shields.io/github/contributors/volodymyrPivoshenko/configflow?logo=github">
  </a>
  <a href="https://github.com/volodymyrPivoshenko/configflow/commits/main">
    <img alt="commit" src="https://img.shields.io/github/last-commit/volodymyrPivoshenko/configflow?logo=github">
  </a>

</p>

<p align="center">
  <a href="https://www.buymeacoffee.com/volo.pivoshenko" target="_blank">
    <img alt="buymeacoffee" src="https://img.shields.io/badge/buy_me_-a_coffee-ff6964?logo=buymeacoffee">
  </a>
</p>

# Overview

`configflow` – is the configuration management package. It easily allows you to:

- Load your configuration from files, environment variables, command-line arguments and more
  sources.
- Transform the loaded data into the desired format and validate it
  via [`pydantic`](https://github.com/samuelcolvin/pydantic).
- Access the results
  as [`Python dataclass-like objects`](https://docs.python.org/3/library/dataclasses.html).
- Make your codebase very flexible.

# Installation

Installation is as simple as:

```shell
pip install -U configflow

poetry add configflow
```

### Optional dependencies

`configflow` has next optional dependencies:

- If you are using [`Vault by HashiCorp`](https://www.vaultproject.io/) as a config source you can
  add [`hvac`](https://pypi.org/project/hvac).

To install these along with `configflow`:

```bash

pip install -U "configflow[hvac]"

poetry add "configflow[hvac]"
```

Of course, you can also install these requirements manually with `pip install ... | poetry add ...`.

# Examples

# See Also

