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.).


class ExecutionState.Mode(value)[source]#

Defines the possible execution modes, which in turn affects execution behavior.


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

ExecutionState(working_dir[, mode, ...])

This is the context that is active when executing a task or a local workflow.

Image(name, fqn, tag)

Image is a structured wrapper for task container images used in object serialization.

ImageConfig([default_image, images])

We recommend you to use ImageConfig.auto(img_name=None) to create an ImageConfig.

Interface([inputs, outputs, ...])

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')


Core Extensible TypeEngine of Flytekit.

TypeTransformer(name, t[, ...])

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

PythonCustomizedContainerTask(*args, **kwargs)

Please take a look at the comments for :py:class`flytekit.extend.ExecutableTemplateShimTask` as well.

ExecutableTemplateShimTask(tt, ...)

The canonical @task decorated Python function task is pretty simple to reason about.

ShimTaskExecutor(*args, **kwargs)