معرفی شرکت ها


configcrunch-1.0.3


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

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

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

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

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

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

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

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

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

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

مشاهده بیشتر

توضیحات

Configuration parser based on YAML-Files with support for variables, overlaying and hierarchies
ویژگی مقدار
سیستم عامل -
نام فایل configcrunch-1.0.3
نام configcrunch
نسخه کتابخانه 1.0.3
نگهدارنده []
ایمیل نگهدارنده []
نویسنده -
ایمیل نویسنده -
آدرس صفحه اصلی https://github.com/theCapypara/configcrunch/
آدرس اینترنتی https://pypi.org/project/configcrunch/
مجوز -
Configcrunch ============ |build| |docs| |pypi-version| |pypi-downloads| |pypi-license| |pypi-pyversions| .. |build| image:: https://img.shields.io/github/workflow/status/theCapypara/configcrunch/Build,%20test%20and%20publish :target: https://github.com/theCapypara/configcrunch/actions :alt: Build Status .. |docs| image:: https://readthedocs.org/projects/configcrunch/badge/?version=latest :target: https://configcrunch.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status .. |pypi-version| image:: https://img.shields.io/pypi/v/configcrunch :target: https://pypi.org/project/configcrunch/ :alt: Version .. |pypi-downloads| image:: https://img.shields.io/pypi/dm/configcrunch :target: https://pypi.org/project/configcrunch/ :alt: Downloads .. |pypi-license| image:: https://img.shields.io/pypi/l/configcrunch :alt: License (MIT) .. |pypi-pyversions| image:: https://img.shields.io/pypi/pyversions/configcrunch :alt: Supported Python versions Configcrunch is a Python library written in Rust for reading YAML-based configuration files. It aims to be simple and fast while also providing some very powerful features. Configcrunch is compatible with Python 3.6 and up. Install it via pip: ``pip install configcrunch`` Features: - Read configuration files from YAML files. - Define various types of configuration files, that can be validated via a schema. - Types of configuration files are defined as separate Python classes. - Documents can be configured to contain nested documents of any type. - Documents can contain `Minijinja <https://github.com/mitsuhiko/minijinja>`_ templates that can reference any other field inside the same or parent document. - The classes that represent your document types can contain methods that can be used inside the configuration files. - Documents can reference documents from other files. Configcrunch will merge them together. You decide where referenced documents are looked up. - Configuration objects can also be created without YAML files, by using ordinary Python dicts. - All features are optional. Used by: - `Riptide <https://github.com/theCapypara/riptide-lib>`_ - (Your project here! Open an issue.) By default Configcrunch uses `schema <https://pypi.org/project/schema/>`_ to validate schemas. But you can also use your own validation logic! Example ------- This is an example that uses most of the features described above, using two document types. .. code-block:: yaml # doc1.yml - Type: one one: name: Document number: 1 sub: # Sub-document of type "two" $ref: /doc2 two_field: "{{ parent().method() }}" .. code-block:: yaml # <lookup path>/doc2.yml - Type: two two: name: Doc 2 number: 2 two_field: This is overridden .. code-block:: python # classes.py from schema import Schema, Optional from configcrunch import YamlConfigDocument, DocReference, variable_helper class One(YamlConfigDocument): @classmethod def header(cls) -> str: return "one" @classmethod def schema(cls) -> Schema: return Schema( { Optional('$ref'): str, # reference to other One documents 'name': str, 'number': int, Optional('sub'): DocReference(Two) } ) @classmethod def subdocuments(cls): return [ ("sub", Two) ] @variable_helper def method(self): return "I will return something" class Two(YamlConfigDocument): @classmethod def header(cls) -> str: return "two" @classmethod def schema(cls) -> Schema: return Schema( { Optional('$ref'): str, # reference to other Two documents 'name': str, 'number': int, 'two_field': str } ) @classmethod def subdocuments(cls): return [] The document "one.yml" can then be read via Python: >>> import yaml >>> from classes import One >>> doc = One.from_yaml('./doc1.yml') >>> doc.resolve_and_merge_references(['<lookup path>']) >>> doc.process_vars() >>> print(yaml.dump(doc.to_dict(), default_flow_style=False)) one: name: Document number: 1 sub: name: Doc 2 number: 2 two_field: I will return something Tests ----- Inside the ``configcrunch.tests`` package are tests. To run the tests, see ``run_tests.sh``. Documentation ------------- The complete documentation can be found at `Read the Docs <https://configcrunch.readthedocs.io/en/latest/>`_ (or in the docs directory).


نیازمندی

مقدار نام
>=0.7 schema


نحوه نصب


نصب پکیج whl configcrunch-1.0.3:

    pip install configcrunch-1.0.3.whl


نصب پکیج tar.gz configcrunch-1.0.3:

    pip install configcrunch-1.0.3.tar.gz