from pydantic import BaseModel class DatabaseConfig(BaseModel): user: str password: str host: str port: int database: str class RuntimeConfig(BaseModel): environment: str scheme: str host: str port: int class GitConfig(BaseModel): state_repo_path: str state_repo_remote: str state_repo_user: str state_repo_keyfile: str state_repo_pubkeyfile: str class PTCLIConfig(BaseModel): scheme: str host: str port: int user: str password: str class Config(BaseModel): db: DatabaseConfig runtime: RuntimeConfig ptcli: PTCLIConfig git: GitConfig