Skip to main content

A configuration library.

Project description

profig is a straightforward configuration library for Python.

https://travis-ci.org/dhagrow/profig.svg?branch=master

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

profig-0.5.1.tar.gz (17.9 kB view details)

Uploaded Source

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

Hashes for profig-0.5.1.tar.gz
Algorithm Hash digest
SHA256 cb9c094325a93505fc6325d13f3e679b281093223f143a96a6df8ad9c2bfc9a6
MD5 a9defe0685010cfefebd273020d8d900
BLAKE2b-256 c581a14c49aee6202242fa95f8b3a9b1b12089ffcce939b2bdf36dd240e09bfc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page