yaml-configuration


Nameyaml-configuration JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://github.com/DLR-RM/python-yaml-configuration
SummaryA python module to easily read from and write to yaml config files.
upload_time2025-10-30 08:36:36
maintainerSebastian Brunner
docs_urlNone
authorSebastian Brunner
requires_python>=2.6
licenseBSD
keywords yaml configuration
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
yaml\_configuration
===================

This module offers easy configuration for a other modules or startup
scripts. It offers an easy way to load and save config files and read
and write config values to it. Also trying to read a config value by
passing an optional default value if the real config value is not
present is supported.

Usage
=====

The class DefaultConfig provides the basic functionality of the package.
A custom configuration class is meant to derive from it.

.. code:: python

    import os
    import logging
    from pytest import raises
    from yaml_configuration.config import DefaultConfig, ConfigError


    def read_file(file_path, filename):
        file_path = os.path.join(file_path, filename)
        with open(file_path, 'r') as file_pointer:
            file_content = file_pointer.read()
        return file_content


    class BasicConfig(DefaultConfig):

        def __init__(self, config_string, config_file, logger_object=None):
            super(BasicConfig, self).__init__(config_string, logger_object)
            # this is already done in the init
            # self.load(config_file, path=os.path.dirname(__file__))


    if __name__ == '__main__':
        config_file = "basic_config.yaml"
        config_string = read_file(os.path.dirname(__file__), config_file)
        basic_config = BasicConfig(config_string, config_file, logging.getLogger("TestLogger"))
        basic_config.set_config_value("number_value", 10)
        basic_config.set_config_value("string_value", "test_string")
        assert basic_config.get_config_value("string_value") == "test_string"
        assert basic_config.get_config_value("not_existing_config_value", default=42) == 42
        with raises(ConfigError):
            if not basic_config.get_config_value("value_that_should_exist"):
                raise ConfigError("The config value with key 'value_that_should_exist' should exist")

..


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/DLR-RM/python-yaml-configuration",
    "name": "yaml-configuration",
    "maintainer": "Sebastian Brunner",
    "docs_url": null,
    "requires_python": ">=2.6",
    "maintainer_email": "sebastian.brunner@dlr.de",
    "keywords": "yaml, configuration",
    "author": "Sebastian Brunner",
    "author_email": "sebastian.brunner@dlr.de",
    "download_url": "https://files.pythonhosted.org/packages/3a/04/7b0f104d0788166fc84e2a2d9ade940aca354fba7ccd96c74481c0cce091/yaml_configuration-0.3.1.tar.gz",
    "platform": null,
    "description": "\nyaml\\_configuration\n===================\n\nThis module offers easy configuration for a other modules or startup\nscripts. It offers an easy way to load and save config files and read\nand write config values to it. Also trying to read a config value by\npassing an optional default value if the real config value is not\npresent is supported.\n\nUsage\n=====\n\nThe class DefaultConfig provides the basic functionality of the package.\nA custom configuration class is meant to derive from it.\n\n.. code:: python\n\n    import os\n    import logging\n    from pytest import raises\n    from yaml_configuration.config import DefaultConfig, ConfigError\n\n\n    def read_file(file_path, filename):\n        file_path = os.path.join(file_path, filename)\n        with open(file_path, 'r') as file_pointer:\n            file_content = file_pointer.read()\n        return file_content\n\n\n    class BasicConfig(DefaultConfig):\n\n        def __init__(self, config_string, config_file, logger_object=None):\n            super(BasicConfig, self).__init__(config_string, logger_object)\n            # this is already done in the init\n            # self.load(config_file, path=os.path.dirname(__file__))\n\n\n    if __name__ == '__main__':\n        config_file = \"basic_config.yaml\"\n        config_string = read_file(os.path.dirname(__file__), config_file)\n        basic_config = BasicConfig(config_string, config_file, logging.getLogger(\"TestLogger\"))\n        basic_config.set_config_value(\"number_value\", 10)\n        basic_config.set_config_value(\"string_value\", \"test_string\")\n        assert basic_config.get_config_value(\"string_value\") == \"test_string\"\n        assert basic_config.get_config_value(\"not_existing_config_value\", default=42) == 42\n        with raises(ConfigError):\n            if not basic_config.get_config_value(\"value_that_should_exist\"):\n                raise ConfigError(\"The config value with key 'value_that_should_exist' should exist\")\n\n..\n\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "A python module to easily read from and write to yaml config files.",
    "version": "0.3.1",
    "project_urls": {
        "Homepage": "https://github.com/DLR-RM/python-yaml-configuration"
    },
    "split_keywords": [
        "yaml",
        " configuration"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1cb2fccb95ce266928b73dfecb6cdd9b0d2c262034f3c6c1cf482a63d5f0527a",
                "md5": "ebfae58efbb8d715ece0bf15e8b28809",
                "sha256": "30f37e3b5bf2b19b58f802636a55b583d14e054bab71c171366a1e34aaafff56"
            },
            "downloads": -1,
            "filename": "yaml_configuration-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ebfae58efbb8d715ece0bf15e8b28809",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=2.6",
            "size": 7090,
            "upload_time": "2025-10-30T08:36:35",
            "upload_time_iso_8601": "2025-10-30T08:36:35.662354Z",
            "url": "https://files.pythonhosted.org/packages/1c/b2/fccb95ce266928b73dfecb6cdd9b0d2c262034f3c6c1cf482a63d5f0527a/yaml_configuration-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3a047b0f104d0788166fc84e2a2d9ade940aca354fba7ccd96c74481c0cce091",
                "md5": "2930122fe3295e7336e18a5f42bd1df6",
                "sha256": "c1afab8574df720ad31c69e6e2a5d94a76212c63a860b0fb6324693a00ff475e"
            },
            "downloads": -1,
            "filename": "yaml_configuration-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2930122fe3295e7336e18a5f42bd1df6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=2.6",
            "size": 6793,
            "upload_time": "2025-10-30T08:36:36",
            "upload_time_iso_8601": "2025-10-30T08:36:36.910918Z",
            "url": "https://files.pythonhosted.org/packages/3a/04/7b0f104d0788166fc84e2a2d9ade940aca354fba7ccd96c74481c0cce091/yaml_configuration-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-30 08:36:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "DLR-RM",
    "github_project": "python-yaml-configuration",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "yaml-configuration"
}
        
Elapsed time: 2.29850s