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 details)

Uploaded Source

File details

Details for the file json-config-parser-0.1.2.tar.gz.

File metadata

File hashes

Hashes for json-config-parser-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8afa0a2926d8fbfe051192847ee84c06f9d511a3016a2f5ec31139205c495eb4
MD5 dcf1a30b7041ffe800b3e983b6824fd1
BLAKE2b-256 628861546c8453d39b15b8063d3049663ed4118f12c8c39aea74bb23dc58b16e

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