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

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.0a2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

jconfigparser-0.1.0a2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file jconfigparser-0.1.0a2.tar.gz.

File metadata

  • Download URL: jconfigparser-0.1.0a2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.8.1 Linux/4.15.0-88-generic

File hashes

Hashes for jconfigparser-0.1.0a2.tar.gz
Algorithm Hash digest
SHA256 0a2949fdca686737fbd942436c9c75653458a96e76336a18de2a73c86062a0ce
MD5 e8d2d4c6730b13ebae7780c402b467b6
BLAKE2b-256 7815b568f9080ab14ba4e810a9d3183717c828109b150230b854c7cea085fcd5

See more details on using hashes here.

File details

Details for the file jconfigparser-0.1.0a2-py3-none-any.whl.

File metadata

  • Download URL: jconfigparser-0.1.0a2-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.8.1 Linux/4.15.0-88-generic

File hashes

Hashes for jconfigparser-0.1.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 94c28966c0a177b48c53e56cc0ae0ad9a02246b2ffceeb7a53bdbaf2ed568bc6
MD5 3c083788ba5ce1e1c33c755373ddc9c0
BLAKE2b-256 5ed08fa78d3738ba60ddbd58f56cf9c9275663d9caffa0b22139afe9df4cdd57

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