Skip to main content

Python config parser library

Project description

Python Config Parser Library

license pypi pyversions badge Downloads

confparser is a config parser by yml file or dictionary.

In confparser, you can easily access to value through dot notation.

Like, conf.debug, conf.server.dev.debug.

Installation

pip3 install confparser

Usage

Config by .yml file

Create yml file

debug: True
server:
  dev:
    debug: True
    port: 8000
  prod:
    debug: False
    port: 80

Import confparser and insert your yml file.

from confparser import ConfParser


config = ConfParser(path='./config.yml').to_obj()

print(config)
# {'debug': True, 'server': {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}}

print(config.debug)  
# True

print(config.server)
# {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}

print(config.server.dev)
# {'debug': True, 'port': 8000}

print(config.server.dev.debug)  
# True

print(config.server.dev.port)  
# 8000

print(config.server.prod.debug)  
# False

print(config.server.prod.port)  
# 80

Config by dictionary

Import confparser and insert your dictionary.

from confparser import ConfParser

conf_dict = {
    'debug': True,
    'server': {
        'dev': {
            'debug': True,
            'port': 8000,
        },
        'prod': {
            'debug': False,
            'port': 80,
        },
    }
}
config = ConfParser(conf_dict=conf_dict).to_obj()

print(config)
# {'debug': True, 'server': {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}}

print(config.debug)  
# True

print(config.server)
# {'dev': {'debug': True, 'port': 8000}, 'prod': {'debug': False, 'port': 80}}

print(config.server.dev)
# {'debug': True, 'port': 8000}

print(config.server.dev.debug)  
# True

print(config.server.dev.port)  
# 8000

print(config.server.prod.debug)  
# False

print(config.server.prod.port)  
# 80

Note

path and conf_dict cannot be used at once.

Dependencies

To use parsing yml file, pyyaml is needed.

But it will be install automatically with confparser so you don't have to install manually.

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

confparser-0.1.7.tar.gz (3.5 kB view details)

Uploaded Source

File details

Details for the file confparser-0.1.7.tar.gz.

File metadata

  • Download URL: confparser-0.1.7.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.6

File hashes

Hashes for confparser-0.1.7.tar.gz
Algorithm Hash digest
SHA256 2d249a2c7eaf5c4a041f8499a0da37f9dba13c3faf567eea210ae9fc3dc30deb
MD5 29c4aea8b864c973a76d2509bfb10f31
BLAKE2b-256 1f8800f4a4d3b707432e031c9d30f0af87a4b50c2641f6387188540840039894

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