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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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