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.5.zip (7.5 kB view details)

Uploaded Source

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

Hashes for direg-0.2.5.zip
Algorithm Hash digest
SHA256 925c15b32136ac7dc588e06a886c4ac059d36ea2dc8c2528182966d0ab56ee9f
MD5 a872942de8cd2efbba695da9982db35b
BLAKE2b-256 794dfbba8a8141457f254d422b8d6d82f5b46c33dc3eff450ab709db09ed04d5

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