Skip to main content

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


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)

Uploaded Source

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

Hashes for direg-0.2.6.zip
Algorithm Hash digest
SHA256 0271ecc30b9eef6bb340b6433749c85865bca289c2f56701926aaece226a81ce
MD5 db9f7f27a74266fc1af176ae58d271d3
BLAKE2b-256 82f3d987e74faa4742e341a8f495abd5d257557ef0b93f2daf9125e809840cd7

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