Skip to main content

A python module to easily read from and write to yaml config files.

Project description

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.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yaml_configuration-0.2.6.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

yaml_configuration-0.2.6-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file yaml_configuration-0.2.6.tar.gz.

File metadata

  • Download URL: yaml_configuration-0.2.6.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for yaml_configuration-0.2.6.tar.gz
Algorithm Hash digest
SHA256 95b40efb608457ae447902c7353a4555cccbdb634c9c03ab56a8cc80fb858526
MD5 1f93d720e40972aeda1fc34c0b342528
BLAKE2b-256 26c7da74d944be5a3f371a7c4df165912b46e524316b490b136d7420792a86bd

See more details on using hashes here.

File details

Details for the file yaml_configuration-0.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for yaml_configuration-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cc8bc7df52dda33b8773f438ec92e519038a332750db4353dcd530daf11566dd
MD5 8b7da8391a416c4d7fb5566b66950773
BLAKE2b-256 f13e734517a07ede92acafb0d19a547b572489ef72fa7c6b89350f690a6576a1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page