Skip to main content

A straightforward and unambiguous config file parser.

Project description

Build Status Coverage

A straightforward and unambiguous config file parser.

This package was originally based on the configparser module that comes in the standard python distribution but has been almost entirely rewritten.

The main branch won’t support python 2 as it is missing keyword only arguments and ChainMap is not in the standard library. If you need legacy support then there are a couple of forks which look like they do the job.

Installation

Available on pypi as json-config-parser

To install run

pip install json-config-parser

Alternatively grab the code from github and run:

python setup.py install

Syntax

Files are structured using square bracket sections, # comments and $key = $value options. Option values are written in json and can lists and dictionaries be spread over any number of lines. To keep parsing simple and files neat, comments, section headers and keys can not be indented and no whitespace is allowed on empty lines.

Comments start at the beginning of a line with a # symbol and extend to the line’s end.

Usage

cfg = JSONConfigParser()

cfg.read_string("""
[section]
number = 3.141592654
dictionary = {"key": "value"}
list = [1,
        2,
        3]
nested = {"list": [1,2,3]}
true = true
none = null

[DEFAULT]
# settings in the default section are inherited
# by all other sections.
default-setting = "default"
""")

# read a setting
cfg.get("section", "number")

# read a setting using index notation
cfg["section"]["true"]

# settings inherited from DEFAULT
cfg.get("section", "default-setting")

Bugs

Please report any problems on the bugtracker and I will do my best to fix them. Pull requests are also welcome.

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

json-config-parser-0.1.2.tar.gz (2.1 kB view hashes)

Uploaded Source

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