A Python library that makes configuring your application independent from your configuration backend.
Project description
A Python library that makes configuring your application independent from your configuration backend.
Documentation
Read the complete documentation on Read the Docs.
Why omniconf?
Configuring applications is hard, and it doesn’t help that there are many different (and valid) ways to do it:
cli arguments
config files: ConfigObj (.ini like), JSON, YAML
environment variables
key/value stores: etcd, consul, vault
Each of this methods are a valid way to configure an application, and each have their own strengths. Cli arguments are most suited for tools and daemons. Configuration files are suited for applications that have more complex requirements. Environment variables and key/value stores are handy when using containers. You may even want to use a combination of methods (not yet implemented).
This library aims to make configuring the application easier, and allows you to use multiple configuration backends transparently.
For up-to-date examples, take a look here.
Changes
For an up-to-date changelog, see ChangeLog.
Support for Python 3.3 was dropped in version 1.3.0 . Support for Python 3.8 was added in version 1.3.1 .
License
omniconf is licensed under LGPLv3. See the LICENSE file for details.
Contributing
To contribute, base your changes on the develop branch. Make sure your contribution doesn’t break any existing tests, and add relevant new tests.
You can run the test suite using tox, which by default will run tests for all supported Python versions. You probably want to run just a few of them at a time, use the -e switch for that:
$ tox -e py27
$ tox -e py34
To check for style issues, run flake8:
$ tox -e flake8
When you’re done, open a pull request on Github.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file omniconf-1.3.1.tar.gz
.
File metadata
- Download URL: omniconf-1.3.1.tar.gz
- Upload date:
- Size: 39.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebe065b9d8213cee46aba8d2db6a61b0eac3d3ddee52a1b8021ac73837cdee4a |
|
MD5 | e47c50eede0fc1bfec6cfaa759b90b65 |
|
BLAKE2b-256 | 23e26ff590976a009f6a0a2b527ab3528d24cfb29f8f72dd70b1d369c1da7514 |
File details
Details for the file omniconf-1.3.1-py2.py3-none-any.whl
.
File metadata
- Download URL: omniconf-1.3.1-py2.py3-none-any.whl
- Upload date:
- Size: 47.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78a1f0d9d758f498f4ffd67661209c1f4633b10d6ce747adb947b44ed676a2a8 |
|
MD5 | 7c5519f9bf75fe0b11ac4b3f6f4b5307 |
|
BLAKE2b-256 | 3657b6a1cf48a5fd9354993763739fc7441d821120ef9c6e84b28de038c6a78c |