Skip to main content

A package to share config accross modules

Project description

Introduction

config_bat is a package helps developers easily config the app using config.json file.

Getting Started

  1. Installation process:
pip install config_bat
  1. Usage:

Getting config: if there is no config in config.json, return default_value

from config_bat import config
your_config = config.get("config_key",default_value)

# Get nested config data
# You can get nested dict data for cases that you have many value spread out for the same master key
# Example dict: two mongodb master key config, but only username is different from dev and prod
# The "common" key is readed by default.
# If the config apears both in "common" and other stages, the stage config will be used.

nestedConfig = {
  "common":{
    "mongodb":{
      "host":"localhost"
    },
    "development":{
      "mongodb":{
        "username":"test"
      }
    }
  }
}

host = config.get("mongodb",default_value)["host"] # Return KeyError
host = config.get("mongodb.host",default_value) # Return "test"

The default_value is optional, if default_value is not provided, the function will return None.

  1. API references:

Environment variables:

The package behavior can be overrided by export these environment variables:

CONFIG_PATH: the path to config file. Default: "/config/config.json".

APP_STAGE: define in config.json.

config.json file:

The first level key is the stage of the app. You can define the config nested in those keys.

The "common" key is readed by default. If the config apears both in "common" and other stages, the stage config will be used.

If you want to use environmen variables, place a "$" character before you variable name.

Example of config.json:

{
  "common": {
    // Environmental variables
    "JWT_SECRET": "$SEC_KEY",
    "port": 8080
  },
  "development": {
   // Nested config
    "mongodb": {
      "host": "localhost",
      "user": "dev_user",
      "pass": "dev_pass"
    }
  },
  "production": {
    "mongodb": {
      "host": "your.domain",
      "user": "prod_user",
      "pass": "prod_pass"
    }
  }
}

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

config_bat-0.4.1.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

config_bat-0.4.1-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file config_bat-0.4.1.tar.gz.

File metadata

  • Download URL: config_bat-0.4.1.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for config_bat-0.4.1.tar.gz
Algorithm Hash digest
SHA256 315d7fc9d8e4029e42e918b61ce20959b0ece144591188d44376aee31aa84321
MD5 39517eff8a488c86660e52793da11324
BLAKE2b-256 5d80855c65c52c47c93d9a1a17424f010faa98cd51aef019e231809eb7b53b77

See more details on using hashes here.

File details

Details for the file config_bat-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: config_bat-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for config_bat-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e1e66e2268011d81e7809cb2f6650f98d6c97b1c4d5aecc3c6fa40ddc7afd296
MD5 03d39258c07d1f9b31922e6941802e46
BLAKE2b-256 bf02d3ac64ea5334fea61d0302239bcfb7bf303e1c974b7b94ef249630de1d96

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