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.
- v1 of yamlinclude: https://github.com/tanbro/pyyaml-include
- hiyapyco for chain loading/merge template support: https://github.com/zerwes/hiyapyco
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0df43a20adf852b9087fa75d83ab21f2b357ff29d71bb2cff76f012beea4499d |
|
MD5 | bbd4ded4de00374718e8776de663c147 |
|
BLAKE2b-256 | cfd05b797658bbdc5a3de56031ebdc784ccdcbfe409aed27ddd93c9e7a331d8f |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | be023aa7d8ee53530025d4fbd88ae14f08f21fb786a78f2f445aa5bb33dd82ab |
|
MD5 | abce3ef23af683477bc8a0a98dff5ba7 |
|
BLAKE2b-256 | 57047199a07e7dd01c12f2ff0dfd8623ad13c40108eb5cdd47701e9e257cdeef |