This package contains all of the most common abstractions you’ll need to write Flyte workflows and extend Flytekit.
## Basic Authoring
These are the essentials needed to get started writing tasks and workflows.
task
workflow
kwtypes
current_context
ExecutionParameters
FlyteContext
map_task
ImperativeWorkflow
create_node
NodeOutput
FlyteContextManager
> [!NOTE] > Local Execution > > Tasks and Workflows can both be locally run, assuming the relevant tasks are capable of local execution. > This is useful for unit testing.
### Branching and Conditionals
Branches and conditionals can be expressed explicitly in Flyte. These conditions are evaluated in the flyte engine and hence should be used for control flow. “dynamic workflows” can be used to perform custom conditional logic not supported by flytekit.
### Customizing Tasks & Workflows
TaskMetadata - Wrapper object that allows users to specify Task
Resources - Things like CPUs/Memory, etc.
WorkflowFailurePolicy - Customizes what happens when a workflow fails.
PodTemplate - Custom PodTemplate for a task.
#### Dynamic and Nested Workflows
See the Dynamic module for more information.
##### Signaling
approve
sleep
wait_for_input
Scheduling
CronSchedule
FixedRate
##### Notifications
Email
PagerDuty
Slack
##### Reference Entities
get_reference_entity
LaunchPlanReference
TaskReference
WorkflowReference
reference_task
reference_workflow
reference_launch_plan
##### Core Task Types
SQLTask
ContainerTask
PythonFunctionTask
PythonInstanceTask
LaunchPlan
##### Secrets and SecurityContext
Secret
SecurityContext
##### Common Flyte IDL Objects
AuthRole
Labels
Annotations
WorkflowExecutionPhase
Blob
BlobMetadata
Literal
Scalar
LiteralType
BlobType