Programmatic configuration library for Python 3.
Project description
ConfigMaster
What is ConfigMaster?
What is supported
ConfigMaster supports the following formats built-in:
YAML Config Files (through the PyYAML module)
JSON Config Files (through json)
INI Config Files (through ConfigParser)
Networked versions of YAML/JSON files.
Support for different types of config files grows all the time - feel free to fork and add support!
TODO
[STRIKEOUT:Add in support for python ConfigParser formats] Added in version 1.4.0
[STRIKEOUT:Add in networked JSON support] Added in version 1.3.0
Add more docstrings
Make proper documentation
[STRIKEOUT:Add tests] Added in version 1.3.1
How to install
After installing, running the tests is recommended.
py.test -rfEsxXw -v --strict test.py
How to use
ConfigMaster handles everything for you. Simply specify the location of your file, and the values will be automatically loaded for you.
>>> from configmaster import YAMLConfigFile >>> cfg = YAMLConfigFile.YAMLConfigFile("test.yml") # Created automatically if it doesn't exist
Networked config files are supported too.
>>> from configmaster import JSONConfigFile >>> cfg = JSONConfigFile.NetworkedJSONConfigFile("http://example.com/data.json")
To access config values, get the attribute you want from the config object stored.
# YAML data is {"a": 1, "b": [1, 2], "c": {"d": 3}} >>> cfg.config.a 1 >>> cfg.config.b[1] 2 >>> cfg.config.c.d 3
To populate your config data, just pass a dict to initial_populate. If the file is empty, this gives it default values, and returns True. If it isn’t, nothing happens. Note: This will fail with an exc.NetworkedFileException on networked files!
>>> pop = cfg.initial_populate({"a": 1, "b": [1, 2], "c": {"d": 3}) >>> if pop: cfg.dump() and cfg.reload() # Dump data and reload from disk.
To save your data, run .dump().
>>> cfg.dump()
Have a networked file that you need to save? Use the method save_to_file.
>>> cfg.save_to_file("example.json")
Need to get the raw dict form of a ConfigKey? Use .dump() on that!
>>> cfg.config.dump() {"a": 1, "b": [1, 2], "c": {"d": 3} >>> cfg.config.c.dump() {"d": 3}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file ConfigMaster-2.3.6.tar.gz
.
File metadata
- Download URL: ConfigMaster-2.3.6.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89c151bc9fbfefe20883e70391fc5fb4a2ad63c339e9d9cc89af6bcb89fb98f0 |
|
MD5 | a5a2033d0b0bb0ccc381e9e593be1efd |
|
BLAKE2b-256 | 7eec13fab43645bacc027f864ecddac0a3b353442ffed9a87344132818084139 |
File details
Details for the file ConfigMaster-2.3.6-py3.5.egg
.
File metadata
- Download URL: ConfigMaster-2.3.6-py3.5.egg
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 527942c41250c66511e6818e112c8c7423d169dc1932b0ed4110ef3c58c3e3ee |
|
MD5 | 81ee16bda5c04b588a61d2c29e30ef10 |
|
BLAKE2b-256 | f7a544b2876a99d204d0c0cbc623c892ec1cfb3305f1935d82130020cc4322e2 |
File details
Details for the file ConfigMaster-2.3.6-py3.4.egg
.
File metadata
- Download URL: ConfigMaster-2.3.6-py3.4.egg
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf233e0a5beacc09b9ab58a7d11f68583eca0bd0c9a827c89d742e4f9117d9d8 |
|
MD5 | 2889a1decff3706ff88d2b270927f1fb |
|
BLAKE2b-256 | 3453f1effc4316dde332981eeafb658fb0e5aa2d3e55a21ba968732073096793 |
File details
Details for the file ConfigMaster-2.3.6-py3.3.egg
.
File metadata
- Download URL: ConfigMaster-2.3.6-py3.3.egg
- Upload date:
- Size: 25.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17aadb561e3d5a9c60d544677c646027c9496a55e1dd6bb9f9d0fb8cb7a27ad1 |
|
MD5 | 4bd8c5df2ee78806385f661ecc061990 |
|
BLAKE2b-256 | 7a2d202dbe206ef55acd175bea315b4f3d17b335be702a205802426977cf4c32 |
File details
Details for the file ConfigMaster-2.3.6-py3.2.egg
.
File metadata
- Download URL: ConfigMaster-2.3.6-py3.2.egg
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39660066f24acc5b0990abd6a12bd0f10d62f82fcc2bce63c728943882412d21 |
|
MD5 | 460eca0e1882a0c6d99e4682efe79596 |
|
BLAKE2b-256 | 8b686e191476493ee0854dca73ef2f57d4e005d5233b395d751603664fbc6247 |