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.
Release files for delegatum 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| delegatum-1.0.0.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| delegatum-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.2 kB
Release files / delegatum-1.0.0.tar.gz
| Download URL | delegatum-1.0.0.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8367155ff3df22adbf00e54a23df2d7856dfe6ce5dba043fb04d3ed6913a1e7
|
|
BLAKE2b-256 checksum How to use checksums |
3066123bf7e6dbce7bcd23980c1c17e07f35533c0b8afd9f0631d88301044a56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.31.0
|
Release files / delegatum-1.0.0-py3-none-any.whl
| Download URL | delegatum-1.0.0-py3-none-any.whl |
|---|---|
| Size | 3.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
707b430499ac311e253199c282ab87cdea33872f45786fb71d908c529e29aa5d
|
|
BLAKE2b-256 checksum How to use checksums |
b02207bb13a61cf9d73d30cec71115ca1d8ff5bdd245a11005e72fa80ff2a71a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.31.0
|