Skip to main content

yet another user config library...

Project description

yaucl

PyPI - Version PyPI - License PyPI - Downloads GitHub Repo stars Documentation

...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

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.

Project details


Download files

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

Source Distribution

yaucl-0.1.0.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yaucl-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file yaucl-0.1.0.tar.gz.

File metadata

  • Download URL: yaucl-0.1.0.tar.gz
  • Upload date:
  • Size: 53.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yaucl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7624e69bc32bea09468da6009e7be6c6184cad10204d1376105cba30ff8f1a57
MD5 3e0d28d3433dfecfca59540fd6938707
BLAKE2b-256 64fbbcd942af3a9e0c83264d8ca235c09fa978789ae4c17e9b213a423e04d8d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaucl-0.1.0.tar.gz:

Publisher: python-publish.yml on djetelina/yaucl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yaucl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: yaucl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for yaucl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6f47fae07221ffb59ad7dfc2b6319f884eb553a929152d06c2af3b9f203b3c3
MD5 666461f9aa3d692a56f0efd385ad430a
BLAKE2b-256 8499cbf3b2bb1360348f4dbe37d46ab8cdb36735eb728ca2482938490740b804

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaucl-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on djetelina/yaucl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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