معرفی شرکت ها


el-config-0.1.9


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Python-box based custom config package for python projects.
ویژگی مقدار
سیستم عامل -
نام فایل el-config-0.1.9
نام el-config
نسخه کتابخانه 0.1.9
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Batkhuu Byambajav
ایمیل نویسنده batkhuu@ellexi.com
آدرس صفحه اصلی https://bitbucket.org/ellexiinc/el_config/
آدرس اینترنتی https://pypi.org/project/el-config/
مجوز MIT
# Easily Launch Config (el_config) Python-box based custom config package for python projects. ## Features * Load environment variables - [https://pypi.org/project/python-dotenv](https://pypi.org/project/python-dotenv) * Python-box based config - [https://pypi.org/project/python-box](https://pypi.org/project/python-box) * Cerberus schema validation - [https://pypi.org/project/Cerberus](https://pypi.org/project/Cerberus) * Custom base config module * YAML or JSON based configs * Update with extra configs * Pre-load config * Validate config * Freeze config * Config as dictioary --- ## Installation ### 1. Prerequisites * **Python (>= v3.7)** * **PyPi (>= v21)** ### 2. Install el-config #### A. [RECOMMENDED] PyPi install ```sh # Install or upgrade el-config package: pip install --upgrade el-config # To uninstall package: pip uninstall -y el-config ``` #### B. Manually add to PYTHONPATH (Recommended for development) ```sh # Clone repository by git: git clone git@bitbucket.org:ellexiinc/el_config.git cd el_config # Install python dependencies: pip install --upgrade pip cat requirements.txt | xargs -n 1 -L 1 pip install --no-cache-dir # Add current path to PYTHONPATH: export PYTHONPATH="${PWD}:${PYTHONPATH}" ``` #### C. Manually compile and setup (Not recommended) ```sh # Clone repository by git: git clone git@bitbucket.org:ellexiinc/el_config.git cd el_config # Building python package: pip install --upgrade pip setuptools wheel python setup.py build # Install python dependencies with built package to current python environment: python setup.py install --record installed_files.txt # To remove only installed el-config package: head -n 1 installed_files.txt | xargs rm -vrf # Or to remove all installed files and packages: cat installed_files.txt | xargs rm -vrf ``` ## Usage/Examples * Sample python file - [https://bitbucket.org/ellexiinc/el_config/src/master/sample.py](https://bitbucket.org/ellexiinc/el_config/src/master/sample.py) **configs/app.yml**: ```yml env: development app: name: "My App" host: 0.0.0.0 port: 80 secret: "my-secret" debug: false ``` **.env**: ```sh ENV=production APP_PORT=8080 APP_SECRET="My_s3crEt_k3y" ``` **utils/validator_schemas.py**: ```python config_schema = { 'env': { 'type': 'string', 'allowed': ['development', 'production'], 'default': 'development' }, 'app': { 'type': 'dict', 'schema': { 'name': { 'type': 'string', 'minlength': 2, 'maxlength': 255 }, 'host': { 'type': 'string', 'minlength': 2, 'maxlength': 255 }, 'port': { 'type': 'integer', 'coerce': int, 'min': 1024, 'max': 65535 }, 'secret': { 'type': 'string', 'minlength': 12, 'maxlength': 255 }, 'debug': { 'type': 'boolean' } } } } ``` **config.py**: ```python import os from utils.validator_schemas import config_schema from el_config import ConfigBase def _pre_load(config): try: config.env = os.getenv('ENV', config.env).strip().lower() if config.env == 'production': config.app.debug = False if os.getenv('APP_SECRET') is None: raise KeyError("Missing required `APP_SECRET` environment variable on 'production'!") config.app.port = os.getenv('APP_PORT', config.app.port) config.app.debug = os.getenv('APP_DEBUG', config.app.debug) config.app.secret = os.getenv('APP_SECRET', config.app.secret) except Exception as err: print(f"ERROR: Error occured while pre-loading config:\n {err}") exit(2) return config _cb = ConfigBase(pre_load=_pre_load, valid_schema=config_schema) _cb.load() config = _cb.config print(config) ``` **main.py**: ```python from flask import Flask from config import config app = Flask(__name__) @app.route("/") def hello_world(): return "<p>Hello, World!</p>" if __name__ == '__main__': app.run(host=config.app.host, port=config.app.port) ``` --- ## Running Tests To run tests, run the following command: ```sh pytest ``` --- ## References * [https://saurabh-kumar.com/python-dotenv](https://saurabh-kumar.com/python-dotenv) * [https://github.com/theskumar/python-dotenv](https://github.com/theskumar/python-dotenv) * [https://github.com/cdgriffith/Box/wiki](https://github.com/cdgriffith/Box/wiki) * [https://github.com/cdgriffith/Box](https://github.com/cdgriffith/Box) * [https://docs.python-cerberus.org/en/stable](https://docs.python-cerberus.org/en/stable) * [https://github.com/pyeve/cerberus](https://github.com/pyeve/cerberus)


نحوه نصب


نصب پکیج whl el-config-0.1.9:

    pip install el-config-0.1.9.whl


نصب پکیج tar.gz el-config-0.1.9:

    pip install el-config-0.1.9.tar.gz