confyaml
Python package to deal with configuration files in YAML
Usage
from confyaml import Config
# Assumes you have a file called config.yaml
config = Config()
# But you can also pass the path of other yaml file
other_config = Config("other_config.yaml")
# Parameters can be accessed in three different ways:
print(config.a)
print(config["a"])
print(config.get("a"))
# If the parameter does not exist, AttributeError will be raised
# Parameters can be set in three different ways:
config.a = "b"
config.set("a", "c")
config["a"] = "e"
# You can save your changes to the yaml file
# If you pass an extra argument, it will save the yaml file on that path
config.save("new_config.yaml")
Tests
Unittests available on the "test" folder. You can run them using this:
python -m unittest tests.test1.GetSetSaveTest
python -m unittest tests.test1.SanityTest
References
This Stack Overflow answer helped me to figure out how to transform the YAML file into a object accessible with dot (.) operator
This blog post helped me on merging the yaml file with the Config object