معرفی شرکت ها


defconf-0.2.0


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

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

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

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

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

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

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

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

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

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

مشاهده بیشتر

توضیحات

Python Library/tool to easily define and validate the format and content of a configuration file
ویژگی مقدار
سیستم عامل -
نام فایل defconf-0.2.0
نام defconf
نسخه کتابخانه 0.2.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Damien Garros
ایمیل نویسنده dgarros@gmail.com
آدرس صفحه اصلی https://github.com/dgarros/defconf
آدرس اینترنتی https://pypi.org/project/defconf/
مجوز Apache
[![Build Status](https://travis-ci.org/dgarros/defconf.svg?branch=master)](https://travis-ci.org/dgarros/defconf) # Defconf Python Library/tool to easily define and validate the format and content of a configuration file To build a robust application, it takes a lot of effort to properly check and validate everything that can goes wrong within an input file filled by users: - Wrong option name : login VS username, - Wrong type : string instead of integer, - Mandatory information missing - Value not conform (ip address not valid etc ..) All this complexity is often not completely managed by the application has it require a LOT of work: Defconf is here to help, it will: + Validate the format of the configuration file (list, dict, string) + Validate all names and track unsupported options + Validate content type (integer, string, bool, list, dict) + Validate the value with REGEX or pre-define list + Populate default value if information is missing ## How does it work Create a definition file to define how your configuration should look like For this simple configuration file ```yaml http_server: [ 192.168.0.1, 192.168.0.2 ] password: pwd!! port: 4444 ``` A corresponding defconf file will looks like this ```yaml validate: main: http_server: { type: list, validate: ip_addr, mandatory: 1 } password: { type: string, validate: valid_password, mandatory: 1 } port: { type: integer, values: [4444, 2580], default: 4444 } regex: ip_addr: ^(\d+)\.(\d+)\.(\d+)\.(\d+)$ valid_password: ^[A-Za-z0-9\!]+$ ``` For each option on the configuration file, we can define: - type => [string, integer, bool, dict, list] - mandatory => [0, 1] - values => List of supported values (only for integer, string and list type) - validate => Advance validation with Regex or with another validate block (nested dict) - default => Default value if option is not defined Detail example available here : - [Configuration file - myconfig.yml]( https://github.com/dgarros/defconf/blob/master/myconfig.yml) - [Definition file - myconfig.def.yml]( https://github.com/dgarros/defconf/blob/master/myconfig.def.yml) #### From CLI (within project folder) python defconf.py myconfig.yml myconfig.def.yml #### From python ```python import defconf definition = yaml.load( open('myconfig.def.yml') ) config = yaml.load( open('myconfig.yml') ) defconf.validate_config( config, definition, 'myconfig' ) ``` ## Installation git clone https://github.com/dgarros/defconf ## Enhancements list - Support JSON file in addition to YAML - Improve exception handling to catch as many issue as possible in one shot - Create example config file from Definition file - Create definition file for definition files :) - Create a module and publish ## Support Bug and issues can be open on Github [https://github.com/dgarros/defconf/issues] ## How to contribute - Use it and share your config/def files - Report issue - Add unit tests - Improve documentation


نحوه نصب


نصب پکیج whl defconf-0.2.0:

    pip install defconf-0.2.0.whl


نصب پکیج tar.gz defconf-0.2.0:

    pip install defconf-0.2.0.tar.gz