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

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.

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.2.0.tar.gz (57.4 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.2.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for yaucl-0.2.0.tar.gz
Algorithm Hash digest
SHA256 09872bd16c3a588bae89eb50f1819b455b9b53d51ae9b010ce4250f6a7ee6647
MD5 4f69b8556359b82b503572cf4db33327
BLAKE2b-256 fc04ce4d1a97cab0ed8cafbc47686cc6b351ffe55e40fdb1744ea054e78c9574

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaucl-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: yaucl-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02fecc34ae941f894cd6076e25e8bbfe4d73d260d93a950f02a02c0acdc6df58
MD5 fefd59f2566aaa2ea95083963a4e3e74
BLAKE2b-256 ba33dad351e1365c6e44c92cba98237a17fe11d50808ff913a8b5561cb1fcc8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaucl-0.2.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