Simple cascading/nested scope/namespace manager
Project description
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8367155ff3df22adbf00e54a23df2d7856dfe6ce5dba043fb04d3ed6913a1e7 |
|
MD5 | 4cddb8d6647bd2989e6e790229b76714 |
|
BLAKE2b-256 | 3066123bf7e6dbce7bcd23980c1c17e07f35533c0b8afd9f0631d88301044a56 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 707b430499ac311e253199c282ab87cdea33872f45786fb71d908c529e29aa5d |
|
MD5 | 925d22ae1e441c72fd843ff3d8db80df |
|
BLAKE2b-256 | b02207bb13a61cf9d73d30cec71115ca1d8ff5bdd245a11005e72fa80ff2a71a |