Skip to main content

A Python library that makes configuring your application independent from your configuration backend.

Project description

Travis build status Coveralls License PyPI version Supported Python versions Supported Python implementations

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, TOML

  • 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 . Support for Python 3.4 was dropped in version 1.4.0 . Support for Jython was dropped in version 1.4.0 .

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 py37

To check for style issues, run flake8:

$ tox -e flake8

When you’re done, open a pull request on Github.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omniconf-1.4.0.tar.gz (39.5 kB view details)

Uploaded Source

Built Distribution

omniconf-1.4.0-py2.py3-none-any.whl (50.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file omniconf-1.4.0.tar.gz.

File metadata

  • Download URL: omniconf-1.4.0.tar.gz
  • Upload date:
  • Size: 39.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for omniconf-1.4.0.tar.gz
Algorithm Hash digest
SHA256 5434c75f7afde0d23626e517bddc68825fe785b6b5d3b1db555671fe2aba2ec1
MD5 dba3ad0f4ffc95a407e7f913a1af447b
BLAKE2b-256 300682fce229dcfa23e86f945ab327262da5f8a23f19a2809b1d99cea6336521

See more details on using hashes here.

File details

Details for the file omniconf-1.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: omniconf-1.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 50.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for omniconf-1.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ccb032ea79abe6cc98043b8cab02e3499e9d6028bc32101f940acd5f453acf91
MD5 04b794fd0abe8901f03e6d39f456acdb
BLAKE2b-256 3c10838a7788b02fcb4815b800ded44328948d1904850833a169e2eabf7eb4de

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page