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"
}