Confix
Quick links
About
Confix is a language-agnostic configuration parser for Python. It lets you define the default configuration of an app as a standard Python class, then overwrite its attributes from a static configuration file (be it YAML, JSON, INI or TOML) and / or via environment variables. In doing so it validates the overridden settings by:
making sure they are of the same type
(optional) marking them as mandatory (useful for passwords)
(optional) validating them via a callable
Example:
config file:
# config.yml
password: secret
python file:
# main.py
from confix import register, parse
@register()
class config:
username = 'ftp'
password = None
parse('config.yaml')
print(config.username)
print(config.password)
shell:
$ python main.py
ftp
secret
For more examples see docs.
Main features
supports YAML, JSON, INI and TOML serialization formats.
can be easily extended to support other formats.
support for Python 3
small code base
100% test coverage
allows you to define ‘schemas’ in order to validate fields and mark them as required:
# ftp.py from confix import register, schema @register() class config: port = schema(default=21, validator=lambda x: isinstance(x, int)) password = schema(required=True)
Status
Code is solid and fully tested (100% coverage). Its API may change (break) between major versions though.
Metadata
Release files for confix 0.2.2
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 | Actions |
|---|---|---|---|---|
| confix-0.2.2.tar.gz | 44.8 kB | Without provenance | Details for confix-0.2.2.tar.gz |
Release files / confix-0.2.2.tar.gz
| Download URL | confix-0.2.2.tar.gz |
|---|---|
| Size | 44.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e993af189ed64898c152c1444c129d1f4056d6e5cec3dbc9675574fc1da2c92e
|
|
BLAKE2b-256 checksum How to use checksums |
d540d972a8d9dc02ff4ac2cad4bbbd7936a2344a22aae0d820515c72e34c3e6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.0
|
Security for confix 0.2.2
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.