This repository was archived by the owner on Oct 7, 2024. It is now read-only.

Description
One idea is to move all the scaffolding for classes under a file or set of files with a basic representation.
Initially, this has been an issue because the imports would drag other classes in and there would be an issue with circular dependencies. This however maybe potentially be avoided if we have a set of files, say "FunctionConfigT" that would only define just the basics and an actual implementation that would inherit from this and only define what is needed.
class FunctionConfigT
"""Represents a configuration file of a specific function"""
config_name: ConfigName
config_version: FunctionConfigVersion
deploy_variables: DeployVariables
description: str
env_variables: DictStrAny
path: str
run_variables: RunVariables
class FunctionConfig(FunctionConfigT, BaseModel):
"""Represents a configuration file of a specific function"""
config_name: ConfigName = ConfigName.BASE
config_version: FunctionConfigVersion = FunctionConfigVersion.latest()
However, this would only make sense if we could extract all the types from the class definitions.