A simple configuration files manager package
Project description
ConfigDmanager
Installation
A simple pip install will do :
python -m pip install ConfigDmanager
Use
-
Suppose we have two Configuration files ( of json type ) :
-
ParentConfig.json :
{ "__name": "ParentConfig", "param1": "Value 1" }
-
MainConfig.json :
- The __parent parameter specifies the path to another configuration file that will give us default values ( Think of it as inheritance ).
- The text contained between brackets will be reinterpreted in runtime :
in the example below {param1} will be reinterpreted as "Value 1"
- The use of environment variables for sensitive data like passwords is also possible : through this text {os_environ[password]}
- You can also read the content of a text file with a simple : {read_file[file_path]} as shown in the example below.
{ "__name": "MainConfig", "__parent": "demo.ParentConfig", "param2": "Value 2 and {param1}", "user_info": {"user": "username", "password": "{os_environ[password]}"}, "long_text": "{read_file[./demo.py]}" }
-
-
To import those configuration using configDmanager, use this demo code :
from configDmanager import import_config
class RandomClass:
def __init__(self, param1, param2, user_info, long_text):
print(f"param1: {param1}")
print(f"param2: {param2}")
print(f'my user: {user_info.user}')
print(f'my user: {user_info.password}')
print(f'my long text: "{long_text[:40]}"')
config = import_config('MainConfig')
print("## Object 1")
obj = RandomClass(**config)
# You can also select specific keys
print("## Object 2")
another_obj = RandomClass(param2='Another Value', long_text="Not so long", **config[['param1', 'user_info']])
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ConfigDmanager-0.0.3.tar.gz.
File metadata
- Download URL: ConfigDmanager-0.0.3.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
149098c4d714a16018b6aec1422ba4a28ca118da5a61f004a7f0475b6977458b
|
|
| MD5 |
4f11eddad291de87a8c300033ed01d65
|
|
| BLAKE2b-256 |
2d33c2d45bcdac714f7ae92245bbf403f5ee6228d635ec0b85016cb2449280b6
|
File details
Details for the file ConfigDmanager-0.0.3-py3-none-any.whl.
File metadata
- Download URL: ConfigDmanager-0.0.3-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce370f7e63345750bf6dafe0237d0cce76399022c7703478c75cffdc0f843835
|
|
| MD5 |
eb55e98ccde46613db3f3a6bcb8e94cd
|
|
| BLAKE2b-256 |
00326a68e895d1a0350f272cdafd2128402a33e795239a300293b9b8fd6594e4
|