yaucl
...so I decided to create yet another user config library.
yaucl aims to provide easy-to-use and trivial to implement configuration for your user-installed applications (such as CLIs, GUIs, TUIs, etc.).
If you need a complicated configuration handling, this might not be the correct library for you.
Installation
$ uv add yaucl
Or pip, pipenv, poetry, whatever you prefer.
Why yaucl
- Dataclass-first design
- Full type hint support
- Opinionated defaults
- No runtime template definitions needed
- TOML
Alternatives
- Generic: pydantic-settings
- User config: confuse
- Deployed apps: dynaconf
See the Library Comparison page for a detailed comparison between yaucl and these alternatives.
The workflow
- Define dataclasses with your default configuration
- Make sure those dataclasses inherit yaucl base classes
- Init the config and then do whatever you want (singleton, passing in arguments...)
Supported configuration methods
At the moment, yaucl supports TOML and Environmental Variables as sources for the configuration. While this is extensible (both in yaucl and DIY), the defaults will probably not change.
Out of the box, you set the defaults; then a config file can overwrite that, and finally, environmental variables have the last say.
Metadata
Release files for yaucl 0.2.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 | |
|---|---|---|---|
| yaucl-0.2.0.tar.gz | 57.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| yaucl-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 66.2 kB
Release files / yaucl-0.2.0.tar.gz
| Download URL | yaucl-0.2.0.tar.gz |
|---|---|
| Size | 57.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09872bd16c3a588bae89eb50f1819b455b9b53d51ae9b010ce4250f6a7ee6647
|
|
BLAKE2b-256 checksum How to use checksums |
fc04ce4d1a97cab0ed8cafbc47686cc6b351ffe55e40fdb1744ea054e78c9574
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 5, 2025.
Transparency logRelease files / yaucl-0.2.0-py3-none-any.whl
| Download URL | yaucl-0.2.0-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
02fecc34ae941f894cd6076e25e8bbfe4d73d260d93a950f02a02c0acdc6df58
|
|
BLAKE2b-256 checksum How to use checksums |
ba33dad351e1365c6e44c92cba98237a17fe11d50808ff913a8b5561cb1fcc8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 5, 2025.
Transparency log