Skip to main content

A configuration reader which reads values stored in two key levels. The first key level is named “section” and the second level “key”.

Project description

This package on the Python Package Index Tests

A configuration reader which reads values stored in two key levels. The first key level is named section and the second level key.

argparse arguments (argparse): (You have to specify a mapping)

mapping = {
    'section.key': 'args_attribute'
}

A python dictionary (dictonary):

{
    'section':  {
        'key': 'value'
    }
}

Environment variables (environ):

export prefix__section__key=value

INI file (ini):

[section]
key = value
CONF_DEFAULTS = {
    'email': {
        'subject_prefix': 'command_watcher',
    },
    'nsca': {
        'port': 5667,
    },
}

CONFIG_READER_SPEC: Spec = {
    'email': {
        'from_addr': {
            'description': 'The email address of the sender.',
        },
        'to_addr': {
            'description': 'The email address of the recipient.',
            'not_empty': True,
        },
        'to_addr_critical': {
            'description': 'The email address of the recipient to send '
                          'critical messages to.',
            'default': None,
        },
        'smtp_login': {
            'description': 'The SMTP login name.',
            'not_empty': True,
        },
        'smtp_password': {
            'description': 'The SMTP password.',
            'not_empty': True,
        },
        'smtp_server': {
            'description': 'The URL of the SMTP server, for example: '
                          '`smtp.example.com:587`.',
            'not_empty': True,
        },
    },
    'icinga': {
        'url': {
            'description': 'The HTTP URL. /v1/actions/process-check-result '
                          'is appended.',
            'not_empty': True,
        },
        'user': {
            'description': 'The user for the HTTP authentification.',
            'not_empty': True,
        },
        'password': {
            'description': 'The password for the HTTP authentification.',
            'not_empty': True,
        },
    },
    'beep': {
        'activated': {
            'description': 'Activate the beep channel to report auditive '
                          'messages.',
            'default': False,
        }
    }
}

config_reader = ConfigReader(
    spec=CONFIG_READER_SPEC,
    ini=config_file,
    dictionary=CONF_DEFAULTS,
)

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

conf2levels-0.5.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conf2levels-0.5.1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file conf2levels-0.5.1.tar.gz.

File metadata

  • Download URL: conf2levels-0.5.1.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.1 Linux/6.2.0-1019-azure

File hashes

Hashes for conf2levels-0.5.1.tar.gz
Algorithm Hash digest
SHA256 7e25fca08766d57d5eae86e0b7420734a83a87c410e9cf6bdbfddf96a3feb8ac
MD5 713a346c60a2b0c3abe5b9967e76dde3
BLAKE2b-256 f76b78fa304698d9a2a3029c4448d730da6c977b9892f23c39a9d2854a693280

See more details on using hashes here.

File details

Details for the file conf2levels-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: conf2levels-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.1 Linux/6.2.0-1019-azure

File hashes

Hashes for conf2levels-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64f4920e412309e98fc920e5343a78759ced21de4d985ff143cffc95017883f5
MD5 58992fdcafe1499a38641b1ae83ee6f1
BLAKE2b-256 37bdf103751cbb7b06960f20d42f934b8d8be6d54de41664c7ad2bbaa7290cb1

See more details on using hashes here.

Supported by

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