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.0a2.tar.gz
(4.5 kB
view hashes)
Built Distribution
Close
Hashes for classy_config-0.2.0a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f3e9a8720ed3267e11c7815910551748c04fd8e8f40b66cd464ba8f88814fd4 |
|
MD5 | 04252a3088061e658b7a5f36e2a69551 |
|
BLAKE2b-256 | ec13c5fdfd9f807be1e2abc6152b8010e32c19638ac9275a243cf085079a9f97 |