Metadata-Version: 2.1
Name: config_bat
Version: 0.4.1
Summary: A package to share config accross modules
Home-page: UNKNOWN
Author: Ninh Chu
Author-email: chulucninh09@gmail.com
License: UNKNOWN
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
        ```
        
        2. Usage:
        
        Getting config: if there is no config in config.json, return default_value
        
        ```python
        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.
        
        3. 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"
            }
          }
        }
        ```
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
