Python high level configuration library
Project description
Jump To:
About
pymlconf (Python YAML Configuration Library) helps to easily manage and access to your application configurations which was already Written in YAML language.
It can merge two or more configuration files according their names and automatically treat file-names as namespaces, or simply merge several parts of configuration(YAML-string or Python-dict) on arbitrary config node. for more informations see documentations.
Config file
# filename: config.yaml app: root_dir: %(here)s
Python code:
# filename: config.py from pymlconf import ConfigManager config_str=''' app: name: MyApp listen: sock1: addr: %(hostname)s port: %(port)s languages: - english - {language: persian, country: iran} logfile: /var/log/myapp.log ''' cfg = ConfigManager(init_value=config_str, context=dict(hostname='192.168.0.1', port=8080)) cfg.load_files('path/to/config.yaml') print cfg.app.name print cfg.app.listen.sock1.addr print cfg.app.languages[0] print cfg.app.languages[1].country print cfg.logfile # --------- Prints: # MyApp # 192.168.0.1 # english # iran # /var/log/myapp.log
Deferred(Proxied)
# module configuration.py from pymlconf import DeferredConfigManager settings = DeferredConfigManager() # another_module.py from configuration import settings def serve_request(): return settings.message # in application startup from configuration import settings settings.load( # the signature is the same as the `ConfigManager.__init__` )
Installation
Latest stable version:
$ pip install pymlconf # or $ easy_install pymlconf
Development version:
$ pip install git+git@github.com:pylover/pymlconf.git
>From source:
$ cd source_dir $ python setup.py install
Manually download it from pypi
Unit-Tests
Install nose and change current directory to project’s dir:
$ pip install nose $ cd path/to/pymlconf
Running tests:
$ nosetests
Or
$ python setup.py test
Syntax Reference
You can find the canonical syntax reference on PyYAML site
Documentation
[pythonhosted.org] (http://pythonhosted.org/pymlconf/)
[readthedocs.org] (http://pymlconf.readthedocs.org/en/latest/)
Change Log
[0.5.9] ci
[0.5.1] Encoding option for files
[0.4.0] Adding DeferredConfigManager
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 Distributions
Built Distribution
Hashes for pymlconf-0.5.13-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6a8d70dd9d8991b81a7867ff88c3732a6ddffb40def53e5ac85463b358d9831 |
|
MD5 | 684215c9a9c369f835b46e29cd30a02c |
|
BLAKE2b-256 | 174663b8b7e404df59a0aca418cb849291b41570d68cb18fb09abf5cdab29059 |