Inject your config variables into methods, so they are as close to usage as possible.
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.1.8.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for classy_config-0.1.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 257c1185a4b4fada7d2a4ad40cc8b0cff4364229ef0d911775e012b774b50468 |
|
MD5 | 2958acb2d2179a83964a9a7ca2382ffe |
|
BLAKE2b-256 | 694c21e6a423cb4d37fd1d092814a7980634bc2f794aff4d10ddbfcde7a4c690 |