ClassyConfig is a Python3 package aiming to remove the need for a config.py or settings.py file.
ClassyConfig is avliable via Pypi, so it can be installed using pip
$ pip install classy_config
from classy_config import ConfigValue, register_config
from pydantic import BaseModel
# Register your config file to be used
register_config(filepath="config.toml")
# Resolve default values based on your config
def print_current_version(version: str = ConfigValue("package", 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 = ConfigValue("author", Author)) -> None:
print(author)
# Allows for nested values
def print_value(value: int = ConfigValue("nested.value", int)) -> None:
print(value)