Skip to main content

Simple cascading/nested scope/namespace manager

Project description

https://img.shields.io/pypi/v/delegatum.svg https://img.shields.io/travis/datagazing/delegatum.svg Documentation Status

Simple cascading/nested scope/namespace manager

Delegatum walks a list of objects that can represent key/value mappings and returns the first match found for a key.

  • Supports dictionaries, argparse, configparser, mapping functions

  • Most dictionary-like objects should work as well

  • Python json and yaml parsers return dictionaries, and so are supported

Examples

The following example searches, in order: command line arguments, a config file, a json string, a yaml string, and the output of a function.

import delegatum
import json
import yaml # Requires external package PyYAML
j = json.loads('{"verbose": true, "output": "file.txt"}')
y = yaml.safe_load(some_yaml_string)
some_f = lambda x: x * x
delegatus = delegatum.Delegatum([cmdline, configfile, j, y, some_f])
print(delegatus['verbose'])
print(delegatus['garbage'])

Attributes

defaultobject

Default value to return if no lookup succeeds

Raises

DelegatumError

General library error; should only occur if misconfigured

DelegatumMissError

Used internally for flow control

See Also

Standard library:

  • argparse

  • configparser

  • json

  • tomllib

External modules:

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

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

delegatum-1.0.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

delegatum-1.0.0-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file delegatum-1.0.0.tar.gz.

File metadata

  • Download URL: delegatum-1.0.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for delegatum-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f8367155ff3df22adbf00e54a23df2d7856dfe6ce5dba043fb04d3ed6913a1e7
MD5 4cddb8d6647bd2989e6e790229b76714
BLAKE2b-256 3066123bf7e6dbce7bcd23980c1c17e07f35533c0b8afd9f0631d88301044a56

See more details on using hashes here.

File details

Details for the file delegatum-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: delegatum-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for delegatum-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 707b430499ac311e253199c282ab87cdea33872f45786fb71d908c529e29aa5d
MD5 925d22ae1e441c72fd843ff3d8db80df
BLAKE2b-256 b02207bb13a61cf9d73d30cec71115ca1d8ff5bdd245a11005e72fa80ff2a71a

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