vr-configuration


Namevr-configuration JSON
Version 1.1.27 PyPI version JSON
download
home_pagehttps://gitlab.com/dfki/ra/ni/ol/iml/vr/vr.configuration/
SummaryA Configuration management system for Python projects.
upload_time2022-12-11 22:17:13
maintainerBengt Lüers
docs_urlNone
authorBengt Lüers
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # VR.Configuration

VR.Configuration is a configuration management system for Python projects.
Assuming your configuration to use YAML configuration files,
    you can define their structure and type by Python schema files.
That way, this project
    enables easy configuration with minimal syntax while
    providing software assistance for using configurations.

## Features

-   Python-based typed schema definition
-   Autocompletion within IDEs
-   Semi-automatic parsing of yaml files
-   Extensibility for custom types
-   Reconfiguration at runtime

## Problem Statement

Oftentimes, we build systems from configurable parts.
Ideally, the configuration would be structured like our system.
Therefore, we need a structuring configuration system.

## Approach

The de-facto standard configuration language is currently YAML.
The structure with the least syntax in Python are classes.
So, we choose YAML as configuration syntax and Python classes as parsing target.

## Mental Model

![Mental Model](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/-/raw/main/_images/mental_model.png)

As shown on the left,
    a composed systems without a configuration management system
    might end up with different means of configuration.
As shown on the right,
    a composed system using this package
    can use a single means of configuration for all its components.
This helps
    with increasing development velocity
    because all components benefit from the features
    of the configuration management system.

## Status

[![pipeline status](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/badges/main/pipeline.svg)](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/-/pipelines/latest)
 
[![coverage report](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/badges/main/coverage.svg)](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/-/jobs)
 
[![PyPI Status](https://img.shields.io/pypi/status/vr_configuration)](https://pypi.org/project/vr-configuration/)
 
[![PyPI Version](https://img.shields.io/pypi/v/vr_configuration)](https://pypi.org/project/vr-configuration/#history)
 
[![PyPI License Badge](https://img.shields.io/pypi/l/vr_configuration)](https://pypi.org/project/vr-configuration/)
 
[![Wheel Badge](https://img.shields.io/pypi/wheel/vr_configuration)](https://pypi.org/project/vr-configuration/#files)
 
[![Python Versions](https://img.shields.io/pypi/pyversions/vr_configuration)](https://pypi.org/project/vr-configuration/)

## License

This package is not licensed. Therefore, it can only be used in the DFKI.

## Usage

This package originates from and is being used in production
    at the [VR.Backend](https://git.ni.dfki.de/iml/vr/image/vr.backend) project.
However,
    the VR.Backend project is currently internal to the DFKI.

## Demo

This package enables parsing configuration files according to a schema:

```python
class Config:
    greeting: str
    greetee: str


Config: type = parse_config(
    config_file_path='config.yaml',
)
```

## Tutorial

For more detailed instructions on using this project,
  see the [tutorial](README_BASIC.md).

## Development

For development and maintenance of this project,
  see the [development documentation](README_DEVELOPERS.md).

## Documentation

For more complete documentation,
    see our [dedicated documentation pages](https://dfki.gitlab.io/fb/ni/ol/iml/vr/vr.configuration/).

## Support

Please refer to the issue tracker for any inquiry.



            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/dfki/ra/ni/ol/iml/vr/vr.configuration/",
    "name": "vr-configuration",
    "maintainer": "Bengt L\u00fcers",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "bengt.lueers@gmail.com",
    "keywords": "",
    "author": "Bengt L\u00fcers",
    "author_email": "bengt.lueers@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/8b/a3/6f7c8e44ddecc039a2aaec7bba555f7e55c9c2eaaf1251ad43386cee932b/vr_configuration-1.1.27.tar.gz",
    "platform": null,
    "description": "# VR.Configuration\n\nVR.Configuration is a configuration management system for Python projects.\nAssuming your configuration to use YAML configuration files,\n    you can define their structure and type by Python schema files.\nThat way, this project\n    enables easy configuration with minimal syntax while\n    providing software assistance for using configurations.\n\n## Features\n\n-   Python-based typed schema definition\n-   Autocompletion within IDEs\n-   Semi-automatic parsing of yaml files\n-   Extensibility for custom types\n-   Reconfiguration at runtime\n\n## Problem Statement\n\nOftentimes, we build systems from configurable parts.\nIdeally, the configuration would be structured like our system.\nTherefore, we need a structuring configuration system.\n\n## Approach\n\nThe de-facto standard configuration language is currently YAML.\nThe structure with the least syntax in Python are classes.\nSo, we choose YAML as configuration syntax and Python classes as parsing target.\n\n## Mental Model\n\n![Mental Model](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/-/raw/main/_images/mental_model.png)\n\nAs shown on the left,\n    a composed systems without a configuration management system\n    might end up with different means of configuration.\nAs shown on the right,\n    a composed system using this package\n    can use a single means of configuration for all its components.\nThis helps\n    with increasing development velocity\n    because all components benefit from the features\n    of the configuration management system.\n\n## Status\n\n[![pipeline status](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/badges/main/pipeline.svg)](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/-/pipelines/latest)\n \n[![coverage report](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/badges/main/coverage.svg)](https://gitlab.com/dfki/fb/ni/ol/iml/vr/vr.configuration/-/jobs)\n \n[![PyPI Status](https://img.shields.io/pypi/status/vr_configuration)](https://pypi.org/project/vr-configuration/)\n \n[![PyPI Version](https://img.shields.io/pypi/v/vr_configuration)](https://pypi.org/project/vr-configuration/#history)\n \n[![PyPI License Badge](https://img.shields.io/pypi/l/vr_configuration)](https://pypi.org/project/vr-configuration/)\n \n[![Wheel Badge](https://img.shields.io/pypi/wheel/vr_configuration)](https://pypi.org/project/vr-configuration/#files)\n \n[![Python Versions](https://img.shields.io/pypi/pyversions/vr_configuration)](https://pypi.org/project/vr-configuration/)\n\n## License\n\nThis package is not licensed. Therefore, it can only be used in the DFKI.\n\n## Usage\n\nThis package originates from and is being used in production\n    at the [VR.Backend](https://git.ni.dfki.de/iml/vr/image/vr.backend) project.\nHowever,\n    the VR.Backend project is currently internal to the DFKI.\n\n## Demo\n\nThis package enables parsing configuration files according to a schema:\n\n```python\nclass Config:\n    greeting: str\n    greetee: str\n\n\nConfig: type = parse_config(\n    config_file_path='config.yaml',\n)\n```\n\n## Tutorial\n\nFor more detailed instructions on using this project,\n  see the [tutorial](README_BASIC.md).\n\n## Development\n\nFor development and maintenance of this project,\n  see the [development documentation](README_DEVELOPERS.md).\n\n## Documentation\n\nFor more complete documentation,\n    see our [dedicated documentation pages](https://dfki.gitlab.io/fb/ni/ol/iml/vr/vr.configuration/).\n\n## Support\n\nPlease refer to the issue tracker for any inquiry.\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A Configuration management system for Python projects.",
    "version": "1.1.27",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "4856b7ed8bdfa174380ddad59d78ad76",
                "sha256": "17c2bf1b3ec2ccf6ee31d73f1d01c7c63c0ba8f54e33623a67d0d2c3dad1bac8"
            },
            "downloads": -1,
            "filename": "vr_configuration-1.1.27-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4856b7ed8bdfa174380ddad59d78ad76",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 15222,
            "upload_time": "2022-12-11T22:17:11",
            "upload_time_iso_8601": "2022-12-11T22:17:11.559298Z",
            "url": "https://files.pythonhosted.org/packages/f5/ab/17efce811561dd1d9aadbea91b1ec00f34ccbce6d40a6730ee55b36bc7b6/vr_configuration-1.1.27-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "0b772bb8800a53ee2154211872239e86",
                "sha256": "658109f2587757b330c0f4eed6a2c0f801dc231e26efad9a91ed88b43d58cc8c"
            },
            "downloads": -1,
            "filename": "vr_configuration-1.1.27.tar.gz",
            "has_sig": false,
            "md5_digest": "0b772bb8800a53ee2154211872239e86",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 9347,
            "upload_time": "2022-12-11T22:17:13",
            "upload_time_iso_8601": "2022-12-11T22:17:13.158735Z",
            "url": "https://files.pythonhosted.org/packages/8b/a3/6f7c8e44ddecc039a2aaec7bba555f7e55c9c2eaaf1251ad43386cee932b/vr_configuration-1.1.27.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-11 22:17:13",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "vr-configuration"
}
        
Elapsed time: 0.03188s