Skip to main content

Augmented python configparser

Project description

jconfigparser

Python PyPi License Black

`jconfigparser` is an extension of the `python` `configparser` standard module which adds the following features inspired by [`TOML`](https://github.com/toml-lang/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.1b2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

jconfigparser-0.1.1b2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file jconfigparser-0.1.1b2.tar.gz.

File metadata

  • Download URL: jconfigparser-0.1.1b2.tar.gz
  • Upload date:
  • Size: 5.6 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.1b2.tar.gz
Algorithm Hash digest
SHA256 64a7afd8af954607ed3353f251d773a45a75b0b14b962a9ec0eda7e2db4b14e0
MD5 815987827cd4f73ba802e273ace04e42
BLAKE2b-256 4e9bf58e2753f82dbfb19b6c79384063b565ff29e18f1141381d16780ad9869b

See more details on using hashes here.

File details

Details for the file jconfigparser-0.1.1b2-py3-none-any.whl.

File metadata

  • Download URL: jconfigparser-0.1.1b2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 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.1b2-py3-none-any.whl
Algorithm Hash digest
SHA256 2b8443eb794b36982b8c383a9f62d8c1ec67599ebb14fd3e28bd05d9a4be6cf6
MD5 5693e9765c12ee50119659b9bd990abd
BLAKE2b-256 b4b02cc186a538c3bdc868b0769c1ab0f68f080cff5bde05e89729aee269024a

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