Skip to main content

small tool for project config management

Project description

https://img.shields.io/pypi/v/p_config.svg https://img.shields.io/travis/zlqm/p_config.svg Documentation Status

Simple configure management tool for python project.

YAML file and environment variable both supported.

Install

$: pip install p_config --upgrade

Usage

  1. Initialize a Config instance. You can add some default value here.

  2. Load local file or environment value. Value with same key will be overridden.

  3. Access config through the instance

(default) p_config ) ENV=UAT ipython
Python 3.9.1 (default,)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.20.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from p_config import Config

In [2]: config = Config(ENV='SIT')

In [3]: config.ENV  # default config defined at [2]
Out[3]: 'SIT'

In [4]: !cat demo.yaml
ENV: PRD
BROKER_URI: redis://
DB:
  NAME: test
  HOST: localhost
  PORT: 3306

In [5]: config.load_yaml_file('demo.yaml')

In [6]: config.ENV  # overridden by config in demo.yaml
Out[6]: 'PRD'

In [7]: config.DB  # only support upper case
Out[7]: {'NAME': 'test', 'HOST': 'localhost', 'PORT': 3306}

In [8]: config.DB.HOST
Out[8]: 'localhost'

In [9]: config.load_env()

In [10]: config.ENV  # overridden by config in demo.yaml
Out[10]: 'UAT'

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

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.4.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

p_config-1.4.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for p_config-1.4.0.tar.gz
Algorithm Hash digest
SHA256 f71befc3e9eaea1799bdd37f3e5a3b09ab88bf53c1922a8ed9be5c344faf6a94
MD5 20f9daa5efd09baa53111d8f1cf3995d
BLAKE2b-256 8ac5b72032da87215db25cd3d1df6ae07d81def0dbd771522a4644dd131cd248

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for p_config-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0aacdbd5812f44e3c46ac5a6c261ab9271a694e84ae664f901338bd012bfee2b
MD5 d0f9dd07299cba966569b0980e093372
BLAKE2b-256 6a31551af1d24bb674fb1f680fe4e323af87e41c1cae63c3893c4b7d06f625eb

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