omniconf
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 can be 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
Each of these methods are a valid way to configure an application, and each have their own strengths. This library aims to make configuring the application easier, and allows you to use multiple configuration backends transparently.
To get started, take a look here.
Changes
For an up-to-date changelog, see ChangeLog.
See the docs for supported Python versions.
License
omniconf is licensed under LGPLv3. See the LICENSE file for details.
Contributing
To contribute, base your changes on the develop branch. Use init.sh to install the required Python version using pyenv and uv to manage a virtualenv. Activate the virtualenv using source .venv/bin/activate.
After the initial setup, use init.sh at any time to bring your environment up-to-date with the latest requirements.
$ ./init.sh
Installing Python version 3.x.x using pyenv
- Install dependencies using uv
Using CPython 3.x.x interpreter at: /home/user/.pyenv/versions/3.x.x/bin/python3.x
Creating virtual environment at: .venv
...
- Installing pre-commit hook
pre-commit installed at .git/hooks/pre-commit
$ source .venv/bin/activate
# Start developing
Make sure your contribution doesn’t break any existing tests, and add relevant new tests. You can run the test suite using just:
$ just pytest # run full test suite
$ just mypy # check typing with both mypy and basedpyright
To check for style issues, just run the test suite, ruff is automatically called for linting and formatting checks, and mypy for typing.
When you’re done, open a merge request.
Metadata
Release files for omniconf 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| omniconf-2.0.0.tar.gz | 154.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| omniconf-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 188.9 kB
Release files / omniconf-2.0.0.tar.gz
| Download URL | omniconf-2.0.0.tar.gz |
|---|---|
| Size | 154.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
78c881c1920a424c92a71768f829a510d3044eb1711cfa319d1fae6940511c4b
|
|
BLAKE2b-256 checksum How to use checksums |
a88441797a94ea71261c7d16b8f3d973edd1f544d89ff9ab45e031f68b1c44cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / omniconf-2.0.0-py3-none-any.whl
| Download URL | omniconf-2.0.0-py3-none-any.whl |
|---|---|
| Size | 34.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2412ecd898fa67d25751deed97b8c6baad06145f4a8edef6d00fe6c9b4fa0d11
|
|
BLAKE2b-256 checksum How to use checksums |
c44d62cbd4e733e635003d71caaec8a66f2d8e352509227d6ccda1977843645a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for omniconf 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.