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.6.zip
(7.6 kB
view details)
File details
Details for the file direg-0.2.6.zip
.
File metadata
- Download URL: direg-0.2.6.zip
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0271ecc30b9eef6bb340b6433749c85865bca289c2f56701926aaece226a81ce |
|
MD5 | db9f7f27a74266fc1af176ae58d271d3 |
|
BLAKE2b-256 | 82f3d987e74faa4742e341a8f495abd5d257557ef0b93f2daf9125e809840cd7 |