Skip to main content

small tool for project config management

Project description

Simple project config for Python.

You can read configuration from environ or local file with it.

Install

$: pip install p_config

Usuage

Suppose there are some config files.

# filename: default.yml
server:
    port: 80
    hostname: localhost
# filename: override.yml
server:
    port: 443
    hostname: localhost
    backends:
      - 127.0.0.1:80

You can read configuration via this way

$: env SERVER.PORT=8080 ipython
Python 3.6.9 (default, Nov  7 2019, 10:44:02)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.\

In [1]: from p_config import Config

In [2]: config = Config('default.yml')

In [3]: config['SERVER.PORT']
Out[3]: 80

In [4]: config['SERVER.HOSTNAME']
Out[4]: 'localhost'

In [5]: config.load('override.yml')  # update configuration via local file

In [6]: config['SERVER.PORT']
Out[6]: 443

In [7]: config['SERVER.BACKENDS']
Out[7]: ['127.0.0.1:8080']

In [8]: config.load_env()  # update configuration via environ

In [9]: config['SERVER.PORT']
Out[9]: '8080'

In [10]: config.get('SERVER.PORT')
Out[10]: '8080'

In [11]: config.get('NONE_EXIST')
Out[11]: None

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

p_config-1.3.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

p_config-1.3.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file p_config-1.3.1.tar.gz.

File metadata

  • Download URL: p_config-1.3.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for p_config-1.3.1.tar.gz
Algorithm Hash digest
SHA256 288b44450d410a3e1db239c0707cda9d5680fe61c40310836f370511d00bf60f
MD5 199aedcaf07ae1607071add679dbda39
BLAKE2b-256 6da207d0d294ae298dddaf09b05f8b02bba7bdd40a6338454a4bb72e929124cd

See more details on using hashes here.

File details

Details for the file p_config-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: p_config-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for p_config-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a55e9dca7e7704476c8f79b01b0da40e2096b884d1bbfd8ae72c132aa8c5924f
MD5 3d970e70f7f0d10ce3da1423c5c0ac42
BLAKE2b-256 eddda0707ba87f163ef9281edb6d7a7e881d9123390ead0b75077be3ac038fce

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