Skip to main content

Augmented python configparser

Project description

jconfigparser

python pypi license code style

jconfigparser is an extension of the python configparser standard module which adds the following features inspired by TOML:

  • Section name depth with dot notation: [a.b]
  • Values on right hand side can be everything that is understood by JSON.
  • Values that appear twice or more often are stored as a list, see example output below (this behavior is configurable).

Example

Say we have the following configuration file in test.jconf:

[atoms]
file:                          geometry.in
format:                        aims

[calculator.aims]
xc:                            pbesol
charge_mix_param:              0.3
sc_accuracy_rho:               1e-6

output: band  0     0     0     0.00  0.25  0.25  50   Gamma  Delta
output: band  0.00  0.25  0.25  0     0.5   0.5   50   Delta  X

[calculator.socketio]
port:                          null

[basissets.aims]
default:                       light

This file can be parsed with

import jconfigparser as jc

config = jc.Config('test.jconf')

config will be a modified dict that hold the information like

{
    "atoms": {"file": "geometry.in", "format": "aims"},
    "calculator": {
        "aims": {
            "xc": "pbesol",
            "charge_mix_param": 0.3,
            "sc_accuracy_rho": 1e-06,
            "output": [
                "band  0     0     0     0.00  0.25  0.25  50   Gamma  Delta",
                "band  0.00  0.25  0.25  0     0.5   0.5   50   Delta  X",
            ],
        },
        "socketio": {"port": None},
    },
    "basissets": {"aims": {"default": "light"}},
}

Furthermore, config supports

  • Attribute access, e.g., config.atoms.file
  • Write itself: config.write("new.jconf")

Changelog

  • v0.1.3: per default, use case-sensitive keys

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

jconfigparser-0.1.3.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

jconfigparser-0.1.3-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file jconfigparser-0.1.3.tar.gz.

File metadata

  • Download URL: jconfigparser-0.1.3.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.8.1 Linux/4.15.0-122-generic

File hashes

Hashes for jconfigparser-0.1.3.tar.gz
Algorithm Hash digest
SHA256 87639f3fa31d95829e4925c2001209cf5d7e84817970a461e552bf43d9d23883
MD5 fbe2073629b8ac43d96b454fe7213aff
BLAKE2b-256 b8051579e43f234048bb40bffb978ef1f3e525a85181c0f2947e896b390b6144

See more details on using hashes here.

File details

Details for the file jconfigparser-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: jconfigparser-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.8.1 Linux/4.15.0-122-generic

File hashes

Hashes for jconfigparser-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 910b1b7b97708bc7f2996fb29c4d26ea8147cbdc4f31aaaa1d552f536d97139d
MD5 4eec00f38fe6ad5953d8705775083a2a
BLAKE2b-256 03087bdf6208516ca96edaf65edf11f936687677ecbf5fb36a11941b71310b49

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