Extending Flytekit

This package contains things that are useful when extending Flytekit.

get_serializable(entity_mapping, settings, …)

The flytekit authoring code produces objects representing Flyte entities (tasks, workflows, etc.).


SQLTask(*args, **kwargs)

Base task types for all SQL tasks


This exception should be used to indicate that the outputs generated by this can be safely ignored.

PythonTask(*args, **kwargs)

Base Class for all Tasks with a Python native Interface.

ExecutionState(mode, working_dir, …)

Image(name, fqn, tag)

ImageConfig(default_image, images)

SerializationSettings(project, domain, …)

Interface(inputs, Union[Type, Tuple[Type, …)

A Python native interface object, like inspect.signature but simpler.

Promise(var, val, …)

This object is a wrapper and exists for three main reasons. Let’s assume we’re dealing with a task like ::.


This is the TaskPlugins factory for task types that are derivative of PythonFunctionTask.


Transformer that transforms a univariate dictionary Dict[str, T] to a Literal Map or transforms a untyped dictionary to a JSON (struct/Generic)


alias of TypeVar(‘T’)

TypeEngine(*args, **kwds)

Core Extensible TypeEngine of Flytekit.

TypeTransformer(name, t, enable_type_assertions)

Base transformer type that should be implemented for every python native type that can be handled by flytekit