ClassyConfig is a Python3 package aiming to remove the need for a config.py or settings.py file.
Project description
ClassyConfig
ClassyConfig
is a Python3 package aiming to remove the need for a config.py
or settings.py
file.
from classy_config import BaseModel, ClassyConfig, ConfigParam
# Create your global config manager (example test-config.json below)
config = ClassyConfig(config_file="test-config.json")
# Resolve default values based on your config
def print_current_version(version: str = ConfigParam("version", str)) -> None:
print(version)
# Use Pydantic Models for your config
class Author(BaseModel):
username: str
email: str
lucky_number: int
# Resolve default values based on your config
def print_author(author: Author = ConfigParam("author", Author)) -> None:
print(author)
# Allows for nested values
def print_value(value: int = ConfigParam("nested.value", int)) -> None:
print(value)
{
"version": "0.0.1",
"author": {
"username": "GDWR",
"email": "gregory.dwr@gmail.com",
"lucky_number": 17
},
"nested": {
"value": 10
}
}
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
classy_config-0.2.0a0.tar.gz
(4.4 kB
view hashes)
Built Distribution
Close
Hashes for classy_config-0.2.0a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa448df6fa4fd9d2b9c977a2212613fee69c406695d11678912fd560b38a2a52 |
|
MD5 | 3152c3365f2bbe728cf72ffe5bbae9d8 |
|
BLAKE2b-256 | 2371c246d22ba5777d927bdc754e9c1c252d94961b81d1a4a734b8f6200f99cb |