Skip to main content
Version: 1.4.0 (latest)

common.reflection.spec

spec_from_signature

def spec_from_signature(
f: AnyFun,
sig: Signature,
include_defaults: bool = True,
base: Type[BaseConfiguration] = BaseConfiguration
) -> Tuple[Type[BaseConfiguration], Dict[str, Any]]

[view_source]

Creates a SPEC on base base1 for a function fwith signaturesig`.

All the arguments in sig that are valid SPEC hints and have defaults will be part of the SPEC. Special default markers for required SPEC fields dlt.secrets.value and dlt.config.value are sentinel string values with a type set to Any during typechecking. The sentinels are defined in dlt.common.typing module.

The name of a SPEC type is inferred from qualname of f and type will refer to f module and is unique for a module. NOTE: the SPECS are cached in the module by using name as an id.

Return value is a tuple of SPEC and SPEC fields created from a sig.

This demo works on codespaces. Codespaces is a development environment available for free to anyone with a Github account. You'll be asked to fork the demo repository and from there the README guides you with further steps.
The demo uses the Continue VSCode extension.

Off to codespaces!

DHelp

Ask a question

Welcome to "Codex Central", your next-gen help center, driven by OpenAI's GPT-4 model. It's more than just a forum or a FAQ hub – it's a dynamic knowledge base where coders can find AI-assisted solutions to their pressing problems. With GPT-4's powerful comprehension and predictive abilities, Codex Central provides instantaneous issue resolution, insightful debugging, and personalized guidance. Get your code running smoothly with the unparalleled support at Codex Central - coding help reimagined with AI prowess.