A drop-in registry. Easily maintain a central configuration registry for your complex python project.
Project description
direg lets you maintain arbitrary registry data (in the form of python dictionaries that can be “merged” in a logical way (think: global config -vs- user config). With a small amount of work, it is possible to replace hardcoded values with easily-maintainable and flexible registry entries.
Suppose we have a file at /my/path/registry.py with the following contents.
data = {
'one.Foo.meth.somevar': 26804,
'one.Foo.somevar': 24742,
'one.myfunc.somevar': 16834,
'one.outer.inner.somevar': 7678,
}
Then, in some module one, we can do the following:
one.py
from direg import get_value, registries
# Load the registry with the above data. Note that this could take place in another module and could include an
# arbitrary number of registry files.
registries.append('/my/path/registry.py')
class Foo:
somevar = get_value('somevar') # will be 24742
def meth(self):
return get_value('somevar')
f = Foo()
f.meth() # will return 26804
f.somevar # 24742
Foo.somevar # also 24742
def myfunc():
somevar = get_value('somevar')
return somevar
myfunc() # will be 16834
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
direg-0.2.5.zip
(7.5 kB
view details)
File details
Details for the file direg-0.2.5.zip
.
File metadata
- Download URL: direg-0.2.5.zip
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 925c15b32136ac7dc588e06a886c4ac059d36ea2dc8c2528182966d0ab56ee9f |
|
MD5 | a872942de8cd2efbba695da9982db35b |
|
BLAKE2b-256 | 794dfbba8a8141457f254d422b8d6d82f5b46c33dc3eff450ab709db09ed04d5 |