A configuration library.
Project description
profig is a straightforward configuration library for Python.
Motivation
Why another configuration library? The simple answer is that none of the available options give me everything I want, with an API that I enjoy using. This library provides a lot of powerful functionality, but never at the cost of simplicity.
Features
Automatic value conversion.
Section nesting.
Dict-like access.
Single-file module with no dependencies.
Extensible input/output formats.
Built-in support for INI files and the Windows registry.
Preserves ordering and comments of INI files.
Full Unicode support.
Supports Python 2.7+ and 3.2+.
Installation
profig installs using easy_install or pip:
$ pip install profig
Example
Basic usage is cake. Let’s assume our config file looks like this:
[server] host = 192.168.1.1 port = 9090
First, we specify the defaults and types to expect:
>>> cfg = profig.Config('server.cfg') >>> cfg.init('server.host', 'localhost') >>> cfg.init('server.port', 8080)
Then, we sync our current state with the state of the config file:
>>> cfg.sync()
As expected, we can access the updated values without undue effort, either directly:
>>> cfg['server.host'] '192.168.1.1'
Or by section. Notice that the type of the port option is preserved:
>>> server_cfg = cfg.section('server') >>> server_cfg['port'] 9090
Resources
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
File details
Details for the file profig-0.5.1.tar.gz
.
File metadata
- Download URL: profig-0.5.1.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb9c094325a93505fc6325d13f3e679b281093223f143a96a6df8ad9c2bfc9a6 |
|
MD5 | a9defe0685010cfefebd273020d8d900 |
|
BLAKE2b-256 | c581a14c49aee6202242fa95f8b3a9b1b12089ffcce939b2bdf36dd240e09bfc |