CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-flyteidl

IDL for Flyte Platform containing protobuf specifications, gRPC API definitions, and generated clients for multiple languages

Pending
Overview
Eval results
Files

admin-api.mddocs/

Administrative API

The AdminService provides the primary interface for managing Flyte resources, offering comprehensive CRUD operations for tasks, workflows, launch plans, executions, and projects. This service handles the complete lifecycle management of Flyte entities and serves as the main integration point for Flyte administrators and applications.

Capabilities

Task Management

Create, retrieve, update, and list task definitions. Tasks are the fundamental execution units in Flyte workflows.

def CreateTask(request: TaskCreateRequest) -> TaskCreateResponse:
    """
    Create a new task definition.
    
    Args:
        request: TaskCreateRequest containing task identifier and specification
        
    Returns:
        TaskCreateResponse with creation status
        
    Raises:
        ALREADY_EXISTS: Task with the same identifier already exists
        INVALID_ARGUMENT: Invalid task specification
    """

def GetTask(request: ObjectGetRequest) -> Task:
    """
    Retrieve a task by identifier.
    
    Args:
        request: ObjectGetRequest with task identifier
        
    Returns:
        Task entity with complete specification and closure
        
    Raises:
        NOT_FOUND: Task with specified identifier does not exist
    """

def ListTasks(request: ResourceListRequest) -> TaskList:
    """
    List tasks with filtering and pagination.
    
    Args:
        request: ResourceListRequest with filters, sorting, and pagination
        
    Returns:
        TaskList with matching tasks and pagination metadata
    """

def ListTaskIds(request: NamedEntityIdentifierListRequest) -> NamedEntityIdentifierList:
    """
    List task identifiers with minimal metadata.
    
    Args:
        request: NamedEntityIdentifierListRequest with filters and pagination
        
    Returns:
        NamedEntityIdentifierList with task identifiers only
    """

Workflow Management

Manage workflow definitions including creation, retrieval, and listing with comprehensive filtering capabilities.

def CreateWorkflow(request: WorkflowCreateRequest) -> WorkflowCreateResponse:
    """
    Create a new workflow definition.
    
    Args:
        request: WorkflowCreateRequest containing workflow identifier and specification
        
    Returns:
        WorkflowCreateResponse with creation status
        
    Raises:
        ALREADY_EXISTS: Workflow with the same identifier already exists
        INVALID_ARGUMENT: Invalid workflow specification
    """

def GetWorkflow(request: ObjectGetRequest) -> Workflow:
    """
    Retrieve a workflow by identifier.
    
    Args:
        request: ObjectGetRequest with workflow identifier
        
    Returns:
        Workflow entity with complete specification and closure
        
    Raises:
        NOT_FOUND: Workflow with specified identifier does not exist
    """

def ListWorkflows(request: ResourceListRequest) -> WorkflowList:
    """
    List workflows with filtering and pagination.
    
    Args:
        request: ResourceListRequest with filters, sorting, and pagination
        
    Returns:
        WorkflowList with matching workflows and pagination metadata
    """

def ListWorkflowIds(request: NamedEntityIdentifierListRequest) -> NamedEntityIdentifierList:
    """
    List workflow identifiers with minimal metadata.
    
    Args:
        request: NamedEntityIdentifierListRequest with filters and pagination
        
    Returns:
        NamedEntityIdentifierList with workflow identifiers only
    """

Launch Plan Management

Handle launch plan lifecycle including creation, updates, activation state management, and listing.

def CreateLaunchPlan(request: LaunchPlanCreateRequest) -> LaunchPlanCreateResponse:
    """
    Create a new launch plan.
    
    Args:
        request: LaunchPlanCreateRequest with launch plan specification
        
    Returns:
        LaunchPlanCreateResponse with creation status
    """

def GetLaunchPlan(request: ObjectGetRequest) -> LaunchPlan:
    """
    Retrieve a launch plan by identifier.
    
    Args:
        request: ObjectGetRequest with launch plan identifier
        
    Returns:
        LaunchPlan entity with specification and current state
    """

def GetActiveLaunchPlan(request: ActiveLaunchPlanRequest) -> LaunchPlan:
    """
    Get the currently active launch plan for a workflow.
    
    Args:
        request: ActiveLaunchPlanRequest with workflow identifier
        
    Returns:
        LaunchPlan that is currently active for the workflow
    """

def ListActiveLaunchPlans(request: ActiveLaunchPlanListRequest) -> LaunchPlanList:
    """
    List active launch plans with filtering.
    
    Args:
        request: ActiveLaunchPlanListRequest with filters and pagination
        
    Returns:
        LaunchPlanList containing active launch plans
    """

def ListLaunchPlans(request: ResourceListRequest) -> LaunchPlanList:
    """
    List launch plans with filtering and pagination.
    
    Args:
        request: ResourceListRequest with filters, sorting, and pagination
        
    Returns:
        LaunchPlanList with matching launch plans and pagination metadata
    """

def ListLaunchPlanIds(request: NamedEntityIdentifierListRequest) -> NamedEntityIdentifierList:
    """
    List launch plan identifiers with minimal metadata.
    
    Args:
        request: NamedEntityIdentifierListRequest with filters and pagination
        
    Returns:
        NamedEntityIdentifierList with launch plan identifiers only
    """

def UpdateLaunchPlan(request: LaunchPlanUpdateRequest) -> LaunchPlanUpdateResponse:
    """
    Update launch plan state (activate/deactivate).
    
    Args:
        request: LaunchPlanUpdateRequest with identifier and state change
        
    Returns:
        LaunchPlanUpdateResponse with update status
    """

Execution Management

Comprehensive execution lifecycle management including creation, monitoring, control operations, and data retrieval.

def CreateExecution(request: ExecutionCreateRequest) -> ExecutionCreateResponse:
    """
    Start a new workflow execution.
    
    Args:
        request: ExecutionCreateRequest with launch plan or workflow reference and inputs
        
    Returns:
        ExecutionCreateResponse with execution identifier and initial status
        
    Raises:
        INVALID_ARGUMENT: Invalid execution specification or inputs
        RESOURCE_EXHAUSTED: Execution quota exceeded
    """

def RelaunchExecution(request: ExecutionRelaunchRequest) -> ExecutionCreateResponse:
    """
    Relaunch an existing execution with the same or modified inputs.
    
    Args:
        request: ExecutionRelaunchRequest with original execution reference
        
    Returns:
        ExecutionCreateResponse with new execution details
    """

def RecoverExecution(request: ExecutionRecoverRequest) -> ExecutionCreateResponse:
    """
    Recover a failed execution from the point of failure.
    
    Args:
        request: ExecutionRecoverRequest with failed execution reference
        
    Returns:
        ExecutionCreateResponse with recovered execution details
    """

def GetExecution(request: WorkflowExecutionGetRequest) -> Execution:
    """
    Retrieve execution details including current state and metadata.
    
    Args:
        request: WorkflowExecutionGetRequest with execution identifier
        
    Returns:
        Execution entity with complete status and metadata
        
    Raises:
        NOT_FOUND: Execution with specified identifier does not exist
    """

def UpdateExecution(request: ExecutionUpdateRequest) -> ExecutionUpdateResponse:
    """
    Update execution metadata and state.
    
    Args:
        request: ExecutionUpdateRequest with execution identifier and updates
        
    Returns:
        ExecutionUpdateResponse with update status
    """

def GetExecutionData(request: WorkflowExecutionGetDataRequest) -> WorkflowExecutionGetDataResponse:
    """
    Retrieve execution inputs, outputs, and intermediate data.
    
    Args:
        request: WorkflowExecutionGetDataRequest with execution identifier
        
    Returns:
        WorkflowExecutionGetDataResponse with input/output literals and metadata
    """

def ListExecutions(request: ResourceListRequest) -> ExecutionList:
    """
    List executions with comprehensive filtering and pagination.
    
    Args:
        request: ResourceListRequest with filters, sorting, and pagination
        
    Returns:
        ExecutionList with matching executions and pagination metadata
    """

def TerminateExecution(request: ExecutionTerminateRequest) -> ExecutionTerminateResponse:
    """
    Terminate a running execution.
    
    Args:
        request: ExecutionTerminateRequest with execution identifier and cause
        
    Returns:
        ExecutionTerminateResponse with termination status
        
    Raises:
        FAILED_PRECONDITION: Execution is not in a terminable state
    """

Node Execution Tracking

Monitor and retrieve detailed information about individual node executions within workflows.

def GetNodeExecution(request: NodeExecutionGetRequest) -> NodeExecution:
    """
    Get detailed information about a specific node execution.
    
    Args:
        request: NodeExecutionGetRequest with node execution identifier
        
    Returns:
        NodeExecution with state, timing, and metadata
    """

def GetNodeExecutionData(request: NodeExecutionGetDataRequest) -> NodeExecutionGetDataResponse:
    """
    Retrieve input and output data for a node execution.
    
    Args:
        request: NodeExecutionGetDataRequest with node execution identifier
        
    Returns:
        NodeExecutionGetDataResponse with input/output literals
    """

def GetDynamicNodeWorkflow(request: GetDynamicNodeWorkflowRequest) -> DynamicNodeWorkflowResponse:
    """
    Retrieve the dynamically generated workflow for a dynamic node.
    
    Args:
        request: GetDynamicNodeWorkflowRequest with dynamic node execution identifier
        
    Returns:
        DynamicNodeWorkflowResponse containing the generated workflow definition
    """

def ListNodeExecutions(request: NodeExecutionListRequest) -> NodeExecutionList:
    """
    List node executions for a workflow execution.
    
    Args:
        request: NodeExecutionListRequest with parent execution identifier
        
    Returns:
        NodeExecutionList with node executions and metadata
    """

def ListNodeExecutionsForTask(request: NodeExecutionForTaskListRequest) -> NodeExecutionList:
    """
    List node executions for a specific task.
    
    Args:
        request: NodeExecutionForTaskListRequest with task identifier
        
    Returns:
        NodeExecutionList with matching node executions
    """

Task Execution Tracking

Monitor and retrieve detailed information about individual task executions and their retry attempts.

def GetTaskExecution(request: TaskExecutionGetRequest) -> TaskExecution:
    """
    Get detailed information about a specific task execution.
    
    Args:
        request: TaskExecutionGetRequest with task execution identifier
        
    Returns:
        TaskExecution with state, timing, logs, and metadata
    """

def GetTaskExecutionData(request: TaskExecutionGetDataRequest) -> TaskExecutionGetDataResponse:
    """
    Retrieve input and output data for a task execution.
    
    Args:
        request: TaskExecutionGetDataRequest with task execution identifier
        
    Returns:
        TaskExecutionGetDataResponse with input/output literals
    """

def ListTaskExecutions(request: TaskExecutionListRequest) -> TaskExecutionList:
    """
    List task executions for a node execution.
    
    Args:
        request: TaskExecutionListRequest with node execution identifier
        
    Returns:
        TaskExecutionList with task executions including retries
    """

Project Management

Manage Flyte projects including creation, registration, updates, and domain configuration.

def CreateProject(request: ProjectRegisterRequest) -> ProjectRegisterResponse:
    """
    Create a new project.
    
    Args:
        request: ProjectRegisterRequest with project specification
        
    Returns:
        ProjectRegisterResponse with creation status
        
    Raises:
        ALREADY_EXISTS: Project with the same identifier already exists
    """

def RegisterProject(request: ProjectRegisterRequest) -> ProjectRegisterResponse:
    """
    Register an existing project in the Flyte system.
    
    Args:
        request: ProjectRegisterRequest with project details
        
    Returns:
        ProjectRegisterResponse with registration status
    """

def UpdateProject(request: Project) -> ProjectUpdateResponse:
    """
    Update project configuration and metadata.
    
    Args:
        request: Project with updated configuration
        
    Returns:
        ProjectUpdateResponse with update status
    """

def ListProjects(request: ProjectListRequest) -> Projects:
    """
    List all projects with filtering.
    
    Args:
        request: ProjectListRequest with optional filters
        
    Returns:
        Projects list with project details
    """

def GetDomains(request: GetDomainRequest) -> GetDomainsResponse:
    """
    Get available domains for a project.
    
    Args:
        request: GetDomainRequest (typically empty)
        
    Returns:
        GetDomainsResponse with domain list and configurations
    """

Resource Attributes Management

Configure resource attributes at project, domain, and workflow levels for execution customization.

def UpdateProjectAttributes(request: ProjectAttributesUpdateRequest) -> ProjectAttributesUpdateResponse:
    """
    Update project-level resource attributes.
    
    Args:
        request: ProjectAttributesUpdateRequest with attribute configuration
        
    Returns:
        ProjectAttributesUpdateResponse with update status
    """

def GetProjectAttributes(request: ProjectAttributesGetRequest) -> ProjectAttributesGetResponse:
    """
    Retrieve project-level resource attributes.
    
    Args:
        request: ProjectAttributesGetRequest with project identifier
        
    Returns:
        ProjectAttributesGetResponse with current attributes
    """

def DeleteProjectAttributes(request: ProjectAttributesDeleteRequest) -> ProjectAttributesDeleteResponse:
    """
    Delete project-level resource attributes.
    
    Args:
        request: ProjectAttributesDeleteRequest with project and attribute type
        
    Returns:
        ProjectAttributesDeleteResponse with deletion status
    """

def UpdateWorkflowAttributes(request: WorkflowAttributesUpdateRequest) -> WorkflowAttributesUpdateResponse:
    """
    Update workflow-level resource attributes.
    
    Args:
        request: WorkflowAttributesUpdateRequest with workflow and attributes
        
    Returns:
        WorkflowAttributesUpdateResponse with update status
    """

def GetWorkflowAttributes(request: WorkflowAttributesGetRequest) -> WorkflowAttributesGetResponse:
    """
    Retrieve workflow-level resource attributes.
    
    Args:
        request: WorkflowAttributesGetRequest with workflow identifier
        
    Returns:
        WorkflowAttributesGetResponse with current attributes
    """

def DeleteWorkflowAttributes(request: WorkflowAttributesDeleteRequest) -> WorkflowAttributesDeleteResponse:
    """
    Delete workflow-level resource attributes.
    
    Args:
        request: WorkflowAttributesDeleteRequest with workflow and attribute type
        
    Returns:
        WorkflowAttributesDeleteResponse with deletion status
    """

def ListMatchableAttributes(request: ListMatchableAttributesRequest) -> ListMatchableAttributesResponse:
    """
    List all matchable resource attributes with hierarchical resolution.
    
    Args:
        request: ListMatchableAttributesRequest with resource scope
        
    Returns:
        ListMatchableAttributesResponse with attribute configurations
    """

Event Processing

Handle workflow, node, and task execution events for state tracking and monitoring.

def CreateWorkflowEvent(request: WorkflowExecutionEventRequest) -> WorkflowExecutionEventResponse:
    """
    Create a workflow execution event.
    
    Args:
        request: WorkflowExecutionEventRequest with event details
        
    Returns:
        WorkflowExecutionEventResponse with processing status
    """

def CreateNodeEvent(request: NodeExecutionEventRequest) -> NodeExecutionEventResponse:
    """
    Create a node execution event.
    
    Args:
        request: NodeExecutionEventRequest with event details
        
    Returns:
        NodeExecutionEventResponse with processing status
    """

def CreateTaskEvent(request: TaskExecutionEventRequest) -> TaskExecutionEventResponse:
    """
    Create a task execution event.
    
    Args:
        request: TaskExecutionEventRequest with event details
        
    Returns:
        TaskExecutionEventResponse with processing status
    """

System Information

Retrieve server version and system status information.

def GetVersion(request: GetVersionRequest) -> GetVersionResponse:
    """
    Get Flyte server version and build information.
    
    Args:
        request: GetVersionRequest (typically empty)
        
    Returns:
        GetVersionResponse with version details and build metadata
    """

Types

Request/Response Types

class TaskCreateRequest:
    id: Identifier
    spec: TaskSpec

class TaskCreateResponse:
    pass

class ObjectGetRequest:
    id: Identifier

class ResourceListRequest:
    id: NamedEntityIdentifier
    limit: int
    token: str
    filters: str
    sort_by: Sort

class WorkflowExecutionGetRequest:
    id: WorkflowExecutionIdentifier

class ExecutionCreateRequest:
    project: str
    domain: str
    name: str
    spec: ExecutionSpec
    inputs: LiteralMap

class ExecutionCreateResponse:
    id: WorkflowExecutionIdentifier

class ExecutionTerminateRequest:
    id: WorkflowExecutionIdentifier
    cause: str

class ExecutionTerminateResponse:
    pass

Entity Types

class Task:
    id: Identifier
    closure: TaskClosure

class Workflow:
    id: Identifier
    closure: WorkflowClosure

class LaunchPlan:
    id: Identifier
    spec: LaunchPlanSpec
    closure: LaunchPlanClosure

class Execution:
    id: WorkflowExecutionIdentifier
    spec: ExecutionSpec
    closure: ExecutionClosure

class NodeExecution:
    id: NodeExecutionIdentifier
    input_uri: str
    closure: NodeExecutionClosure
    metadata: NodeExecutionMetaData

class TaskExecution:
    id: TaskExecutionIdentifier
    input_uri: str
    closure: TaskExecutionClosure
    is_parent: bool

Install with Tessl CLI

npx tessl i tessl/pypi-flyteidl

docs

admin-api.md

core-types.md

data-management.md

index.md

multi-language.md

plugins.md

tasks-workflows.md

tile.json