read configuration files, conf.d style
Project description
read configuration files, conf.d style
Requirements
Python 2.6+ or Python 3.4+
Installation
Using PIP:
From Github:
pip install git+git://github.com/josegonzalez/conf_d.git#egg=conf_d
From PyPI:
pip install conf_d==0.1.0
Usage
usage:
# in your /etc/derp/conf file
[derp]
no: sleep
til: brooklyn
[herp]
sleep: 1
wait: 5.0
timeout: seventy
# From your fictional derp module
from conf_d import Configuration
def digitize(config):
for key in config:
if not config[key].isdigit():
try:
config[key] = float(config[key])
except ValueError:
pass
else:
try:
config[key] = int(config[key])
except ValueError:
pass
return config
# All defaults must be strings
conf = Configuration(
name="derp",
path="/etc/derp/conf",
main_defaults={
"no": "one",
"expected": "the spanish inquisition",
"cats": "1",
},
section_parser=digitize
)
what_not_to_do = conf.get(section='derp', key='no', default="jumping")
# "sleep"
until_when = conf.get(section='derp', key='til')
# "brooklyn"
cats = conf.get(section='derp', key='cats')
# "1"
dogs = conf.get(section='derp', key='dogs')
# None
sleep = conf.get(section='herp', key='sleep')
# 1
wait = conf.get(section='herp', key='wait')
# 5.0
timeout = conf.get(section='herp', key='timeout')
# "seventy"
section_exists = conf.has(section='derp')
# True
section_exists = conf.has(section='derp', key='no')
# True
raw_data = conf.raw()
# {
# 'sections': {
# 'herp': {
# 'sleep': 1,
# 'wait': 5.0,
# 'timeout': 'seventy'
# }
# },
# 'derp': {
# 'expected': 'the spanish inquisition',
# 'til': 'brooklyn',
# 'cats': '1',
# 'no': 'sleep'
# }
# }
Changelog
0.1.0 (2018-12-12)
Feat: add release script. [Jose Diaz-Gonzalez]
Add support for Python 3 (up to Python 3.7) [Xavier Hardy]
Add tox.ini file Add gitignore
0.0.4 (2013-12-13)
Change assertDictEquals to assertEquals. [Clay Pence]
Allow using custom config parser. [Clay Pence]
Instead of using ConfigParser.ConfigParser, let the user pass in a parser.
0.0.3 (2013-05-23)
Allow overriding the confd_path from an entry in the main config. [Jose Diaz-Gonzalez]
0.0.2 (2013-04-18)
Fix issue where main section was not always created. [Jose Diaz- Gonzalez]
0.0.1 (2013-04-14)
Initial commit. [Jose Diaz-Gonzalez]
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file conf_d-0.1.0.tar.gz.
File metadata
- Download URL: conf_d-0.1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/2.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6230053efae4631350ef7892e6145d7d967bdb7e6e8ca74251a828ecbc5645c6
|
|
| MD5 |
53248fda747faf589d6936791988847a
|
|
| BLAKE2b-256 |
78b8f096e604ae7d2e1116891d83bda96de3f9e68003c5a443216011d8c32038
|
File details
Details for the file conf_d-0.1.0-py2-none-any.whl.
File metadata
- Download URL: conf_d-0.1.0-py2-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/2.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe44e8b00b1acca59956949e2fbd83629550e6fbfb55b70106ba07b1451751b7
|
|
| MD5 |
8caab3218422c0dfa97f71f39d12d08e
|
|
| BLAKE2b-256 |
9908bbe0de699a79fb1a10c108556cf9b936cb8673e15949ea6ba6fc45069786
|