Skip to main content

Another Config lib for python, basically load config/yaml/toml/... files and add some features like relative import and templating.

Project description

yaconfiglib

Another Configuration Parser library for python.

Goal was to not worry about the format and being able to load and merge multiple configs in different formats.

Currently implemented backends for toml, yaml as a starting point, really easy to add more.

Wanted the option to generate a config with jinja and then load the config from the generate template.

Wanted a function like hiera in puppet to reference values already declared in the document, and expanded it to support basic functions allowed in a single jinja {%do %} statement. While preserving the type of the produced value.

Wanted the ability to merge multiple configs into one with user configurable methods.

Wanted to load files from any arbitrary path that didnt need to be local filesystem path, but liked the api of pathlib.Path so ended up also writing another package: pathlib_next to extend pathlib to work with custom Path implementation like URI/SFTP/HTTP etc. WIP

Based on the following libraries

Heavily modified but based on the work of the following libraries. I was using them to load configs but had to modify them to fit my needs and ended up writing my own.

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

yaconfiglib-0.3.5.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

yaconfiglib-0.3.5-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file yaconfiglib-0.3.5.tar.gz.

File metadata

  • Download URL: yaconfiglib-0.3.5.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for yaconfiglib-0.3.5.tar.gz
Algorithm Hash digest
SHA256 0df43a20adf852b9087fa75d83ab21f2b357ff29d71bb2cff76f012beea4499d
MD5 bbd4ded4de00374718e8776de663c147
BLAKE2b-256 cfd05b797658bbdc5a3de56031ebdc784ccdcbfe409aed27ddd93c9e7a331d8f

See more details on using hashes here.

File details

Details for the file yaconfiglib-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: yaconfiglib-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for yaconfiglib-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 be023aa7d8ee53530025d4fbd88ae14f08f21fb786a78f2f445aa5bb33dd82ab
MD5 abce3ef23af683477bc8a0a98dff5ba7
BLAKE2b-256 57047199a07e7dd01c12f2ff0dfd8623ad13c40108eb5cdd47701e9e257cdeef

See more details on using hashes here.

Supported by

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