Typed dataclass like configuration objects
Project description
tcfg
from tcfg import cfg, Option
@cfg.json('cfg.json')
class Config:
# year must be a string. It has a default value of '2023'
year = '2023'
# load must be a boolean. It has a default value of true
load = true
@cfg.toml('cfg.toml')
class Config2:
# year must be a string. Default to ''
year = str
# load must be a boolean. Default to false
load = bool
# Any config class will save to the specified file path unless overridden.
# This includes config classes that are in other config classes.
# This means you can have one master config object in your code that uses many config files.
@cfg.yaml('nested.tml')
class Nested:
# Must be a bool. Defaults to false
enabled = false
# Must be an int. Defaults to 8081
port = 8081
# Can specify multiple specific options.
scope = Option('public', 'private', default='private')
# Must be a list
# Literals are defaults and types are used for valid element types. Literal types are also used in element types.
extensions = ['reload', dict]
options = {
# wildcard type used for validation of extra values not specified as a key in this dict
'*': dict,
'open': false,
# can have recursive nesting
'deep_nesting': {
'random': int
}
}
@cfg.yaml('cfg.yml')
class Config3:
nested = Nested # nested is a sub/nested config section
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
tcfg-0.4.6.tar.gz
(12.0 kB
view details)
Built Distribution
tcfg-0.4.6-py3-none-any.whl
(12.3 kB
view details)
File details
Details for the file tcfg-0.4.6.tar.gz
.
File metadata
- Download URL: tcfg-0.4.6.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c7136fc4a9f9ec577810157fcbbe5aa195129c66db7a5191add8d04df9e4523 |
|
MD5 | 454a0c9022426a57a2f8039703622775 |
|
BLAKE2b-256 | 6717d564d442b3afddd3df3d64227b20689248a7aa426541d0fc442287f26592 |
File details
Details for the file tcfg-0.4.6-py3-none-any.whl
.
File metadata
- Download URL: tcfg-0.4.6-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 197374cb5af42049ae1511b301be72ee85b1b4d596282c659a420ea5f4f5a5ca |
|
MD5 | c66c1ac529cdfea278b26709c537bbc0 |
|
BLAKE2b-256 | 068e2ee4f88732f232da8a3c59ab15caba4f8eaea236082affc3a722b8032bb4 |