A configuration library.
Project description
profig is a configuration library for Python.
Motivation
Why another configuration library? The simple answer is that none of the available options gave me everything I wanted, with an API that I enjoyed using. This library is as close to my ideal as I have been able to come. It tries to provide some (but not too much) powerful functionality, without sacrificing simplicity.
Features
- Automatic value conversion.
- Section nesting.
- Dict-like access.
- Extensible input/output formats.
- Built-in support for INI files and the Windows registry.
- Preserves ordering and comments of INI files.
- 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 values directly without any extra effort, either directly:
>>> cfg['server.host'] '192.168.1.1'
Or by section:
>>> server_cfg = cfg.section('server') >>> server_cfg['port'] 9090
Resources
Changes
0.3.3 (07-11-14)
- bugfixes
0.3.2 (06-30-14)
- added support for the Windows registry
- bugfixes
0.3.1 (06-04-14)
- fixed release package
0.3.0 (06-04-14)
- byte-string values are read/written directly from/to sources.
- added support for Python 3.2.
- bugfixes
0.2.9 (05-27-14)
- bugfixes
- new syntax for sections with both children, and a value: [section] = value
0.2.8 (04-11-14)
- INI format is now the default
- custom ProfigFormat has been removed
- can now get/set comments for keys
- comments and whitespace read from sources are preserved
- filtering of keys when syncing has been removed (temporarily?)
0.2.7 (03-29-14)
- improved INI support
- bugfixes
0.2.6 (03-26-14)
- full unicode support
0.2.5 (03-21-14)
- fix broken Python 3 compatibility
0.2.4 (03-21-14)
- added support for Python 2
- bugfixes
0.2.3 and earlier (03-12-14)
- initial releases
Project details
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size profig-0.3.3.tar.gz (17.4 kB) | File type Source | Python version None | Upload date | Hashes View hashes |