diff --git a/_modules/abc.html b/_modules/abc.html index c7813a694b..ed34b89969 100644 --- a/_modules/abc.html +++ b/_modules/abc.html @@ -8,7 +8,7 @@ - abc — Flyte 0.6.0 documentation + abc — Flyte 0.7.0 documentation diff --git a/_modules/flytekit/clients/friendly.html b/_modules/flytekit/clients/friendly.html index 5c98f126bd..464de65a00 100644 --- a/_modules/flytekit/clients/friendly.html +++ b/_modules/flytekit/clients/friendly.html @@ -8,7 +8,7 @@ - flytekit.clients.friendly — Flyte 0.6.0 documentation + flytekit.clients.friendly — Flyte 0.7.0 documentation @@ -163,23 +163,31 @@

Source code for flytekit.clients.friendly

 from __future__ import absolute_import
 
 import six as _six
-
-from flyteidl.admin import task_pb2 as _task_pb2, common_pb2 as _common_pb2, workflow_pb2 as _workflow_pb2, \
-    launch_plan_pb2 as _launch_plan_pb2, execution_pb2 as _execution_pb2, node_execution_pb2 as _node_execution_pb2, \
-    task_execution_pb2 as _task_execution_pb2, project_pb2 as _project_pb2, project_domain_attributes_pb2 as \
-    _project_domain_attributes_pb2, workflow_attributes_pb2 as _workflow_attributes_pb2
-from flyteidl.core import identifier_pb2 as _identifier_pb2
+from flyteidl.admin import common_pb2 as _common_pb2
+from flyteidl.admin import execution_pb2 as _execution_pb2
+from flyteidl.admin import launch_plan_pb2 as _launch_plan_pb2
+from flyteidl.admin import matchable_resource_pb2 as _matchable_resource_pb2
+from flyteidl.admin import node_execution_pb2 as _node_execution_pb2
+from flyteidl.admin import project_domain_attributes_pb2 as _project_domain_attributes_pb2
+from flyteidl.admin import project_pb2 as _project_pb2
+from flyteidl.admin import task_execution_pb2 as _task_execution_pb2
+from flyteidl.admin import task_pb2 as _task_pb2
+from flyteidl.admin import workflow_attributes_pb2 as _workflow_attributes_pb2
+from flyteidl.admin import workflow_pb2 as _workflow_pb2
 
 from flytekit.clients.raw import RawSynchronousFlyteClient as _RawSynchronousFlyteClient
-from flytekit.models import filters as _filters, common as _common, launch_plan as _launch_plan, task as _task, \
-    execution as _execution, node_execution as _node_execution
+from flytekit.models import common as _common
+from flytekit.models import execution as _execution
+from flytekit.models import filters as _filters
+from flytekit.models import launch_plan as _launch_plan
+from flytekit.models import node_execution as _node_execution
+from flytekit.models import task as _task
+from flytekit.models.admin import task_execution as _task_execution
+from flytekit.models.admin import workflow as _workflow
 from flytekit.models.core import identifier as _identifier
-from flytekit.models.admin import workflow as _workflow, task_execution as _task_execution
-from flytekit.common.exceptions.user import FlyteAssertion as _FlyteAssertion
 
 
 
[docs]class SynchronousFlyteClient(_RawSynchronousFlyteClient): - @property def raw(self): """ @@ -194,11 +202,7 @@

Source code for flytekit.clients.friendly

     #
     ####################################################################################################################
 
-
[docs] def create_task( - self, - task_identifer, - task_spec - ): +
[docs] def create_task(self, task_identifer, task_spec): """ This will create a task definition in the Admin database. Once successful, the task object can be retrieved via the client or viewed via the UI or command-line interfaces. @@ -218,20 +222,10 @@

Source code for flytekit.clients.friendly

         :raises grpc.RpcError:
         """
         super(SynchronousFlyteClient, self).create_task(
-            _task_pb2.TaskCreateRequest(
-                id=task_identifer.to_flyte_idl(),
-                spec=task_spec.to_flyte_idl()
-            )
+            _task_pb2.TaskCreateRequest(id=task_identifer.to_flyte_idl(), spec=task_spec.to_flyte_idl())
         )
-
[docs] def list_task_ids_paginated( - self, - project, - domain, - limit=100, - token=None, - sort_by=None - ): +
[docs] def list_task_ids_paginated(self, project, domain, limit=100, token=None, sort_by=None): """ This returns a page of identifiers for the tasks for a given project and domain. Filters can also be specified. @@ -264,22 +258,15 @@

Source code for flytekit.clients.friendly

                 domain=domain,
                 limit=limit,
                 token=token,
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
-        return [
-                   _common.NamedEntityIdentifier.from_flyte_idl(identifier_pb)
-                   for identifier_pb in identifier_list.entities
-               ], _six.text_type(identifier_list.token)
- -
[docs] def list_tasks_paginated( - self, - identifier, - limit=100, - token=None, - filters=None, - sort_by=None - ): + return ( + [_common.NamedEntityIdentifier.from_flyte_idl(identifier_pb) for identifier_pb in identifier_list.entities], + _six.text_type(identifier_list.token), + )
+ +
[docs] def list_tasks_paginated(self, identifier, limit=100, token=None, filters=None, sort_by=None): """ This returns a page of task metadata for tasks in a given project and domain. Optionally, specifying a name will limit the results to only tasks with that name in the given project and domain. @@ -313,13 +300,16 @@

Source code for flytekit.clients.friendly

                 limit=limit,
                 token=token,
                 filters=_filters.FilterList(filters or []).to_flyte_idl(),
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
         # TODO: tmp workaround
         for pb in task_list.tasks:
             pb.id.resource_type = _identifier.ResourceType.TASK
-        return [_task.Task.from_flyte_idl(task_pb2) for task_pb2 in task_list.tasks], _six.text_type(task_list.token)
+ return ( + [_task.Task.from_flyte_idl(task_pb2) for task_pb2 in task_list.tasks], + _six.text_type(task_list.token), + )
[docs] def get_task(self, id): """ @@ -330,11 +320,7 @@

Source code for flytekit.clients.friendly

         :rtype: flytekit.models.task.Task
         """
         return _task.Task.from_flyte_idl(
-            super(SynchronousFlyteClient, self).get_task(
-                _common_pb2.ObjectGetRequest(
-                    id=id.to_flyte_idl()
-                )
-            )
+            super(SynchronousFlyteClient, self).get_task(_common_pb2.ObjectGetRequest(id=id.to_flyte_idl()))
         )
#################################################################################################################### @@ -343,11 +329,7 @@

Source code for flytekit.clients.friendly

     #
     ####################################################################################################################
 
-
[docs] def create_workflow( - self, - workflow_identifier, - workflow_spec - ): +
[docs] def create_workflow(self, workflow_identifier, workflow_spec): """ This will create a workflow definition in the Admin database. Once successful, the workflow object can be retrieved via the client or viewed via the UI or command-line interfaces. @@ -368,19 +350,11 @@

Source code for flytekit.clients.friendly

         """
         super(SynchronousFlyteClient, self).create_workflow(
             _workflow_pb2.WorkflowCreateRequest(
-                id=workflow_identifier.to_flyte_idl(),
-                spec=workflow_spec.to_flyte_idl()
+                id=workflow_identifier.to_flyte_idl(), spec=workflow_spec.to_flyte_idl()
             )
         )
-
[docs] def list_workflow_ids_paginated( - self, - project, - domain, - limit=100, - token=None, - sort_by=None - ): +
[docs] def list_workflow_ids_paginated(self, project, domain, limit=100, token=None, sort_by=None): """ This returns a page of identifiers for the workflows for a given project and domain. Filters can also be specified. @@ -413,22 +387,15 @@

Source code for flytekit.clients.friendly

                 domain=domain,
                 limit=limit,
                 token=token,
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
-        return [
-                   _common.NamedEntityIdentifier.from_flyte_idl(identifier_pb)
-                   for identifier_pb in identifier_list.entities
-               ], _six.text_type(identifier_list.token)
- -
[docs] def list_workflows_paginated( - self, - identifier, - limit=100, - token=None, - filters=None, - sort_by=None - ): + return ( + [_common.NamedEntityIdentifier.from_flyte_idl(identifier_pb) for identifier_pb in identifier_list.entities], + _six.text_type(identifier_list.token), + )
+ +
[docs] def list_workflows_paginated(self, identifier, limit=100, token=None, filters=None, sort_by=None): """ This returns a page of workflow meta-information for workflows in a given project and domain. Optionally, specifying a name will limit the results to only workflows with that name in the given project and domain. @@ -462,14 +429,16 @@

Source code for flytekit.clients.friendly

                 limit=limit,
                 token=token,
                 filters=_filters.FilterList(filters or []).to_flyte_idl(),
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
         # TODO: tmp workaround
         for pb in wf_list.workflows:
             pb.id.resource_type = _identifier.ResourceType.WORKFLOW
-        return [_workflow.Workflow.from_flyte_idl(wf_pb2) for wf_pb2 in wf_list.workflows], \
-            _six.text_type(wf_list.token)
+ return ( + [_workflow.Workflow.from_flyte_idl(wf_pb2) for wf_pb2 in wf_list.workflows], + _six.text_type(wf_list.token), + )
[docs] def get_workflow(self, id): """ @@ -480,11 +449,7 @@

Source code for flytekit.clients.friendly

         :rtype: flytekit.models.admin.workflow.Workflow
         """
         return _workflow.Workflow.from_flyte_idl(
-            super(SynchronousFlyteClient, self).get_workflow(
-                _common_pb2.ObjectGetRequest(
-                    id=id.to_flyte_idl()
-                )
-            )
+            super(SynchronousFlyteClient, self).get_workflow(_common_pb2.ObjectGetRequest(id=id.to_flyte_idl()))
         )
#################################################################################################################### @@ -493,11 +458,7 @@

Source code for flytekit.clients.friendly

     #
     ####################################################################################################################
 
-
[docs] def create_launch_plan( - self, - launch_plan_identifer, - launch_plan_spec - ): +
[docs] def create_launch_plan(self, launch_plan_identifer, launch_plan_spec): """ This will create a launch plan definition in the Admin database. Once successful, the launch plan object can be retrieved via the client or viewed via the UI or command-line interfaces. @@ -518,8 +479,7 @@

Source code for flytekit.clients.friendly

         """
         super(SynchronousFlyteClient, self).create_launch_plan(
             _launch_plan_pb2.LaunchPlanCreateRequest(
-                id=launch_plan_identifer.to_flyte_idl(),
-                spec=launch_plan_spec.to_flyte_idl()
+                id=launch_plan_identifer.to_flyte_idl(), spec=launch_plan_spec.to_flyte_idl(),
             )
         )
@@ -531,11 +491,7 @@

Source code for flytekit.clients.friendly

         :rtype: flytekit.models.launch_plan.LaunchPlan
         """
         return _launch_plan.LaunchPlan.from_flyte_idl(
-            super(SynchronousFlyteClient, self).get_launch_plan(
-                _common_pb2.ObjectGetRequest(
-                    id=id.to_flyte_idl()
-                )
-            )
+            super(SynchronousFlyteClient, self).get_launch_plan(_common_pb2.ObjectGetRequest(id=id.to_flyte_idl()))
         )
[docs] def get_active_launch_plan(self, identifier): @@ -548,20 +504,11 @@

Source code for flytekit.clients.friendly

         """
         return _launch_plan.LaunchPlan.from_flyte_idl(
             super(SynchronousFlyteClient, self).get_active_launch_plan(
-                _launch_plan_pb2.ActiveLaunchPlanRequest(
-                    id=identifier.to_flyte_idl()
-                )
+                _launch_plan_pb2.ActiveLaunchPlanRequest(id=identifier.to_flyte_idl())
             )
         )
-
[docs] def list_launch_plan_ids_paginated( - self, - project, - domain, - limit=100, - token=None, - sort_by=None - ): +
[docs] def list_launch_plan_ids_paginated(self, project, domain, limit=100, token=None, sort_by=None): """ This returns a page of identifiers for the launch plans for a given project and domain. Filters can also be specified. @@ -594,22 +541,15 @@

Source code for flytekit.clients.friendly

                 domain=domain,
                 limit=limit,
                 token=token,
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
-        return [
-            _common.NamedEntityIdentifier.from_flyte_idl(identifier_pb)
-            for identifier_pb in identifier_list.entities
-        ], _six.text_type(identifier_list.token)
- -
[docs] def list_launch_plans_paginated( - self, - identifier, - limit=100, - token=None, - filters=None, - sort_by=None - ): + return ( + [_common.NamedEntityIdentifier.from_flyte_idl(identifier_pb) for identifier_pb in identifier_list.entities], + _six.text_type(identifier_list.token), + )
+ +
[docs] def list_launch_plans_paginated(self, identifier, limit=100, token=None, filters=None, sort_by=None): """ This returns a page of launch plan meta-information for launch plans in a given project and domain. Optionally, specifying a name will limit the results to only workflows with that name in the given project and domain. @@ -643,23 +583,18 @@

Source code for flytekit.clients.friendly

                 limit=limit,
                 token=token,
                 filters=_filters.FilterList(filters or []).to_flyte_idl(),
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
         # TODO: tmp workaround
         for pb in lp_list.launch_plans:
             pb.id.resource_type = _identifier.ResourceType.LAUNCH_PLAN
-        return [_launch_plan.LaunchPlan.from_flyte_idl(pb) for pb in lp_list.launch_plans], \
-            _six.text_type(lp_list.token)
- -
[docs] def list_active_launch_plans_paginated( - self, - project, - domain, - limit=100, - token=None, - sort_by=None - ): + return ( + [_launch_plan.LaunchPlan.from_flyte_idl(pb) for pb in lp_list.launch_plans], + _six.text_type(lp_list.token), + )
+ +
[docs] def list_active_launch_plans_paginated(self, project, domain, limit=100, token=None, sort_by=None): """ This returns a page of currently active launch plan meta-information for launch plans in a given project and domain. @@ -692,14 +627,16 @@

Source code for flytekit.clients.friendly

                 domain=domain,
                 limit=limit,
                 token=token,
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
         # TODO: tmp workaround
         for pb in lp_list.launch_plans:
             pb.id.resource_type = _identifier.ResourceType.LAUNCH_PLAN
-        return [_launch_plan.LaunchPlan.from_flyte_idl(pb) for pb in lp_list.launch_plans], \
-            _six.text_type(lp_list.token)
+ return ( + [_launch_plan.LaunchPlan.from_flyte_idl(pb) for pb in lp_list.launch_plans], + _six.text_type(lp_list.token), + )
[docs] def update_launch_plan(self, id, state): """ @@ -712,10 +649,7 @@

Source code for flytekit.clients.friendly

         :param int state: Enum value from flytekit.models.launch_plan.LaunchPlanState
         """
         super(SynchronousFlyteClient, self).update_launch_plan(
-            _launch_plan_pb2.LaunchPlanUpdateRequest(
-                id=id.to_flyte_idl(),
-                state=state
-            )
+            _launch_plan_pb2.LaunchPlanUpdateRequest(id=id.to_flyte_idl(), state=state)
         )
#################################################################################################################### @@ -735,9 +669,7 @@

Source code for flytekit.clients.friendly

         """
         super(SynchronousFlyteClient, self).update_named_entity(
             _common_pb2.NamedEntityUpdateRequest(
-                resource_type=resource_type,
-                id=id.to_flyte_idl(),
-                metadata=metadata.to_flyte_idl(),
+                resource_type=resource_type, id=id.to_flyte_idl(), metadata=metadata.to_flyte_idl(),
             )
         )
@@ -759,7 +691,8 @@

Source code for flytekit.clients.friendly

         :rtype: flytekit.models.core.identifier.WorkflowExecutionIdentifier
         """
         return _identifier.WorkflowExecutionIdentifier.from_flyte_idl(
-            super(SynchronousFlyteClient, self).create_execution(
+            super(SynchronousFlyteClient, self)
+            .create_execution(
                 _execution_pb2.ExecutionCreateRequest(
                     project=project,
                     domain=domain,
@@ -767,7 +700,8 @@ 

Source code for flytekit.clients.friendly

                     spec=execution_spec.to_flyte_idl(),
                     inputs=inputs.to_flyte_idl(),
                 )
-            ).id
+            )
+            .id
         )
[docs] def get_execution(self, id): @@ -777,9 +711,7 @@

Source code for flytekit.clients.friendly

         """
         return _execution.Execution.from_flyte_idl(
             super(SynchronousFlyteClient, self).get_execution(
-                _execution_pb2.WorkflowExecutionGetRequest(
-                    id=id.to_flyte_idl()
-                )
+                _execution_pb2.WorkflowExecutionGetRequest(id=id.to_flyte_idl())
             )
         )
@@ -792,21 +724,11 @@

Source code for flytekit.clients.friendly

         """
         return _execution.WorkflowExecutionGetDataResponse.from_flyte_idl(
             super(SynchronousFlyteClient, self).get_execution_data(
-                _execution_pb2.WorkflowExecutionGetDataRequest(
-                    id=id.to_flyte_idl()
-                )
+                _execution_pb2.WorkflowExecutionGetDataRequest(id=id.to_flyte_idl())
             )
         )
-
[docs] def list_executions_paginated( - self, - project, - domain, - limit=100, - token=None, - filters=None, - sort_by=None - ): +
[docs] def list_executions_paginated(self, project, domain, limit=100, token=None, filters=None, sort_by=None): """ This returns a page of executions in a given project and domain. @@ -836,17 +758,17 @@

Source code for flytekit.clients.friendly

         """
         exec_list = super(SynchronousFlyteClient, self).list_executions_paginated(
             resource_list_request=_common_pb2.ResourceListRequest(
-                id=_common_pb2.NamedEntityIdentifier(
-                    project=project,
-                    domain=domain
-                ),
+                id=_common_pb2.NamedEntityIdentifier(project=project, domain=domain),
                 limit=limit,
                 token=token,
                 filters=_filters.FilterList(filters or []).to_flyte_idl(),
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
-        return [_execution.Execution.from_flyte_idl(pb) for pb in exec_list.executions], _six.text_type(exec_list.token)
+ return ( + [_execution.Execution.from_flyte_idl(pb) for pb in exec_list.executions], + _six.text_type(exec_list.token), + )
[docs] def terminate_execution(self, id, cause): """ @@ -854,10 +776,7 @@

Source code for flytekit.clients.friendly

         :param Text cause:
         """
         super(SynchronousFlyteClient, self).terminate_execution(
-            _execution_pb2.ExecutionTerminateRequest(
-                id=id.to_flyte_idl(),
-                cause=cause
-            )
+            _execution_pb2.ExecutionTerminateRequest(id=id.to_flyte_idl(), cause=cause)
         )
[docs] def relaunch_execution(self, id, name=None): @@ -869,12 +788,9 @@

Source code for flytekit.clients.friendly

         :rtype: flytekit.models.core.identifier.WorkflowExecutionIdentifier
         """
         return _identifier.WorkflowExecutionIdentifier.from_flyte_idl(
-            super(SynchronousFlyteClient, self).relaunch_execution(
-                _execution_pb2.ExecutionRelaunchRequest(
-                    id=id.to_flyte_idl(),
-                    name=name
-                )
-            ).id
+            super(SynchronousFlyteClient, self)
+            .relaunch_execution(_execution_pb2.ExecutionRelaunchRequest(id=id.to_flyte_idl(), name=name))
+            .id
         )
#################################################################################################################### @@ -890,9 +806,7 @@

Source code for flytekit.clients.friendly

         """
         return _node_execution.NodeExecution.from_flyte_idl(
             super(SynchronousFlyteClient, self).get_node_execution(
-                _node_execution_pb2.NodeExecutionGetRequest(
-                    id=node_execution_identifier.to_flyte_idl()
-                )
+                _node_execution_pb2.NodeExecutionGetRequest(id=node_execution_identifier.to_flyte_idl())
             )
         )
@@ -905,19 +819,12 @@

Source code for flytekit.clients.friendly

         """
         return _execution.NodeExecutionGetDataResponse.from_flyte_idl(
             super(SynchronousFlyteClient, self).get_node_execution_data(
-                _node_execution_pb2.NodeExecutionGetDataRequest(
-                    id=node_execution_identifier.to_flyte_idl()
-                )
+                _node_execution_pb2.NodeExecutionGetDataRequest(id=node_execution_identifier.to_flyte_idl())
             )
         )
[docs] def list_node_executions( - self, - workflow_execution_identifier, - limit=100, - token=None, - filters=None, - sort_by=None + self, workflow_execution_identifier, limit=100, token=None, filters=None, sort_by=None, ): """ TODO: Comment @@ -936,19 +843,16 @@

Source code for flytekit.clients.friendly

                 limit=limit,
                 token=token,
                 filters=_filters.FilterList(filters or []).to_flyte_idl(),
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
-        return [_node_execution.NodeExecution.from_flyte_idl(e) for e in exec_list.node_executions], \
-            _six.text_type(exec_list.token)
+ return ( + [_node_execution.NodeExecution.from_flyte_idl(e) for e in exec_list.node_executions], + _six.text_type(exec_list.token), + )
[docs] def list_node_executions_for_task_paginated( - self, - task_execution_identifier, - limit=100, - token=None, - filters=None, - sort_by=None + self, task_execution_identifier, limit=100, token=None, filters=None, sort_by=None, ): """ This returns nodes spawned by a specific task execution. This is generally from things like dynamic tasks. @@ -967,11 +871,13 @@

Source code for flytekit.clients.friendly

                 limit=limit,
                 token=token,
                 filters=_filters.FilterList(filters or []).to_flyte_idl(),
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
-        return [_node_execution.NodeExecution.from_flyte_idl(e) for e in exec_list.node_executions], \
-            _six.text_type(exec_list.token)
+ return ( + [_node_execution.NodeExecution.from_flyte_idl(e) for e in exec_list.node_executions], + _six.text_type(exec_list.token), + )
#################################################################################################################### # @@ -986,9 +892,7 @@

Source code for flytekit.clients.friendly

         """
         return _task_execution.TaskExecution.from_flyte_idl(
             super(SynchronousFlyteClient, self).get_task_execution(
-                _task_execution_pb2.TaskExecutionGetRequest(
-                    id=id.to_flyte_idl()
-                )
+                _task_execution_pb2.TaskExecutionGetRequest(id=id.to_flyte_idl())
             )
         )
@@ -1001,14 +905,13 @@

Source code for flytekit.clients.friendly

         """
         return _execution.TaskExecutionGetDataResponse.from_flyte_idl(
             super(SynchronousFlyteClient, self).get_task_execution_data(
-                _task_execution_pb2.TaskExecutionGetDataRequest(
-                    id=task_execution_identifier.to_flyte_idl()
-                )
+                _task_execution_pb2.TaskExecutionGetDataRequest(id=task_execution_identifier.to_flyte_idl())
             )
         )
-
[docs] def list_task_executions_paginated(self, node_execution_identifier, limit=100, token=None, filters=None, - sort_by=None): +
[docs] def list_task_executions_paginated( + self, node_execution_identifier, limit=100, token=None, filters=None, sort_by=None, + ): """ :param flytekit.models.core.identifier.NodeExecutionIdentifier node_execution_identifier: :param int limit: @@ -1025,11 +928,13 @@

Source code for flytekit.clients.friendly

                 limit=limit,
                 token=token,
                 filters=_filters.FilterList(filters or []).to_flyte_idl(),
-                sort_by=None if sort_by is None else sort_by.to_flyte_idl()
+                sort_by=None if sort_by is None else sort_by.to_flyte_idl(),
             )
         )
-        return [_task_execution.TaskExecution.from_flyte_idl(e) for e in exec_list.task_executions], \
-            _six.text_type(exec_list.token)
+ return ( + [_task_execution.TaskExecution.from_flyte_idl(e) for e in exec_list.task_executions], + _six.text_type(exec_list.token), + )
#################################################################################################################### # @@ -1044,9 +949,7 @@

Source code for flytekit.clients.friendly

         :rtype: flyteidl.admin.project_pb2.ProjectRegisterResponse
         """
         super(SynchronousFlyteClient, self).register_project(
-            _project_pb2.ProjectRegisterRequest(
-                project=project.to_flyte_idl(),
-            )
+            _project_pb2.ProjectRegisterRequest(project=project.to_flyte_idl(),)
         )
#################################################################################################################### @@ -1066,9 +969,7 @@

Source code for flytekit.clients.friendly

         super(SynchronousFlyteClient, self).update_project_domain_attributes(
             _project_domain_attributes_pb2.ProjectDomainAttributesUpdateRequest(
                 attributes=_project_domain_attributes_pb2.ProjectDomainAttributes(
-                    project=project,
-                    domain=domain,
-                    matching_attributes=matching_attributes.to_flyte_idl(),
+                    project=project, domain=domain, matching_attributes=matching_attributes.to_flyte_idl(),
                 )
             )
         )
@@ -1091,6 +992,45 @@

Source code for flytekit.clients.friendly

                     matching_attributes=matching_attributes.to_flyte_idl(),
                 )
             )
+        )
+ +
[docs] def get_project_domain_attributes(self, project, domain, resource_type): + """ + Fetches the custom attributes set for a project and domain combination. + :param Text project: + :param Text domain: + :param flytekit.models.MatchableResource resource_type: + :return: + """ + return super(SynchronousFlyteClient, self).get_project_domain_attributes( + _project_domain_attributes_pb2.ProjectDomainAttributesGetRequest( + project=project, domain=domain, resource_type=resource_type, + ) + )
+ +
[docs] def get_workflow_attributes(self, project, domain, workflow, resource_type): + """ + Fetches the custom attributes set for a project, domain, and workflow combination. + :param Text project: + :param Text domain: + :param Text workflow: + :param flytekit.models.MatchableResource resource_type: + :return: + """ + return super(SynchronousFlyteClient, self).get_workflow_attributes( + _workflow_attributes_pb2.WorkflowAttributesGetRequest( + project=project, domain=domain, workflow=workflow, resource_type=resource_type, + ) + )
+ +
[docs] def list_matchable_attributes(self, resource_type): + """ + Fetches all custom attributes for a resource type. + :param flytekit.models.MatchableResource resource_type: + :return: + """ + return super(SynchronousFlyteClient, self).list_matchable_attributes( + _matchable_resource_pb2.ListMatchableAttributesRequest(resource_type=resource_type,) )
diff --git a/_modules/flytekit/clients/helpers.html b/_modules/flytekit/clients/helpers.html index 16fff63990..9f0023b545 100644 --- a/_modules/flytekit/clients/helpers.html +++ b/_modules/flytekit/clients/helpers.html @@ -8,7 +8,7 @@ - flytekit.clients.helpers — Flyte 0.6.0 documentation + flytekit.clients.helpers — Flyte 0.7.0 documentation @@ -160,17 +160,8 @@

Source code for flytekit.clients.helpers

-
-from flytekit.clis.auth import credentials as _credentials_access
-
-
-
-
[docs]def iterate_node_executions( - client, - workflow_execution_identifier=None, - task_execution_identifier=None, - limit=None, - filters=None +
[docs]def iterate_node_executions( + client, workflow_execution_identifier=None, task_execution_identifier=None, limit=None, filters=None, ): """ This returns a generator for node executions. @@ -192,14 +183,11 @@

Source code for flytekit.clients.helpers

                 workflow_execution_identifier=workflow_execution_identifier,
                 limit=num_to_fetch,
                 token=token,
-                filters=filters
+                filters=filters,
             )
         else:
             node_execs, next_token = client.list_node_executions_for_task_paginated(
-                task_execution_identifier=task_execution_identifier,
-                limit=num_to_fetch,
-                token=token,
-                filters=filters
+                task_execution_identifier=task_execution_identifier, limit=num_to_fetch, token=token, filters=filters,
             )
         for n in node_execs:
             counter += 1
@@ -227,10 +215,7 @@ 

Source code for flytekit.clients.helpers

     counter = 0
     while True:
         task_execs, next_token = client.list_task_executions_paginated(
-            node_execution_identifier=node_execution_identifier,
-            limit=num_to_fetch,
-            token=token,
-            filters=filters
+            node_execution_identifier=node_execution_identifier, limit=num_to_fetch, token=token, filters=filters,
         )
         for t in task_execs:
             counter += 1
@@ -240,7 +225,6 @@ 

Source code for flytekit.clients.helpers

         if not next_token:
             break
         token = next_token
-
diff --git a/_modules/flytekit/clients/raw.html b/_modules/flytekit/clients/raw.html index be70a771a4..a6174900db 100644 --- a/_modules/flytekit/clients/raw.html +++ b/_modules/flytekit/clients/raw.html @@ -8,7 +8,7 @@ - flytekit.clients.raw — Flyte 0.6.0 documentation + flytekit.clients.raw — Flyte 0.7.0 documentation @@ -162,22 +162,24 @@

Source code for flytekit.clients.raw

 from __future__ import absolute_import
 
-from grpc import insecure_channel as _insecure_channel, secure_channel as _secure_channel, RpcError as _RpcError, \
-    StatusCode as _GrpcStatusCode, ssl_channel_credentials as _ssl_channel_credentials
-from google.protobuf.json_format import MessageToJson as _MessageToJson
-from flyteidl.service import admin_pb2_grpc as _admin_service
-from flytekit.common.exceptions import user as _user_exceptions
-from flytekit.configuration.platform import AUTH as _AUTH
-from flytekit.configuration.creds import (
-    CLIENT_ID as _CLIENT_ID,
-    CLIENT_CREDENTIALS_SCOPE as _SCOPE,
-)
-from flytekit.clis.sdk_in_container import basic_auth as _basic_auth
 import logging as _logging
+
 import six as _six
-from flytekit.configuration import creds as _creds_config, platform as _platform_config
+from flyteidl.service import admin_pb2_grpc as _admin_service
+from google.protobuf.json_format import MessageToJson as _MessageToJson
+from grpc import RpcError as _RpcError
+from grpc import StatusCode as _GrpcStatusCode
+from grpc import insecure_channel as _insecure_channel
+from grpc import secure_channel as _secure_channel
+from grpc import ssl_channel_credentials as _ssl_channel_credentials
 
 from flytekit.clis.auth import credentials as _credentials_access
+from flytekit.clis.sdk_in_container import basic_auth as _basic_auth
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.configuration import creds as _creds_config
+from flytekit.configuration.creds import CLIENT_CREDENTIALS_SCOPE as _SCOPE
+from flytekit.configuration.creds import CLIENT_ID as _CLIENT_ID
+from flytekit.configuration.platform import AUTH as _AUTH
 
 
 def _refresh_credentials_standard(flyte_client):
@@ -205,10 +207,10 @@ 

Source code for flytekit.clients.raw

     auth_endpoints = _credentials_access.get_authorization_endpoints(flyte_client.url)
     token_endpoint = auth_endpoints.token_endpoint
     client_secret = _basic_auth.get_secret()
-    _logging.debug('Basic authorization flow with client id {} scope {}'.format(_CLIENT_ID.get(), _SCOPE.get()))
+    _logging.debug("Basic authorization flow with client id {} scope {}".format(_CLIENT_ID.get(), _SCOPE.get()))
     authorization_header = _basic_auth.get_basic_authorization_header(_CLIENT_ID.get(), client_secret)
     token, expires_in = _basic_auth.get_token(token_endpoint, authorization_header, _SCOPE.get())
-    _logging.info('Retrieved new token, expires in {}'.format(expires_in))
+    _logging.info("Retrieved new token, expires in {}".format(expires_in))
     flyte_client.set_access_token(token)
 
 
@@ -223,7 +225,8 @@ 

Source code for flytekit.clients.raw

         return _refresh_credentials_basic
     else:
         raise ValueError(
-            "Invalid auth mode [{}] specified. Please update the creds config to use a valid value".format(auth_mode))
+            "Invalid auth mode [{}] specified. Please update the creds config to use a valid value".format(auth_mode)
+        )
 
 
 def _handle_rpc_error(fn):
@@ -253,6 +256,7 @@ 

Source code for flytekit.clients.raw

                 raise _user_exceptions.FlyteEntityAlreadyExistsException(_six.text_type(e))
             else:
                 raise
+
     return handler
 
 
@@ -298,9 +302,7 @@ 

Source code for flytekit.clients.raw

             self._channel = _insecure_channel(url, options=list((options or {}).items()))
         else:
             self._channel = _secure_channel(
-                url,
-                credentials or _ssl_channel_credentials(),
-                options=list((options or {}).items())
+                url, credentials or _ssl_channel_credentials(), options=list((options or {}).items()),
             )
         self._stub = _admin_service.AdminServiceStub(self._channel)
         self._metadata = None
@@ -314,7 +316,7 @@ 

Source code for flytekit.clients.raw

 
[docs] def set_access_token(self, access_token): # Always set the header to lower-case regardless of what the config is. The grpc libraries that Admin uses # to parse the metadata don't change the metadata, but they do automatically lower the key you're looking for. - self._metadata = [(_creds_config.AUTHORIZATION_METADATA_KEY.get().lower(), "Bearer {}".format(access_token))]
+ self._metadata = [(_creds_config.AUTHORIZATION_METADATA_KEY.get().lower(), "Bearer {}".format(access_token),)]
[docs] def force_auth_flow(self): refresh_handler_fn = _get_refresh_handler(_creds_config.AUTH_MODE.get()) @@ -766,20 +768,48 @@

Source code for flytekit.clients.raw

     def update_project_domain_attributes(self, project_domain_attributes_update_request):
         """
         This updates the attributes for a project and domain registered with the Flyte Admin Service
-        :param flyteidl.admin..ProjectDomainAttributesUpdateRequest project_domain_attributes_update_request:
-        :rtype: flyteidl.admin..ProjectDomainAttributesUpdateResponse
+        :param flyteidl.admin.ProjectDomainAttributesUpdateRequest project_domain_attributes_update_request:
+        :rtype: flyteidl.admin.ProjectDomainAttributesUpdateResponse
         """
-        return self._stub.UpdateProjectDomainAttributes(project_domain_attributes_update_request,
-                                                        metadata=self._metadata)
+ return self._stub.UpdateProjectDomainAttributes( + project_domain_attributes_update_request, metadata=self._metadata + )
[docs] @_handle_rpc_error def update_workflow_attributes(self, workflow_attributes_update_request): """ This updates the attributes for a project, domain, and workflow registered with the Flyte Admin Service - :param flyteidl.admin..UpdateWorkflowAttributes workflow_attributes_update_request: - :rtype: flyteidl.admin..workflow_attributes_update_requestResponse + :param flyteidl.admin.UpdateWorkflowAttributesRequest workflow_attributes_update_request: + :rtype: flyteidl.admin.WorkflowAttributesUpdateResponse + """ + return self._stub.UpdateWorkflowAttributes(workflow_attributes_update_request, metadata=self._metadata)
+ +
[docs] @_handle_rpc_error + def get_project_domain_attributes(self, project_domain_attributes_get_request): + """ + This fetches the attributes for a project and domain registered with the Flyte Admin Service + :param flyteidl.admin.ProjectDomainAttributesGetRequest project_domain_attributes_get_request: + :rtype: flyteidl.admin.ProjectDomainAttributesGetResponse + """ + return self._stub.GetProjectDomainAttributes(project_domain_attributes_get_request, metadata=self._metadata)
+ +
[docs] @_handle_rpc_error + def get_workflow_attributes(self, workflow_attributes_get_request): + """ + This fetches the attributes for a project, domain, and workflow registered with the Flyte Admin Service + :param flyteidl.admin.GetWorkflowAttributesAttributesRequest workflow_attributes_get_request: + :rtype: flyteidl.admin.WorkflowAttributesGetResponse + """ + return self._stub.GetWorkflowAttributes(workflow_attributes_get_request, metadata=self._metadata)
+ +
[docs] @_handle_rpc_error + def list_matchable_attributes(self, matchable_attributes_list_request): + """ + This fetches the attributes for a specific resource type registered with the Flyte Admin Service + :param flyteidl.admin.ListMatchableAttributesRequest matchable_attributes_list_request: + :rtype: flyteidl.admin.ListMatchableAttributesResponse """ - return self._stub.UpdateWorkflowAttributes(workflow_attributes_update_request, metadata=self._metadata)
+ return self._stub.ListMatchableAttributes(matchable_attributes_list_request, metadata=self._metadata)
#################################################################################################################### # diff --git a/_modules/flytekit/clis/auth/auth.html b/_modules/flytekit/clis/auth/auth.html index 9fa01af6e4..e0385cadec 100644 --- a/_modules/flytekit/clis/auth/auth.html +++ b/_modules/flytekit/clis/auth/auth.html @@ -8,7 +8,7 @@ - flytekit.clis.auth.auth — Flyte 0.6.0 documentation + flytekit.clis.auth.auth — Flyte 0.7.0 documentation @@ -162,13 +162,14 @@

Source code for flytekit.clis.auth.auth

 import base64 as _base64
 import hashlib as _hashlib
-import keyring as _keyring
 import os as _os
 import re as _re
-import requests as _requests
 import webbrowser as _webbrowser
+from multiprocessing import Process as _Process
+from multiprocessing import Queue as _Queue
 
-from multiprocessing import Process as _Process, Queue as _Queue
+import keyring as _keyring
+import requests as _requests
 
 try:  # Python 3.5+
     from http import HTTPStatus as _StatusCodes
@@ -186,12 +187,13 @@ 

Source code for flytekit.clis.auth.auth

     import urllib.parse as _urlparse
     from urllib.parse import urlencode as _urlencode
 except ImportError:  # Python 2
-    import urlparse as _urlparse
     from urllib import urlencode as _urlencode
 
+    import urlparse as _urlparse
+
 _code_verifier_length = 64
 _random_seed_length = 40
-_utf_8 = 'utf-8'
+_utf_8 = "utf-8"
 
 
 # Identifies the service used for storing passwords in keyring
@@ -210,7 +212,7 @@ 

Source code for flytekit.clis.auth.auth

     """
     code_verifier = _base64.urlsafe_b64encode(_os.urandom(_code_verifier_length)).decode(_utf_8)
     # Eliminate invalid characters.
-    code_verifier = _re.sub(r'[^a-zA-Z0-9_\-.~]+', '', code_verifier)
+    code_verifier = _re.sub(r"[^a-zA-Z0-9_\-.~]+", "", code_verifier)
     if len(code_verifier) < 43:
         raise ValueError("Verifier too short. number of bytes must be > 30.")
     elif len(code_verifier) > 128:
@@ -221,7 +223,7 @@ 

Source code for flytekit.clis.auth.auth

 def _generate_state_parameter():
     state = _base64.urlsafe_b64encode(_os.urandom(_random_seed_length)).decode(_utf_8)
     # Eliminate invalid characters.
-    code_verifier = _re.sub('[^a-zA-Z0-9-_.,]+', '', state)
+    code_verifier = _re.sub("[^a-zA-Z0-9-_.,]+", "", state)
     return code_verifier
 
 
@@ -234,7 +236,7 @@ 

Source code for flytekit.clis.auth.auth

     code_challenge = _hashlib.sha256(code_verifier.encode(_utf_8)).digest()
     code_challenge = _base64.urlsafe_b64encode(code_challenge).decode(_utf_8)
     # Eliminate invalid characters
-    code_challenge = code_challenge.replace('=', '')
+    code_challenge = code_challenge.replace("=", "")
     return code_challenge
 
 
@@ -268,7 +270,7 @@ 

Source code for flytekit.clis.auth.auth

             self.send_response(_StatusCodes.NOT_FOUND)
[docs] def handle_login(self, data): - self.server.handle_authorization_code(AuthorizationCode(data['code'], data['state']))
+ self.server.handle_authorization_code(AuthorizationCode(data["code"], data["state"]))
[docs]class OAuthHTTPServer(_BaseHTTPServer.HTTPServer): @@ -276,8 +278,10 @@

Source code for flytekit.clis.auth.auth

     A simple wrapper around the BaseHTTPServer.HTTPServer implementation that binds an authorization_client for handling
     authorization code callbacks.
     """
-    def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True,
-                 redirect_path=None, queue=None):
+
+    def __init__(
+        self, server_address, RequestHandlerClass, bind_and_activate=True, redirect_path=None, queue=None,
+    ):
         _BaseHTTPServer.HTTPServer.__init__(self, server_address, RequestHandlerClass, bind_and_activate)
         self._redirect_path = redirect_path
         self._auth_code = None
@@ -313,7 +317,7 @@ 

Source code for flytekit.clis.auth.auth

         self._state = state
         self._credentials = None
         self._refresh_token = None
-        self._headers = {'content-type': "application/x-www-form-urlencoded"}
+        self._headers = {"content-type": "application/x-www-form-urlencoded"}
         self._expired = False
 
         self._params = {
@@ -387,22 +391,18 @@ 

Source code for flytekit.clis.auth.auth

 
[docs] def request_access_token(self, auth_code): if self._state != auth_code.state: raise ValueError("Unexpected state parameter [{}] passed".format(auth_code.state)) - self._params.update({ - "code": auth_code.code, - "code_verifier": self._code_verifier, - "grant_type": "authorization_code", - }) + self._params.update( + {"code": auth_code.code, "code_verifier": self._code_verifier, "grant_type": "authorization_code"} + ) resp = _requests.post( - url=self._token_endpoint, - data=self._params, - headers=self._headers, - allow_redirects=False + url=self._token_endpoint, data=self._params, headers=self._headers, allow_redirects=False, ) if resp.status_code != _StatusCodes.OK: # TODO: handle expected (?) error cases: # https://auth0.com/docs/flows/guides/device-auth/call-api-device-auth#token-responses - raise Exception('Failed to request access token with response: [{}] {}'.format( - resp.status_code, resp.content)) + raise Exception( + "Failed to request access token with response: [{}] {}".format(resp.status_code, resp.content) + ) self._initialize_credentials(resp)
[docs] def refresh_access_token(self): @@ -411,11 +411,9 @@

Source code for flytekit.clis.auth.auth

 
         resp = _requests.post(
             url=self._token_endpoint,
-            data={'grant_type': 'refresh_token',
-                  'client_id': self._client_id,
-                  'refresh_token': self._refresh_token},
+            data={"grant_type": "refresh_token", "client_id": self._client_id, "refresh_token": self._refresh_token},
             headers=self._headers,
-            allow_redirects=False
+            allow_redirects=False,
         )
         if resp.status_code != _StatusCodes.OK:
             self._expired = True
diff --git a/_modules/flytekit/clis/auth/credentials.html b/_modules/flytekit/clis/auth/credentials.html
index 8a9cda8fa2..52881a401e 100644
--- a/_modules/flytekit/clis/auth/credentials.html
+++ b/_modules/flytekit/clis/auth/credentials.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.clis.auth.credentials — Flyte 0.6.0 documentation
+  flytekit.clis.auth.credentials — Flyte 0.7.0 documentation
   
 
   
@@ -163,18 +163,15 @@ 

Source code for flytekit.clis.auth.credentials

from __future__ import absolute_import import logging as _logging +import urllib.parse as _urlparse from flytekit.clis.auth.auth import AuthorizationClient as _AuthorizationClient from flytekit.clis.auth.discovery import DiscoveryClient as _DiscoveryClient - -from flytekit.configuration.creds import ( - REDIRECT_URI as _REDIRECT_URI, - CLIENT_ID as _CLIENT_ID, -) -from flytekit.configuration.platform import URL as _URL, INSECURE as _INSECURE, HTTP_URL as _HTTP_URL - - -import urllib.parse as _urlparse +from flytekit.configuration.creds import CLIENT_ID as _CLIENT_ID +from flytekit.configuration.creds import REDIRECT_URI as _REDIRECT_URI +from flytekit.configuration.platform import HTTP_URL as _HTTP_URL +from flytekit.configuration.platform import INSECURE as _INSECURE +from flytekit.configuration.platform import URL as _URL # Default, well known-URI string used for fetching JSON metadata. See https://tools.ietf.org/html/rfc8414#section-3. discovery_endpoint_path = "./.well-known/oauth-authorization-server" @@ -185,17 +182,17 @@

Source code for flytekit.clis.auth.credentials

if http_config_val: scheme, netloc, path, _, _, _ = _urlparse.urlparse(http_config_val) if not scheme: - scheme = 'http' if insecure_val else 'https' + scheme = "http" if insecure_val else "https" else: # Use the main _URL config object effectively - scheme = 'http' if insecure_val else 'https' + scheme = "http" if insecure_val else "https" netloc = platform_url_val - path = '' + path = "" computed_endpoint = _urlparse.urlunparse((scheme, netloc, path, None, None, None)) # The urljoin function needs a trailing slash in order to append things correctly. Also, having an extra slash # at the end is okay, it just gets stripped out. - computed_endpoint = _urlparse.urljoin(computed_endpoint + '/', discovery_endpoint_path) - _logging.info('Using {} as discovery endpoint'.format(computed_endpoint)) + computed_endpoint = _urlparse.urljoin(computed_endpoint + "/", discovery_endpoint_path) + _logging.info("Using {} as discovery endpoint".format(computed_endpoint)) return computed_endpoint @@ -209,10 +206,12 @@

Source code for flytekit.clis.auth.credentials

return _authorization_client authorization_endpoints = get_authorization_endpoints(flyte_client_url) - _authorization_client =\ - _AuthorizationClient(redirect_uri=_REDIRECT_URI.get(), client_id=_CLIENT_ID.get(), - auth_endpoint=authorization_endpoints.auth_endpoint, - token_endpoint=authorization_endpoints.token_endpoint) + _authorization_client = _AuthorizationClient( + redirect_uri=_REDIRECT_URI.get(), + client_id=_CLIENT_ID.get(), + auth_endpoint=authorization_endpoints.auth_endpoint, + token_endpoint=authorization_endpoints.token_endpoint, + ) return _authorization_client

diff --git a/_modules/flytekit/clis/auth/discovery.html b/_modules/flytekit/clis/auth/discovery.html index afcb097533..fe55efa50e 100644 --- a/_modules/flytekit/clis/auth/discovery.html +++ b/_modules/flytekit/clis/auth/discovery.html @@ -8,7 +8,7 @@ - flytekit.clis.auth.discovery — Flyte 0.6.0 documentation + flytekit.clis.auth.discovery — Flyte 0.7.0 documentation @@ -160,16 +160,9 @@

Source code for flytekit.clis.auth.discovery

-import requests as _requests
-import logging
+import logging
 
-try:  # Python 3.5+
-    from http import HTTPStatus as _StatusCodes
-except ImportError:
-    try:  # Python 3
-        from http import client as _StatusCodes
-    except ImportError:  # Python 2
-        import httplib as _StatusCodes
+import requests as _requests
 
 # These response keys are defined in https://tools.ietf.org/id/draft-ietf-oauth-discovery-08.html.
 _authorization_endpoint_key = "authorization_endpoint"
@@ -180,6 +173,7 @@ 

Source code for flytekit.clis.auth.discovery

"""
     A simple wrapper around commonly discovered endpoints used for the PKCE auth flow.
     """
+
     def __init__(self, auth_endpoint=None, token_endpoint=None):
         self._auth_endpoint = auth_endpoint
         self._token_endpoint = token_endpoint
@@ -214,9 +208,7 @@ 

Source code for flytekit.clis.auth.discovery

[docs]    def get_authorization_endpoints(self):
         if self.authorization_endpoints is not None:
             return self.authorization_endpoints
-        resp = _requests.get(
-            url=self._discovery_url,
-        )
+        resp = _requests.get(url=self._discovery_url,)
 
         response_body = resp.json()
 
@@ -224,19 +216,20 @@ 

Source code for flytekit.clis.auth.discovery

token_endpoint = response_body[_token_endpoint_key]
 
         if authorization_endpoint is None:
-            raise ValueError('Unable to discover authorization endpoint')
+            raise ValueError("Unable to discover authorization endpoint")
 
         if token_endpoint is None:
-            raise ValueError('Unable to discover token endpoint')
+            raise ValueError("Unable to discover token endpoint")
 
         if authorization_endpoint.startswith("/"):
-             authorization_endpoint= _requests.compat.urljoin(self._discovery_url, authorization_endpoint)
+            authorization_endpoint = _requests.compat.urljoin(self._discovery_url, authorization_endpoint)
 
         if token_endpoint.startswith("/"):
             token_endpoint = _requests.compat.urljoin(self._discovery_url, token_endpoint)
 
-        self._authorization_endpoints = AuthorizationEndpoints(auth_endpoint=authorization_endpoint,
-                                                               token_endpoint=token_endpoint)
+        self._authorization_endpoints = AuthorizationEndpoints(
+            auth_endpoint=authorization_endpoint, token_endpoint=token_endpoint
+        )
         return self.authorization_endpoints
diff --git a/_modules/flytekit/clis/helpers.html b/_modules/flytekit/clis/helpers.html index d8a124374a..04daf524c7 100644 --- a/_modules/flytekit/clis/helpers.html +++ b/_modules/flytekit/clis/helpers.html @@ -8,7 +8,7 @@ - flytekit.clis.helpers — Flyte 0.6.0 documentation + flytekit.clis.helpers — Flyte 0.7.0 documentation @@ -203,8 +203,7 @@

Source code for flytekit.clis.helpers

     :rtype: dict[Text, Text]
     """
 
-    return {split_arg[0]: split_arg[1] for split_arg in
-            [input_arg.split('=', 1) for input_arg in input_arguments]}
+ return {split_arg[0]: split_arg[1] for split_arg in [input_arg.split("=", 1) for input_arg in input_arguments]}
[docs]def construct_literal_map_from_parameter_map(parameter_map, text_args): @@ -227,7 +226,7 @@

Source code for flytekit.clis.helpers

             if var_name in text_args and text_args[var_name] is not None:
                 inputs[var_name] = sdk_type.from_string(text_args[var_name])
             else:
-                raise Exception('Missing required parameter {}'.format(var_name))
+                raise Exception("Missing required parameter {}".format(var_name))
         else:
             if var_name in text_args and text_args[var_name] is not None:
                 inputs[var_name] = sdk_type.from_string(text_args[var_name])
@@ -243,7 +242,7 @@ 

Source code for flytekit.clis.helpers

     :param Text str:
     :rtype: bool
     """
-    return not str.lower() in ['false', '0', 'off', 'no']
+ return not str.lower() in ["false", "0", "off", "no"]
diff --git a/_modules/flytekit/clis/sdk_in_container/basic_auth.html b/_modules/flytekit/clis/sdk_in_container/basic_auth.html index 52cd1aafad..e6e1df2705 100644 --- a/_modules/flytekit/clis/sdk_in_container/basic_auth.html +++ b/_modules/flytekit/clis/sdk_in_container/basic_auth.html @@ -8,7 +8,7 @@ - flytekit.clis.sdk_in_container.basic_auth — Flyte 0.6.0 documentation + flytekit.clis.sdk_in_container.basic_auth — Flyte 0.7.0 documentation @@ -168,11 +168,9 @@

Source code for flytekit.clis.sdk_in_container.basic_auth

import requests as _requests from flytekit.common.exceptions.user import FlyteAuthenticationException as _FlyteAuthenticationException -from flytekit.configuration.creds import ( - CLIENT_CREDENTIALS_SECRET as _CREDENTIALS_SECRET, -) +from flytekit.configuration.creds import CLIENT_CREDENTIALS_SECRET as _CREDENTIALS_SECRET -_utf_8 = 'utf-8' +_utf_8 = "utf-8"
[docs]def get_secret(): @@ -184,7 +182,7 @@

Source code for flytekit.clis.sdk_in_container.basic_auth

secret = _CREDENTIALS_SECRET.get() if secret: return secret - raise _FlyteAuthenticationException('No secret could be found')
+ raise _FlyteAuthenticationException("No secret could be found")
[docs]def get_basic_authorization_header(client_id, client_secret): @@ -208,23 +206,23 @@

Source code for flytekit.clis.sdk_in_container.basic_auth

in seconds """ headers = { - 'Authorization': authorization_header, - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'Content-Type': 'application/x-www-form-urlencoded' + "Authorization": authorization_header, + "Cache-Control": "no-cache", + "Accept": "application/json", + "Content-Type": "application/x-www-form-urlencoded", } body = { - 'grant_type': 'client_credentials', + "grant_type": "client_credentials", } if scope is not None: - body['scope'] = scope + body["scope"] = scope response = _requests.post(token_endpoint, data=body, headers=headers) if response.status_code != 200: _logging.error("Non-200 ({}) received from IDP: {}".format(response.status_code, response.text)) - raise _FlyteAuthenticationException('Non-200 received from IDP') + raise _FlyteAuthenticationException("Non-200 received from IDP") response = response.json() - return response['access_token'], response['expires_in']
+ return response["access_token"], response["expires_in"]
diff --git a/_modules/flytekit/clis/sdk_in_container/launch_plan.html b/_modules/flytekit/clis/sdk_in_container/launch_plan.html index f231561a7d..1d3bd779a5 100644 --- a/_modules/flytekit/clis/sdk_in_container/launch_plan.html +++ b/_modules/flytekit/clis/sdk_in_container/launch_plan.html @@ -8,7 +8,7 @@ - flytekit.clis.sdk_in_container.launch_plan — Flyte 0.6.0 documentation + flytekit.clis.sdk_in_container.launch_plan — Flyte 0.7.0 documentation @@ -162,16 +162,17 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

 from __future__ import absolute_import
 
+import logging as _logging
+
 import click
 import six as _six
-import logging as _logging
 
 from flytekit.clis.helpers import construct_literal_map_from_parameter_map as _construct_literal_map_from_parameter_map
 from flytekit.clis.sdk_in_container import constants as _constants
 from flytekit.common import utils as _utils
 from flytekit.common.launch_plan import SdkLaunchPlan as _SdkLaunchPlan
-from flytekit.configuration.internal import look_up_version_from_image_tag as _look_up_version_from_image_tag, \
-    IMAGE as _IMAGE
+from flytekit.configuration.internal import IMAGE as _IMAGE
+from flytekit.configuration.internal import look_up_version_from_image_tag as _look_up_version_from_image_tag
 from flytekit.models import launch_plan as _launch_plan_model
 from flytekit.models.core import identifier as _identifier
 from flytekit.tools.module_loader import iterate_registerable_entities_in_order
@@ -192,13 +193,13 @@ 

Source code for flytekit.clis.sdk_in_container.launch_plan

pkgs = ctx.obj[_constants.CTX_PACKAGES] # Discover all launch plans by loading the modules for m, k, lp in iterate_registerable_entities_in_order( - pkgs, include_entities={_SdkLaunchPlan}, - detect_unreferenced_entities=False): + pkgs, include_entities={_SdkLaunchPlan}, detect_unreferenced_entities=False + ): safe_name = _utils.fqdn(m.__name__, k, entity_type=lp.resource_type) commands.append(safe_name) lps[safe_name] = lp - ctx.obj['lps'] = lps + ctx.obj["lps"] = lps commands.sort() return commands
@@ -210,24 +211,25 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

launch_plan = None pkgs = ctx.obj[_constants.CTX_PACKAGES] - if 'lps' in ctx.obj: - launch_plan = ctx.obj['lps'][lp_argument] + if "lps" in ctx.obj: + launch_plan = ctx.obj["lps"][lp_argument] else: for m, k, lp in iterate_registerable_entities_in_order( - pkgs, include_entities={_SdkLaunchPlan}, detect_unreferenced_entities=False): + pkgs, include_entities={_SdkLaunchPlan}, detect_unreferenced_entities=False, + ): safe_name = _utils.fqdn(m.__name__, k, entity_type=lp.resource_type) if lp_argument == safe_name: launch_plan = lp if launch_plan is None: - raise Exception('Could not load launch plan {}'.format(lp_argument)) + raise Exception("Could not load launch plan {}".format(lp_argument)) launch_plan._id = _identifier.Identifier( _identifier.ResourceType.LAUNCH_PLAN, ctx.obj[_constants.CTX_PROJECT], ctx.obj[_constants.CTX_DOMAIN], lp_argument, - ctx.obj[_constants.CTX_VERSION] + ctx.obj[_constants.CTX_VERSION], ) return self._get_command(ctx, launch_plan, lp_argument)
@@ -241,7 +243,6 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

[docs]class LaunchPlanExecuteGroup(LaunchPlanAbstractGroup): - def _get_command(self, ctx, lp, cmd_name): """ This function returns the function that click will actually use to execute a specific launch plan. It also @@ -262,10 +263,11 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

ctx.obj[_constants.CTX_PROJECT], ctx.obj[_constants.CTX_DOMAIN], literal_inputs=inputs, - notification_overrides=ctx.obj.get(_constants.CTX_NOTIFICATIONS, None) + notification_overrides=ctx.obj.get(_constants.CTX_NOTIFICATIONS, None), + ) + click.echo( + click.style("Workflow scheduled, execution_id={}".format(_six.text_type(execution.id)), fg="blue",) ) - click.echo(click.style("Workflow scheduled, execution_id={}".format( - _six.text_type(execution.id)), fg='blue')) command = click.Command(name=cmd_name, callback=_execute_lp) @@ -274,15 +276,13 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

param = lp.default_inputs.parameters[var_name] # TODO: Figure out how to better handle the fact that we want strings to parse, # but we probably shouldn't have click say that that's the type on the CLI. - help_msg = '{} Type: {}'.format( - _six.text_type(param.var.description), - _six.text_type(param.var.type) + help_msg = "{} Type: {}".format( + _six.text_type(param.var.description), _six.text_type(param.var.type) ).strip() if param.required: # If it's a required input, add the required flag - wrapper = click.option('--{}'.format(var_name), required=True, type=_six.text_type, - help=help_msg) + wrapper = click.option("--{}".format(var_name), required=True, type=_six.text_type, help=help_msg,) else: # If it's not a required input, it should have a default # Use to_python_std so that the text of the default ends up being parseable, if not, the click @@ -290,16 +290,19 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

# we'd get '11' and then we'd need annoying logic to differentiate between the default text # and user text. default = param.default.to_python_std() - wrapper = click.option('--{}'.format(var_name), default='{}'.format(_six.text_type(default)), - type=_six.text_type, - help='{}. Default: {}'.format(help_msg, _six.text_type(default))) + wrapper = click.option( + "--{}".format(var_name), + default="{}".format(_six.text_type(default)), + type=_six.text_type, + help="{}. Default: {}".format(help_msg, _six.text_type(default)), + ) command = wrapper(command) return command
-@click.group('lp') +@click.group("lp") @click.pass_context def launch_plans(ctx): """ @@ -308,7 +311,7 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

pass -@click.group('execute', cls=LaunchPlanExecuteGroup) +@click.group("execute", cls=LaunchPlanExecuteGroup) @click.pass_context def execute_launch_plan(ctx): """ @@ -331,16 +334,20 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

project, domain, _utils.fqdn(m.__name__, k, entity_type=lp.resource_type), - version + version, ) if not (lp.is_scheduled and ignore_schedules): _logging.info(f"Setting active {_utils.fqdn(m.__name__, k, entity_type=lp.resource_type)}") lp.update(_launch_plan_model.LaunchPlanState.ACTIVE)
-@click.command('activate-all-schedules') -@click.option('-v', '--version', type=str, help='Version to register tasks with. This is normally parsed from the' - 'image, but you can override here.') +@click.command("activate-all-schedules") +@click.option( + "-v", + "--version", + type=str, + help="Version to register tasks with. This is normally parsed from the" "image, but you can override here.", +) @click.pass_context def activate_all_schedules(ctx, version=None): """ @@ -348,7 +355,9 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

The behavior of this command is identical to activate-all. """ - click.secho("activate-all-schedules is deprecated, please use activate-all instead.", color="yellow") + click.secho( + "activate-all-schedules is deprecated, please use activate-all instead.", color="yellow", + ) project = ctx.obj[_constants.CTX_PROJECT] domain = ctx.obj[_constants.CTX_DOMAIN] pkgs = ctx.obj[_constants.CTX_PACKAGES] @@ -356,10 +365,16 @@

Source code for flytekit.clis.sdk_in_container.launch_plan

activate_all_impl(project, domain, version, pkgs) -@click.command('activate-all') -@click.option('-v', '--version', type=str, help='Version to register tasks with. This is normally parsed from the' - 'image, but you can override here.') -@click.option("--ignore-schedules", is_flag=True, help='Activate all except for launch plans with schedules.') +@click.command("activate-all") +@click.option( + "-v", + "--version", + type=str, + help="Version to register tasks with. This is normally parsed from the" "image, but you can override here.", +) +@click.option( + "--ignore-schedules", is_flag=True, help="Activate all except for launch plans with schedules.", +) @click.pass_context def activate_all(ctx, version=None, ignore_schedules=False): """ diff --git a/_modules/flytekit/clis/sdk_in_container/pyflyte.html b/_modules/flytekit/clis/sdk_in_container/pyflyte.html index 37f33b73e0..05c9d2159c 100644 --- a/_modules/flytekit/clis/sdk_in_container/pyflyte.html +++ b/_modules/flytekit/clis/sdk_in_container/pyflyte.html @@ -8,7 +8,7 @@ - flytekit.clis.sdk_in_container.pyflyte — Flyte 0.6.0 documentation + flytekit.clis.sdk_in_container.pyflyte — Flyte 0.7.0 documentation @@ -160,11 +160,11 @@

Source code for flytekit.clis.sdk_in_container.pyflyte

-from __future__ import absolute_import
-from __future__ import print_function
+from __future__ import absolute_import, print_function
 
-import os as _os
 import logging as _logging
+import os as _os
+
 import click
 
 try:
@@ -172,32 +172,49 @@ 

Source code for flytekit.clis.sdk_in_container.pyflyte

except ImportError: from pathlib2 import Path # python 2 backport -from flytekit.clis.sdk_in_container.constants import CTX_PACKAGES +from flytekit.clis.sdk_in_container.constants import CTX_DOMAIN, CTX_PACKAGES, CTX_PROJECT, CTX_VERSION +from flytekit.clis.sdk_in_container.launch_plan import launch_plans from flytekit.clis.sdk_in_container.register import register from flytekit.clis.sdk_in_container.serialize import serialize -from flytekit.clis.sdk_in_container.constants import CTX_PROJECT, CTX_DOMAIN, CTX_VERSION -from flytekit.clis.sdk_in_container.launch_plan import launch_plans -from flytekit.configuration import internal as _internal_config, platform as _platform_config, sdk as _sdk_config - +from flytekit.configuration import internal as _internal_config +from flytekit.configuration import platform as _platform_config +from flytekit.configuration import sdk as _sdk_config +from flytekit.configuration import set_flyte_config_file from flytekit.configuration.internal import CONFIGURATION_PATH +from flytekit.configuration.internal import IMAGE as _IMAGE +from flytekit.configuration.internal import look_up_version_from_image_tag as _look_up_version_from_image_tag from flytekit.configuration.platform import URL as _URL -from flytekit.configuration import set_flyte_config_file -from flytekit.configuration.internal import look_up_version_from_image_tag as _look_up_version_from_image_tag, \ - IMAGE as _IMAGE from flytekit.configuration.sdk import WORKFLOW_PACKAGES as _WORKFLOW_PACKAGES -@click.group('pyflyte', invoke_without_command=True) -@click.option('-p', '--project', required=True, type=str, - help='Flyte project to use. You can have more than one project per repo') -@click.option('-d', '--domain', required=True, type=str, help='This is usually development, staging, or production') -@click.option('-c', '--config', required=False, type=str, help='Path to config file for use within container') -@click.option('-k', '--pkgs', required=False, multiple=True, - help='Dot separated python packages to operate on. Multiple may be specified Please note that this ' - 'option will override the option specified in the configuration file, or environment variable') -@click.option('-v', '--version', required=False, type=str, help='This is the version to apply globally for this ' - 'context') -@click.option('-i', '--insecure', required=False, type=bool, help='Do not use SSL to connect to Admin') +@click.group("pyflyte", invoke_without_command=True) +@click.option( + "-p", + "--project", + required=True, + type=str, + help="Flyte project to use. You can have more than one project per repo", +) +@click.option( + "-d", "--domain", required=True, type=str, help="This is usually development, staging, or production", +) +@click.option( + "-c", "--config", required=False, type=str, help="Path to config file for use within container", +) +@click.option( + "-k", + "--pkgs", + required=False, + multiple=True, + help="Dot separated python packages to operate on. Multiple may be specified Please note that this " + "option will override the option specified in the configuration file, or environment variable", +) +@click.option( + "-v", "--version", required=False, type=str, help="This is the version to apply globally for this " "context", +) +@click.option( + "-i", "--insecure", required=False, type=bool, help="Do not use SSL to connect to Admin", +) @click.pass_context def main(ctx, project, domain, config=None, pkgs=None, version=None, insecure=None): """ @@ -221,7 +238,7 @@

Source code for flytekit.clis.sdk_in_container.pyflyte

# says no, let's override the config object by overriding the environment variable. if insecure and not _platform_config.INSECURE.get(): _platform_config.INSECURE.get() - _os.environ[_platform_config.INSECURE.env_var] = 'True' + _os.environ[_platform_config.INSECURE.env_var] = "True" # Handle package management - get from config if not specified on the command line pkgs = pkgs or [] @@ -243,14 +260,19 @@

Source code for flytekit.clis.sdk_in_container.pyflyte

""" configuration_file = Path(config_file_path or CONFIGURATION_PATH.get()) if configuration_file.is_file(): - click.secho('Using configuration file at {}'.format(configuration_file.absolute().as_posix()), - fg='green') + click.secho( + "Using configuration file at {}".format(configuration_file.absolute().as_posix()), fg="green", + ) set_flyte_config_file(configuration_file.as_posix()) else: - click.secho("Configuration file '{}' could not be loaded. Using values from environment.".format(CONFIGURATION_PATH.get()), - color='yellow') + click.secho( + "Configuration file '{}' could not be loaded. Using values from environment.".format( + CONFIGURATION_PATH.get() + ), + color="yellow", + ) set_flyte_config_file(None) - click.secho('Flyte Admin URL {}'.format(_URL.get()), fg='green')
+ click.secho("Flyte Admin URL {}".format(_URL.get()), fg="green")
main.add_command(register) diff --git a/_modules/flytekit/clis/sdk_in_container/register.html b/_modules/flytekit/clis/sdk_in_container/register.html index f2325f3406..a1e6fe9aba 100644 --- a/_modules/flytekit/clis/sdk_in_container/register.html +++ b/_modules/flytekit/clis/sdk_in_container/register.html @@ -8,7 +8,7 @@ - flytekit.clis.sdk_in_container.register — Flyte 0.6.0 documentation + flytekit.clis.sdk_in_container.register — Flyte 0.7.0 documentation @@ -166,20 +166,23 @@

Source code for flytekit.clis.sdk_in_container.register

import click -from flytekit.clis.sdk_in_container.constants import CTX_PROJECT, CTX_DOMAIN, CTX_TEST, CTX_PACKAGES, CTX_VERSION +from flytekit.clis.sdk_in_container.constants import CTX_DOMAIN, CTX_PACKAGES, CTX_PROJECT, CTX_TEST, CTX_VERSION from flytekit.common import utils as _utils from flytekit.common.core import identifier as _identifier from flytekit.common.tasks import task as _task -from flytekit.configuration.internal import look_up_version_from_image_tag as _look_up_version_from_image_tag, \ - IMAGE as _IMAGE +from flytekit.configuration.internal import IMAGE as _IMAGE +from flytekit.configuration.internal import look_up_version_from_image_tag as _look_up_version_from_image_tag from flytekit.tools.module_loader import iterate_registerable_entities_in_order
[docs]def register_all(project, domain, pkgs, test, version): if test: - click.echo('Test switch enabled, not doing anything...') - click.echo('Running task, workflow, and launch plan registration for {}, {}, {} with version {}'.format( - project, domain, pkgs, version)) + click.echo("Test switch enabled, not doing anything...") + click.echo( + "Running task, workflow, and launch plan registration for {}, {}, {} with version {}".format( + project, domain, pkgs, version + ) + ) # m = module (i.e. python file) # k = value of dir(m), type str @@ -188,13 +191,7 @@

Source code for flytekit.clis.sdk_in_container.register

for m, k, o in iterate_registerable_entities_in_order(pkgs): name = _utils.fqdn(m.__name__, k, entity_type=o.resource_type) _logging.debug("Found module {}\n K: {} Instantiated in {}".format(m, k, o._instantiated_in)) - o._id = _identifier.Identifier( - o.resource_type, - project, - domain, - name, - version - ) + o._id = _identifier.Identifier(o.resource_type, project, domain, name, version) loaded_entities.append(o) for o in loaded_entities: @@ -207,10 +204,9 @@

Source code for flytekit.clis.sdk_in_container.register

[docs]def register_tasks_only(project, domain, pkgs, test, version): if test: - click.echo('Test switch enabled, not doing anything...') + click.echo("Test switch enabled, not doing anything...") - click.echo('Running task only registration for {}, {}, {} with version {}'.format( - project, domain, pkgs, version)) + click.echo("Running task only registration for {}, {}, {} with version {}".format(project, domain, pkgs, version)) # Discover all tasks by loading the module for m, k, t in iterate_registerable_entities_in_order(pkgs, include_entities={_task.SdkTask}): @@ -223,10 +219,12 @@

Source code for flytekit.clis.sdk_in_container.register

t.register(project, domain, name, version)
-@click.group('register') +@click.group("register") # --pkgs on the register group is DEPRECATED, use same arg on pyflyte.main instead -@click.option('--pkgs', multiple=True, help="DEPRECATED. This arg can only be used before the 'register' keyword") -@click.option('--test', is_flag=True, help='Dry run, do not actually register with Admin') +@click.option( + "--pkgs", multiple=True, help="DEPRECATED. This arg can only be used before the 'register' keyword", +) +@click.option("--test", is_flag=True, help="Dry run, do not actually register with Admin") @click.pass_context def register(ctx, pkgs=None, test=None): """ @@ -241,9 +239,13 @@

Source code for flytekit.clis.sdk_in_container.register

ctx.obj[CTX_TEST] = test -@click.command('tasks') -@click.option('-v', '--version', type=str, help='Version to register tasks with. This is normally parsed from the' - 'image, but you can override here.') +@click.command("tasks") +@click.option( + "-v", + "--version", + type=str, + help="Version to register tasks with. This is normally parsed from the" "image, but you can override here.", +) @click.pass_context def tasks(ctx, version=None): """ @@ -258,9 +260,13 @@

Source code for flytekit.clis.sdk_in_container.register

register_tasks_only(project, domain, pkgs, test, version) -@click.command('workflows') -@click.option('-v', '--version', type=str, help='Version to register tasks with. This is normally parsed from the' - 'image, but you can override here.') +@click.command("workflows") +@click.option( + "-v", + "--version", + type=str, + help="Version to register tasks with. This is normally parsed from the" "image, but you can override here.", +) @click.pass_context def workflows(ctx, version=None): """ diff --git a/_modules/flytekit/clis/sdk_in_container/serialize.html b/_modules/flytekit/clis/sdk_in_container/serialize.html index 4583d6de08..1b355e6a93 100644 --- a/_modules/flytekit/clis/sdk_in_container/serialize.html +++ b/_modules/flytekit/clis/sdk_in_container/serialize.html @@ -8,7 +8,7 @@ - flytekit.clis.sdk_in_container.serialize — Flyte 0.6.0 documentation + flytekit.clis.sdk_in_container.serialize — Flyte 0.7.0 documentation @@ -160,8 +160,7 @@

Source code for flytekit.clis.sdk_in_container.serialize

-from __future__ import absolute_import
-from __future__ import print_function
+from __future__ import absolute_import, print_function
 
 import logging as _logging
 import math as _math
@@ -169,7 +168,7 @@ 

Source code for flytekit.clis.sdk_in_container.serialize

import click -from flytekit.clis.sdk_in_container.constants import CTX_PACKAGES, CTX_PROJECT, CTX_DOMAIN, CTX_VERSION +from flytekit.clis.sdk_in_container.constants import CTX_DOMAIN, CTX_PACKAGES, CTX_PROJECT, CTX_VERSION from flytekit.common import utils as _utils from flytekit.common.core import identifier as _identifier from flytekit.common.exceptions.scopes import system_entry_point @@ -198,26 +197,20 @@

Source code for flytekit.clis.sdk_in_container.serialize

for m, k, o in iterate_registerable_entities_in_order(pkgs, include_entities={_sdk_task.SdkTask}): name = _utils.fqdn(m.__name__, k, entity_type=o.resource_type) _logging.debug("Found module {}\n K: {} Instantiated in {}".format(m, k, o._instantiated_in)) - o._id = _identifier.Identifier( - o.resource_type, - project, - domain, - name, - version - ) + o._id = _identifier.Identifier(o.resource_type, project, domain, name, version) loaded_entities.append(o) zero_padded_length = _determine_text_chars(len(loaded_entities)) for i, entity in enumerate(loaded_entities): serialized = entity.serialize() fname_index = str(i).zfill(zero_padded_length) - fname = '{}_{}.pb'.format(fname_index, entity._id.name) - click.echo(' Writing {} to\n {}'.format(entity._id, fname)) + fname = "{}_{}.pb".format(fname_index, entity._id.name) + click.echo(" Writing {} to\n {}".format(entity._id, fname)) if folder: fname = _os.path.join(folder, fname) _write_proto_to_file(serialized, fname) - identifier_fname = '{}_{}.identifier.pb'.format(fname_index, entity._id.name) + identifier_fname = "{}_{}.identifier.pb".format(fname_index, entity._id.name) if folder: identifier_fname = _os.path.join(folder, identifier_fname) _write_proto_to_file(entity._id.to_flyte_idl(), identifier_fname)
@@ -254,21 +247,15 @@

Source code for flytekit.clis.sdk_in_container.serialize

for m, k, o in iterate_registerable_entities_in_order(pkgs): name = _utils.fqdn(m.__name__, k, entity_type=o.resource_type) _logging.debug("Found module {}\n K: {} Instantiated in {}".format(m, k, o._instantiated_in)) - o._id = _identifier.Identifier( - o.resource_type, - project, - domain, - name, - version - ) + o._id = _identifier.Identifier(o.resource_type, project, domain, name, version) loaded_entities.append(o) zero_padded_length = _determine_text_chars(len(loaded_entities)) for i, entity in enumerate(loaded_entities): serialized = entity.serialize() fname_index = str(i).zfill(zero_padded_length) - fname = '{}_{}.pb'.format(fname_index, entity._id.name) - click.echo(' Writing {} to\n {}'.format(entity._id, fname)) + fname = "{}_{}.pb".format(fname_index, entity._id.name) + click.echo(" Writing {} to\n {}".format(entity._id, fname)) if folder: fname = _os.path.join(folder, fname) _write_proto_to_file(serialized, fname) @@ -278,7 +265,7 @@

Source code for flytekit.clis.sdk_in_container.serialize

# project/domain, etc.) made for this serialize call. We should not allow users to specify a different project # for instance come registration time, to avoid mismatches between potential internal ids like the TaskTemplate # and the registered entity. - identifier_fname = '{}_{}.identifier.pb'.format(fname_index, entity._id.name) + identifier_fname = "{}_{}.identifier.pb".format(fname_index, entity._id.name) if folder: identifier_fname = _os.path.join(folder, identifier_fname) _write_proto_to_file(entity._id.to_flyte_idl(), identifier_fname)
@@ -295,7 +282,7 @@

Source code for flytekit.clis.sdk_in_container.serialize

return _math.ceil(_math.log(length, 10)) -@click.group('serialize') +@click.group("serialize") @click.pass_context def serialize(ctx): """ @@ -305,13 +292,17 @@

Source code for flytekit.clis.sdk_in_container.serialize

object contains the WorkflowTemplate, along with the relevant tasks for that workflow. In lieu of Admin, this serialization step will set the URN of the tasks to the fully qualified name of the task function. """ - click.echo('Serializing Flyte elements with image {}'.format(_internal_configuration.IMAGE.get())) + click.echo("Serializing Flyte elements with image {}".format(_internal_configuration.IMAGE.get())) -@click.command('tasks') -@click.option('-v', '--version', type=str, help='Version to serialize tasks with. This is normally parsed from the' - 'image, but you can override here.') -@click.option('-f', '--folder', type=click.Path(exists=True)) +@click.command("tasks") +@click.option( + "-v", + "--version", + type=str, + help="Version to serialize tasks with. This is normally parsed from the" "image, but you can override here.", +) +@click.option("-f", "--folder", type=click.Path(exists=True)) @click.pass_context def tasks(ctx, version=None, folder=None): project = ctx.obj[CTX_PROJECT] @@ -321,32 +312,40 @@

Source code for flytekit.clis.sdk_in_container.serialize

if folder: click.echo(f"Writing output to {folder}") - version = version or ctx.obj[CTX_VERSION] or _internal_configuration.look_up_version_from_image_tag( - _internal_configuration.IMAGE.get()) + version = ( + version + or ctx.obj[CTX_VERSION] + or _internal_configuration.look_up_version_from_image_tag(_internal_configuration.IMAGE.get()) + ) internal_settings = { - 'project': project, - 'domain': domain, - 'version': version, + "project": project, + "domain": domain, + "version": version, } # Populate internal settings for project/domain/version from the environment so that the file names are resolved # with the correct strings. The file itself doesn't need to change though. with TemporaryConfiguration(_internal_configuration.CONFIGURATION_PATH.get(), internal_settings): - _logging.debug("Serializing with settings\n" - "\n Project: {}" - "\n Domain: {}" - "\n Version: {}" - "\n\nover the following packages {}".format(project, domain, version, pkgs) - ) + _logging.debug( + "Serializing with settings\n" + "\n Project: {}" + "\n Domain: {}" + "\n Version: {}" + "\n\nover the following packages {}".format(project, domain, version, pkgs) + ) serialize_tasks_only(project, domain, pkgs, version, folder) -@click.command('workflows') -@click.option('-v', '--version', type=str, help='Version to serialize tasks with. This is normally parsed from the' - 'image, but you can override here.') +@click.command("workflows") +@click.option( + "-v", + "--version", + type=str, + help="Version to serialize tasks with. This is normally parsed from the" "image, but you can override here.", +) # For now let's just assume that the directory needs to exist. If you're docker run -v'ing, docker will create the # directory for you so it shouldn't be a problem. -@click.option('-f', '--folder', type=click.Path(exists=True)) +@click.option("-f", "--folder", type=click.Path(exists=True)) @click.pass_context def workflows(ctx, version=None, folder=None): _logging.getLogger().setLevel(_logging.DEBUG) @@ -358,23 +357,27 @@

Source code for flytekit.clis.sdk_in_container.serialize

domain = ctx.obj[CTX_DOMAIN] pkgs = ctx.obj[CTX_PACKAGES] - version = version or ctx.obj[CTX_VERSION] or _internal_configuration.look_up_version_from_image_tag( - _internal_configuration.IMAGE.get()) + version = ( + version + or ctx.obj[CTX_VERSION] + or _internal_configuration.look_up_version_from_image_tag(_internal_configuration.IMAGE.get()) + ) internal_settings = { - 'project': project, - 'domain': domain, - 'version': version, + "project": project, + "domain": domain, + "version": version, } # Populate internal settings for project/domain/version from the environment so that the file names are resolved # with the correct strings. The file itself doesn't need to change though. with TemporaryConfiguration(_internal_configuration.CONFIGURATION_PATH.get(), internal_settings): - _logging.debug("Serializing with settings\n" - "\n Project: {}" - "\n Domain: {}" - "\n Version: {}" - "\n\nover the following packages {}".format(project, domain, version, pkgs) - ) + _logging.debug( + "Serializing with settings\n" + "\n Project: {}" + "\n Domain: {}" + "\n Version: {}" + "\n\nover the following packages {}".format(project, domain, version, pkgs) + ) serialize_all(project, domain, pkgs, version, folder) diff --git a/_modules/flytekit/common/component_nodes.html b/_modules/flytekit/common/component_nodes.html index 4e0e9687ff..89e726294d 100644 --- a/_modules/flytekit/common/component_nodes.html +++ b/_modules/flytekit/common/component_nodes.html @@ -8,7 +8,7 @@ - flytekit.common.component_nodes — Flyte 0.6.0 documentation + flytekit.common.component_nodes — Flyte 0.7.0 documentation @@ -162,16 +162,16 @@

Source code for flytekit.common.component_nodes

 from __future__ import absolute_import
 
-import six as _six
 import logging as _logging
 
+import six as _six
+
 from flytekit.common import sdk_bases as _sdk_bases
 from flytekit.common.exceptions import system as _system_exceptions
 from flytekit.models.core import workflow as _workflow_model
 
 
 
[docs]class SdkTaskNode(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _workflow_model.TaskNode)): - def __init__(self, sdk_task): """ :param flytekit.common.tasks.task.SdkTask sdk_task: @@ -205,6 +205,7 @@

Source code for flytekit.common.component_nodes

< :rtype: SdkTaskNode """ from flytekit.common.tasks import task as _task + if base_model.reference_id in tasks: t = tasks[base_model.reference_id] _logging.debug("Found existing task template for {}, will not retrieve from Admin".format(t.id)) @@ -228,9 +229,12 @@

Source code for flytekit.common.component_nodes

< :param flytekit.common.launch_plan.SdkLaunchPlan sdk_launch_plan: """ if sdk_workflow and sdk_launch_plan: - raise _system_exceptions.FlyteSystemException("SdkWorkflowNode cannot be called with both a workflow and " - "a launchplan specified, please pick one. WF: {} LP: {}", - sdk_workflow, sdk_launch_plan) + raise _system_exceptions.FlyteSystemException( + "SdkWorkflowNode cannot be called with both a workflow and " + "a launchplan specified, please pick one. WF: {} LP: {}", + sdk_workflow, + sdk_launch_plan, + ) self._sdk_workflow = sdk_workflow self._sdk_launch_plan = sdk_launch_plan @@ -286,7 +290,8 @@

Source code for flytekit.common.component_nodes

< :rtype: SdkWorkflowNode """ # put the import statement here to prevent circular dependency error - from flytekit.common import workflow as _workflow, launch_plan as _launch_plan + from flytekit.common import launch_plan as _launch_plan + from flytekit.common import workflow as _workflow project = base_model.reference.project domain = base_model.reference.domain @@ -299,21 +304,22 @@

Source code for flytekit.common.component_nodes

< # The workflow templates for sub-workflows should have been included in the original response if base_model.reference in sub_workflows: sw = sub_workflows[base_model.reference] - promoted = _workflow.SdkWorkflow.promote_from_model(sw, sub_workflows=sub_workflows, - tasks=tasks) + promoted = _workflow.SdkWorkflow.promote_from_model(sw, sub_workflows=sub_workflows, tasks=tasks) return cls(sdk_workflow=promoted) # If not found for some reason, fetch it from Admin again. # The reason there is a warning here but not for tasks is because sub-workflows should always be passed # along. Ideally subworkflows are never even registered with Admin, so fetching from Admin ideally doesn't # return anything. - _logging.warning("Your subworkflow with id {} is not included in the promote call.".format( - base_model.reference)) + _logging.warning( + "Your subworkflow with id {} is not included in the promote call.".format(base_model.reference) + ) sdk_workflow = _workflow.SdkWorkflow.fetch(project, domain, name, version) return cls(sdk_workflow=sdk_workflow) else: - raise _system_exceptions.FlyteSystemException("Bad workflow node model, neither subworkflow nor " - "launchplan specified.")
+ raise _system_exceptions.FlyteSystemException( + "Bad workflow node model, neither subworkflow nor " "launchplan specified." + )
diff --git a/_modules/flytekit/common/constants.html b/_modules/flytekit/common/constants.html index e2b8c67072..a8f7c59d14 100644 --- a/_modules/flytekit/common/constants.html +++ b/_modules/flytekit/common/constants.html @@ -8,7 +8,7 @@ - flytekit.common.constants — Flyte 0.6.0 documentation + flytekit.common.constants — Flyte 0.7.0 documentation @@ -162,10 +162,10 @@

Source code for flytekit.common.constants

 from __future__ import absolute_import
 
-INPUT_FILE_NAME = 'inputs.pb'
-OUTPUT_FILE_NAME = 'outputs.pb'
-FUTURES_FILE_NAME = 'futures.pb'
-ERROR_FILE_NAME = 'error.pb'
+INPUT_FILE_NAME = "inputs.pb"
+OUTPUT_FILE_NAME = "outputs.pb"
+FUTURES_FILE_NAME = "futures.pb"
+ERROR_FILE_NAME = "error.pb"
 
 
 
[docs]class SdkTaskType(object): @@ -187,9 +187,11 @@

Source code for flytekit.common.constants

     # Raw container task is just a name, it defaults to using the regular container task (like python etc), but sets the data_config in the container
     RAW_CONTAINER_TASK = "raw-container"
     SAGEMAKER_TRAINING_JOB_TASK = "sagemaker_training_job_task"
+    SAGEMAKER_CUSTOM_TRAINING_JOB_TASK = "sagemaker_custom_training_job_task"
     SAGEMAKER_HYPERPARAMETER_TUNING_JOB_TASK = "sagemaker_hyperparameter_tuning_job_task"
-GLOBAL_INPUT_NODE_ID = '' + +GLOBAL_INPUT_NODE_ID = "" START_NODE_ID = "start-node" END_NODE_ID = "end-node" diff --git a/_modules/flytekit/common/core/identifier.html b/_modules/flytekit/common/core/identifier.html index adb7a64c33..4c8cc10cb3 100644 --- a/_modules/flytekit/common/core/identifier.html +++ b/_modules/flytekit/common/core/identifier.html @@ -8,7 +8,7 @@ - flytekit.common.core.identifier — Flyte 0.6.0 documentation + flytekit.common.core.identifier — Flyte 0.7.0 documentation @@ -161,10 +161,12 @@

Source code for flytekit.common.core.identifier

 from __future__ import absolute_import
-from flytekit.models.core import identifier as _core_identifier
+
+import six as _six
+
 from flytekit.common import sdk_bases as _sdk_bases
 from flytekit.common.exceptions import user as _user_exceptions
-import six as _six
+from flytekit.models.core import identifier as _core_identifier
 
 
 
[docs]class Identifier(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _core_identifier.Identifier)): @@ -183,11 +185,7 @@

Source code for flytekit.common.core.identifier

< :rtype: Identifier """ return cls( - base_model.resource_type, - base_model.project, - base_model.domain, - base_model.name, - base_model.version + base_model.resource_type, base_model.project, base_model.domain, base_model.name, base_model.version, )
[docs] @classmethod @@ -209,28 +207,19 @@

Source code for flytekit.common.core.identifier

< if resource_type not in cls._STRING_TO_TYPE_MAP: raise _user_exceptions.FlyteValueException( "The provided string could not be parsed. The first element of an identifier must be one of: {}. " - "Received: {}".format( - list(cls._STRING_TO_TYPE_MAP.keys()), - resource_type - ) + "Received: {}".format(list(cls._STRING_TO_TYPE_MAP.keys()), resource_type) ) resource_type = cls._STRING_TO_TYPE_MAP[resource_type] - return cls( - resource_type, - project, - domain, - name, - version - )
+ return cls(resource_type, project, domain, name, version)
def __str__(self): return "{}:{}:{}:{}:{}".format( - type(self)._TYPE_TO_STRING_MAP.get(self.resource_type, '<unknown>'), + type(self)._TYPE_TO_STRING_MAP.get(self.resource_type, "<unknown>"), self.project, self.domain, self.name, - self.version + self.version, )
@@ -243,11 +232,7 @@

Source code for flytekit.common.core.identifier

< :param flytekit.models.core.identifier.WorkflowExecutionIdentifier base_model: :rtype: WorkflowExecutionIdentifier """ - return cls( - base_model.project, - base_model.domain, - base_model.name, - )
+ return cls(base_model.project, base_model.domain, base_model.name,)
[docs] @classmethod def from_python_std(cls, string): @@ -261,7 +246,7 @@

Source code for flytekit.common.core.identifier

< raise _user_exceptions.FlyteValueException( string, "The provided string was not in a parseable format. The string for an identifier must be in the format" - " ex:project:domain:name." + " ex:project:domain:name.", ) resource_type, project, domain, name = segments @@ -269,21 +254,13 @@

Source code for flytekit.common.core.identifier

< if resource_type != "ex": raise _user_exceptions.FlyteValueException( resource_type, - "The provided string could not be parsed. The first element of an execution identifier must be 'ex'." + "The provided string could not be parsed. The first element of an execution identifier must be 'ex'.", ) - return cls( - project, - domain, - name, - )
+ return cls(project, domain, name,)
def __str__(self): - return "ex:{}:{}:{}".format( - self.project, - self.domain, - self.name - )
+ return "ex:{}:{}:{}".format(self.project, self.domain, self.name)
[docs]class TaskExecutionIdentifier( @@ -298,7 +275,7 @@

Source code for flytekit.common.core.identifier

< return cls( task_id=base_model.task_id, node_execution_id=base_model.node_execution_id, - retry_attempt=base_model.retry_attempt + retry_attempt=base_model.retry_attempt, )
[docs] @classmethod @@ -313,7 +290,7 @@

Source code for flytekit.common.core.identifier

< raise _user_exceptions.FlyteValueException( string, "The provided string was not in a parseable format. The string for an identifier must be in the format" - " te:exec_project:exec_domain:exec_name:node_id:task_project:task_domain:task_name:task_version:retry." + " te:exec_project:exec_domain:exec_name:node_id:task_project:task_domain:task_name:task_version:retry.", ) resource_type, ep, ed, en, node_id, tp, td, tn, tv, retry = segments @@ -321,14 +298,13 @@

Source code for flytekit.common.core.identifier

< if resource_type != "te": raise _user_exceptions.FlyteValueException( resource_type, - "The provided string could not be parsed. The first element of an execution identifier must be 'ex'." + "The provided string could not be parsed. The first element of an execution identifier must be 'ex'.", ) return cls( task_id=Identifier(_core_identifier.ResourceType.TASK, tp, td, tn, tv), node_execution_id=_core_identifier.NodeExecutionIdentifier( - node_id=node_id, - execution_id=_core_identifier.WorkflowExecutionIdentifier(ep, ed, en), + node_id=node_id, execution_id=_core_identifier.WorkflowExecutionIdentifier(ep, ed, en), ), retry_attempt=int(retry), )
diff --git a/_modules/flytekit/common/exceptions/base.html b/_modules/flytekit/common/exceptions/base.html index c18ceb2b66..686c632f00 100644 --- a/_modules/flytekit/common/exceptions/base.html +++ b/_modules/flytekit/common/exceptions/base.html @@ -8,7 +8,7 @@ - flytekit.common.exceptions.base — Flyte 0.6.0 documentation + flytekit.common.exceptions.base — Flyte 0.7.0 documentation @@ -161,6 +161,7 @@

Source code for flytekit.common.exceptions.base

 from __future__ import absolute_import
+
 import six as _six
 
 
@@ -171,7 +172,7 @@ 

Source code for flytekit.common.exceptions.base

<
[docs]class FlyteException(_six.with_metaclass(_FlyteCodedExceptionMetaclass, Exception)): - _ERROR_CODE = 'UnknownFlyteException'
+ _ERROR_CODE = "UnknownFlyteException"
[docs]class FlyteRecoverableException(FlyteException): diff --git a/_modules/flytekit/common/exceptions/scopes.html b/_modules/flytekit/common/exceptions/scopes.html index 7f918d3c71..2d137d64c3 100644 --- a/_modules/flytekit/common/exceptions/scopes.html +++ b/_modules/flytekit/common/exceptions/scopes.html @@ -8,7 +8,7 @@ - flytekit.common.exceptions.scopes — Flyte 0.6.0 documentation + flytekit.common.exceptions.scopes — Flyte 0.7.0 documentation @@ -161,17 +161,20 @@

Source code for flytekit.common.exceptions.scopes

 from __future__ import absolute_import
-from six import reraise as _reraise
 
-from wrapt import decorator as _decorator
 from sys import exc_info as _exc_info
-from flytekit.common.exceptions import system as _system_exceptions, user as _user_exceptions, base as _base_exceptions
-from flytekit.models.core import errors as _error_model
 from traceback import format_tb as _format_tb
 
+from six import reraise as _reraise
+from wrapt import decorator as _decorator
 
-
[docs]class FlyteScopedException(Exception): +from flytekit.common.exceptions import base as _base_exceptions +from flytekit.common.exceptions import system as _system_exceptions +from flytekit.common.exceptions import user as _user_exceptions +from flytekit.models.core import errors as _error_model + +
[docs]class FlyteScopedException(Exception): def __init__(self, context, exc_type, exc_value, exc_tb, top_trim=0, bottom_trim=0, kind=None): self._exc_type = exc_type self._exc_value = exc_value @@ -198,16 +201,10 @@

Source code for flytekit.common.exceptions.scopes

lines = _format_tb(top_tb, limit=limit) lines = [line.rstrip() for line in lines] - lines = ('\n'.join(lines).split('\n')) - traceback_str = '\n '.join([""] + lines) - - format_str = ( - "Traceback (most recent call last):\n" - "{traceback}\n" - "\n" - "Message:\n" - "\n" - " {message}") + lines = "\n".join(lines).split("\n") + traceback_str = "\n ".join([""] + lines) + + format_str = "Traceback (most recent call last):\n" "{traceback}\n" "\n" "Message:\n" "\n" " {message}" return format_str.format(traceback=traceback_str, message=str(self.value)) def __str__(self): @@ -263,11 +260,8 @@

Source code for flytekit.common.exceptions.scopes

[docs]class FlyteScopedSystemException(FlyteScopedException): - def __init__(self, exc_type, exc_value, exc_tb, **kwargs): - super(FlyteScopedSystemException, self).__init__( - "SYSTEM", exc_type, exc_value, exc_tb, **kwargs - ) + super(FlyteScopedSystemException, self).__init__("SYSTEM", exc_type, exc_value, exc_tb, **kwargs) @property def verbose_message(self): @@ -280,11 +274,8 @@

Source code for flytekit.common.exceptions.scopes

[docs]class FlyteScopedUserException(FlyteScopedException): - def __init__(self, exc_type, exc_value, exc_tb, **kwargs): - super(FlyteScopedUserException, self).__init__( - "USER", exc_type, exc_value, exc_tb, **kwargs - ) + super(FlyteScopedUserException, self).__init__("USER", exc_type, exc_value, exc_tb, **kwargs) @property def verbose_message(self): @@ -332,15 +323,15 @@

Source code for flytekit.common.exceptions.scopes

except _user_exceptions.FlyteUserException: # Re-raise from here. _reraise( - FlyteScopedUserException, - FlyteScopedUserException(*_exc_info()), - _exc_info()[2]) - except: + FlyteScopedUserException, FlyteScopedUserException(*_exc_info()), _exc_info()[2], + ) + except Exception: # System error, raise full stack-trace all the way up the chain. _reraise( FlyteScopedSystemException, FlyteScopedSystemException(*_exc_info(), kind=_error_model.ContainerError.Kind.RECOVERABLE), - _exc_info()[2]) + _exc_info()[2], + ) finally: _CONTEXT_STACK.pop()
@@ -371,21 +362,18 @@

Source code for flytekit.common.exceptions.scopes

_reraise(*_exc_info()) except _user_exceptions.FlyteUserException: _reraise( - FlyteScopedUserException, - FlyteScopedUserException(*_exc_info()), - _exc_info()[2]) + FlyteScopedUserException, FlyteScopedUserException(*_exc_info()), _exc_info()[2], + ) except _system_exceptions.FlyteSystemException: _reraise( - FlyteScopedSystemException, - FlyteScopedSystemException(*_exc_info()), - _exc_info()[2]) - except: + FlyteScopedSystemException, FlyteScopedSystemException(*_exc_info()), _exc_info()[2], + ) + except Exception: # Any non-platform raised exception is a user exception. # This will also catch FlyteUserException re-raised by the system_entry_point handler _reraise( - FlyteScopedUserException, - FlyteScopedUserException(*_exc_info()), - _exc_info()[2]) + FlyteScopedUserException, FlyteScopedUserException(*_exc_info()), _exc_info()[2], + ) finally: _CONTEXT_STACK.pop()
diff --git a/_modules/flytekit/common/exceptions/system.html b/_modules/flytekit/common/exceptions/system.html index 74eb15bc6d..082ccd7b53 100644 --- a/_modules/flytekit/common/exceptions/system.html +++ b/_modules/flytekit/common/exceptions/system.html @@ -8,7 +8,7 @@ - flytekit.common.exceptions.system — Flyte 0.6.0 documentation + flytekit.common.exceptions.system — Flyte 0.7.0 documentation @@ -161,6 +161,7 @@

Source code for flytekit.common.exceptions.system

 from __future__ import absolute_import
+
 from flytekit.common.exceptions import base as _base_exceptions
 
 
@@ -180,23 +181,21 @@ 

Source code for flytekit.common.exceptions.system

if task_name is None: return "Entrypoint is not loadable! Could not load the module: '{task_module}'{additional_msg}".format( task_module=task_module, - additional_msg=" due to error: {}".format(additional_msg) if additional_msg is not None else "." + additional_msg=" due to error: {}".format(additional_msg) if additional_msg is not None else ".", ) else: - return "Entrypoint is not loadable! Could not find the task: '{task_name}' in '{task_module}'" \ - "{additional_msg}".format( - task_module=task_module, - task_name=task_name, - additional_msg="." if additional_msg is None else " due to error: {}".format(additional_msg) - ) + return ( + "Entrypoint is not loadable! Could not find the task: '{task_name}' in '{task_module}'" + "{additional_msg}".format( + task_module=task_module, + task_name=task_name, + additional_msg="." if additional_msg is None else " due to error: {}".format(additional_msg), + ) + ) def __init__(self, task_module, task_name=None, additional_msg=None): super(FlyteSystemException, self).__init__( - self._create_verbose_message( - task_module, - task_name=task_name, - additional_msg=additional_msg - ) + self._create_verbose_message(task_module, task_name=task_name, additional_msg=additional_msg) )
diff --git a/_modules/flytekit/common/exceptions/user.html b/_modules/flytekit/common/exceptions/user.html index 4c471426f2..8360db0740 100644 --- a/_modules/flytekit/common/exceptions/user.html +++ b/_modules/flytekit/common/exceptions/user.html @@ -8,7 +8,7 @@ - flytekit.common.exceptions.user — Flyte 0.6.0 documentation + flytekit.common.exceptions.user — Flyte 0.7.0 documentation @@ -161,7 +161,9 @@

Source code for flytekit.common.exceptions.user

 from __future__ import absolute_import
-from flytekit.common.exceptions.base import FlyteException as _FlyteException, FlyteRecoverableException as _Recoverable
+
+from flytekit.common.exceptions.base import FlyteException as _FlyteException
+from flytekit.common.exceptions.base import FlyteRecoverableException as _Recoverable
 
 
 
[docs]class FlyteUserException(_FlyteException): @@ -181,23 +183,22 @@

Source code for flytekit.common.exceptions.user

< return "Type error! Received: {} with value: {}, Expected{}: {}. {}".format( received_type, received_value, - ' one of' if FlyteTypeException._is_a_container(expected_type) else '', + " one of" if FlyteTypeException._is_a_container(expected_type) else "", expected_type, - additional_msg or '') + additional_msg or "", + ) else: return "Type error! Received: {}, Expected{}: {}. {}".format( received_type, - ' one of' if FlyteTypeException._is_a_container(expected_type) else '', + " one of" if FlyteTypeException._is_a_container(expected_type) else "", expected_type, - additional_msg or '') + additional_msg or "", + ) def __init__(self, received_type, expected_type, additional_msg=None, received_value=None): super(FlyteTypeException, self).__init__( self._create_verbose_message( - received_type, - expected_type, - received_value=received_value, - additional_msg=additional_msg + received_type, expected_type, received_value=received_value, additional_msg=additional_msg, ) )
@@ -211,9 +212,7 @@

Source code for flytekit.common.exceptions.user

< return "Value error! Received: {}. {}".format(received_value, error_message) def __init__(self, received_value, error_message): - super(FlyteValueException, self).__init__( - self._create_verbose_message(received_value, error_message) - )
+ super(FlyteValueException, self).__init__(self._create_verbose_message(received_value, error_message))
[docs]class FlyteAssertion(FlyteUserException, AssertionError): diff --git a/_modules/flytekit/common/interface.html b/_modules/flytekit/common/interface.html index c4a121e561..1bf8621652 100644 --- a/_modules/flytekit/common/interface.html +++ b/_modules/flytekit/common/interface.html @@ -8,7 +8,7 @@ - flytekit.common.interface — Flyte 0.6.0 documentation + flytekit.common.interface — Flyte 0.7.0 documentation @@ -164,14 +164,17 @@

Source code for flytekit.common.interface

 
 import six as _six
 
-from flytekit.common import sdk_bases as _sdk_bases, promise as _promise
+from flytekit.common import promise as _promise
+from flytekit.common import sdk_bases as _sdk_bases
 from flytekit.common.exceptions import user as _user_exceptions
-from flytekit.common.types import helpers as _type_helpers, containers as _containers, primitives as _primitives
-from flytekit.models import interface as _interface_models, literals as _literal_models
+from flytekit.common.types import containers as _containers
+from flytekit.common.types import helpers as _type_helpers
+from flytekit.common.types import primitives as _primitives
+from flytekit.models import interface as _interface_models
+from flytekit.models import literals as _literal_models
 
 
 
[docs]class BindingData(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _literal_models.BindingData)): - @staticmethod def _has_sub_bindings(m): """ @@ -191,9 +194,7 @@

Source code for flytekit.common.interface

         :param flytekit.models.literals.BindingData model:
         :rtype: BindingData
         """
-        return cls(
-            scalar=model.scalar, collection=model.collection, promise=model.promise, map=model.map
-        )
+ return cls(scalar=model.scalar, collection=model.collection, promise=model.promise, map=model.map,)
[docs] @classmethod def from_python_std(cls, literal_type, t_value, upstream_nodes=None): @@ -214,7 +215,7 @@

Source code for flytekit.common.interface

                 _user_exceptions.FlyteTypeException(
                     t_value.sdk_type,
                     downstream_sdk_type,
-                    additional_msg="When binding workflow input: {}".format(t_value)
+                    additional_msg="When binding workflow input: {}".format(t_value),
                 )
             promise = t_value.promise
         elif isinstance(t_value, _promise.NodeOutput):
@@ -222,7 +223,7 @@ 

Source code for flytekit.common.interface

                 _user_exceptions.FlyteTypeException(
                     t_value.sdk_type,
                     downstream_sdk_type,
-                    additional_msg="When binding node output: {}".format(t_value)
+                    additional_msg="When binding node output: {}".format(t_value),
                 )
             promise = t_value
             if upstream_nodes is not None:
@@ -233,20 +234,19 @@ 

Source code for flytekit.common.interface

                     type(t_value),
                     downstream_sdk_type,
                     received_value=t_value,
-                    additional_msg="Cannot bind a list to a non-list type."
+                    additional_msg="Cannot bind a list to a non-list type.",
                 )
             collection = _literal_models.BindingDataCollection(
                 [
                     BindingData.from_python_std(
-                        downstream_sdk_type.sub_type.to_flyte_literal_type(),
-                        v,
-                        upstream_nodes=upstream_nodes
+                        downstream_sdk_type.sub_type.to_flyte_literal_type(), v, upstream_nodes=upstream_nodes,
                     )
                     for v in t_value
                 ]
             )
-        elif isinstance(t_value, dict) and \
-                (not issubclass(downstream_sdk_type, _primitives.Generic) or BindingData._has_sub_bindings(t_value)):
+        elif isinstance(t_value, dict) and (
+            not issubclass(downstream_sdk_type, _primitives.Generic) or BindingData._has_sub_bindings(t_value)
+        ):
             # TODO: This behavior should be embedded in the type engine.  Someone should be able to alter behavior of
             # TODO: binding logic by injecting their own type engine.  The same goes for the list check above.
             raise NotImplementedError("TODO: Cannot use map bindings at the moment")
@@ -259,7 +259,6 @@ 

Source code for flytekit.common.interface

 
 
 
[docs]class TypedInterface(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _interface_models.TypedInterface)): -
[docs] @classmethod def promote_from_model(cls, model): """ @@ -280,14 +279,10 @@

Source code for flytekit.common.interface

         for k in sorted(self.inputs):
             var = self.inputs[k]
             if k not in map_of_bindings:
-                raise _user_exceptions.FlyteAssertion(
-                    "Input was not specified for: {} of type {}".format(k, var.type)
-                )
+                raise _user_exceptions.FlyteAssertion("Input was not specified for: {} of type {}".format(k, var.type))
 
             binding_data[k] = BindingData.from_python_std(
-                var.type,
-                map_of_bindings[k],
-                upstream_nodes=all_upstream_nodes
+                var.type, map_of_bindings[k], upstream_nodes=all_upstream_nodes
             )
 
         extra_inputs = set(binding_data.keys()) ^ set(map_of_bindings.keys())
@@ -303,7 +298,10 @@ 

Source code for flytekit.common.interface

                 seen_nodes.add(n)
                 min_upstream.append(n)
 
-        return [_literal_models.Binding(k, bd) for k, bd in _six.iteritems(binding_data)], min_upstream
+ return ( + [_literal_models.Binding(k, bd) for k, bd in _six.iteritems(binding_data)], + min_upstream, + )
def __repr__(self): return "({inputs}) -> ({outputs})".format( @@ -318,7 +316,7 @@

Source code for flytekit.common.interface

                     "{}: {}".format(k, _type_helpers.get_sdk_type_from_literal_type(v.type))
                     for k, v in _six.iteritems(self.outputs)
                 ]
-            )
+            ),
         )
diff --git a/_modules/flytekit/common/launch_plan.html b/_modules/flytekit/common/launch_plan.html index fb713a0187..70c912758e 100644 --- a/_modules/flytekit/common/launch_plan.html +++ b/_modules/flytekit/common/launch_plan.html @@ -8,7 +8,7 @@ - flytekit.common.launch_plan — Flyte 0.6.0 documentation + flytekit.common.launch_plan — Flyte 0.7.0 documentation @@ -162,30 +162,40 @@

Source code for flytekit.common.launch_plan

 from __future__ import absolute_import
 
-from flytekit.common import sdk_bases as _sdk_bases, promise as _promises, interface as _interface, nodes as _nodes, \
-    workflow_execution as _workflow_execution
-from flytekit.common.core import identifier as _identifier
-from flytekit.common.exceptions import scopes as _exception_scopes, user as _user_exceptions
-
-from flytekit.common.mixins import registerable as _registerable, hash as _hash_mixin, launchable as _launchable_mixin
-from flytekit.common.types import helpers as _type_helpers
-from flytekit.configuration import sdk as _sdk_config, auth as _auth_config
-from flytekit.engines import loader as _engine_loader
-from flytekit.models import launch_plan as _launch_plan_models, schedule as _schedule_model, interface as \
-    _interface_models, literals as _literal_models, common as _common_models
-from flytekit.models.core import identifier as _identifier_model, workflow as _workflow_models
 import datetime as _datetime
-from deprecated import deprecated as _deprecated
 import logging as _logging
-import six as _six
 import uuid as _uuid
 
+import six as _six
+from deprecated import deprecated as _deprecated
+
+from flytekit.common import interface as _interface
+from flytekit.common import nodes as _nodes
+from flytekit.common import promise as _promises
+from flytekit.common import sdk_bases as _sdk_bases
+from flytekit.common import workflow_execution as _workflow_execution
+from flytekit.common.core import identifier as _identifier
+from flytekit.common.exceptions import scopes as _exception_scopes
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.mixins import hash as _hash_mixin
+from flytekit.common.mixins import launchable as _launchable_mixin
+from flytekit.common.mixins import registerable as _registerable
+from flytekit.common.types import helpers as _type_helpers
+from flytekit.configuration import auth as _auth_config
+from flytekit.configuration import sdk as _sdk_config
+from flytekit.engines import loader as _engine_loader
+from flytekit.models import common as _common_models
+from flytekit.models import interface as _interface_models
+from flytekit.models import launch_plan as _launch_plan_models
+from flytekit.models import literals as _literal_models
+from flytekit.models import schedule as _schedule_model
+from flytekit.models.core import identifier as _identifier_model
+from flytekit.models.core import workflow as _workflow_models
+
 
 
[docs]class SdkLaunchPlan( _six.with_metaclass( - _sdk_bases.ExtendedSdkType, - _launch_plan_models.LaunchPlanSpec, - _launchable_mixin.LaunchableEntity, + _sdk_bases.ExtendedSdkType, _launch_plan_models.LaunchPlanSpec, _launchable_mixin.LaunchableEntity, ) ): def __init__(self, *args, **kwargs): @@ -215,6 +225,7 @@

Source code for flytekit.common.launch_plan

             labels=model.labels,
             annotations=model.annotations,
             auth_role=model.auth_role,
+            raw_output_data_config=model.raw_output_data_config,
         )
[docs] @classmethod @@ -230,6 +241,7 @@

Source code for flytekit.common.launch_plan

         :rtype: SdkLaunchPlan
         """
         from flytekit.common import workflow as _workflow
+
         launch_plan_id = _identifier.Identifier(
             _identifier_model.ResourceType.LAUNCH_PLAN, project, domain, name, version
         )
@@ -268,19 +280,22 @@ 

Source code for flytekit.common.launch_plan

         :rtype: flytekit.models.common.AuthRole
         """
         fixed_auth = super(SdkLaunchPlan, self).auth_role
-        if fixed_auth is not None and\
-                (fixed_auth.assumable_iam_role is not None or fixed_auth.kubernetes_service_account is not None):
-                return fixed_auth
+        if fixed_auth is not None and (
+            fixed_auth.assumable_iam_role is not None or fixed_auth.kubernetes_service_account is not None
+        ):
+            return fixed_auth
 
         assumable_iam_role = _auth_config.ASSUMABLE_IAM_ROLE.get()
         kubernetes_service_account = _auth_config.KUBERNETES_SERVICE_ACCOUNT.get()
 
         if not (assumable_iam_role or kubernetes_service_account):
-            _logging.warning("Using deprecated `role` from config. "
-                             "Please update your config to use `assumable_iam_role` instead")
+            _logging.warning(
+                "Using deprecated `role` from config. " "Please update your config to use `assumable_iam_role` instead"
+            )
             assumable_iam_role = _sdk_config.ROLE.get()
-        return _common_models.AuthRole(assumable_iam_role=assumable_iam_role,
-                                       kubernetes_service_account=kubernetes_service_account)
+        return _common_models.AuthRole(
+            assumable_iam_role=assumable_iam_role, kubernetes_service_account=kubernetes_service_account,
+        )
 
     @property
     def interface(self):
@@ -304,6 +319,18 @@ 

Source code for flytekit.common.launch_plan

         """
         return "Launch Plan"
 
+    @property
+    def raw_output_data_config(self):
+        """
+        :rtype: flytekit.models.common.RawOutputDataConfig
+        """
+        raw_output_data_config = super(SdkLaunchPlan, self).raw_output_data_config
+        if raw_output_data_config is not None and raw_output_data_config.output_location_prefix != "":
+            return raw_output_data_config
+
+        # If it was not set explicitly then let's use the value found in the configuration.
+        return _common_models.RawOutputDataConfig(_auth_config.RAW_OUTPUT_DATA_PREFIX.get())
+
 
[docs] @_exception_scopes.system_entry_point def validate(self): # TODO: Validate workflow is satisfied @@ -329,24 +356,38 @@

Source code for flytekit.common.launch_plan

         """
         return _type_helpers.pack_python_std_map_to_literal_map(
             inputs,
-            {
-                k: user_input.sdk_type
-                for k, user_input in _six.iteritems(self.default_inputs.parameters) if k in inputs
-            }
+            {k: user_input.sdk_type for k, user_input in _six.iteritems(self.default_inputs.parameters) if k in inputs},
         )
 
-
[docs] @_deprecated(reason="Use launch_with_literals instead", version='0.9.0') - def execute_with_literals(self, project, domain, literal_inputs, name=None, notification_overrides=None, - label_overrides=None, annotation_overrides=None): +
[docs] @_deprecated(reason="Use launch_with_literals instead", version="0.9.0") + def execute_with_literals( + self, + project, + domain, + literal_inputs, + name=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Deprecated. """ - return self.launch_with_literals(project, domain, literal_inputs, name, notification_overrides, label_overrides, - annotation_overrides)
+ return self.launch_with_literals( + project, domain, literal_inputs, name, notification_overrides, label_overrides, annotation_overrides, + )
[docs] @_exception_scopes.system_entry_point - def launch_with_literals(self, project, domain, literal_inputs, name=None, notification_overrides=None, - label_overrides=None, annotation_overrides=None): + def launch_with_literals( + self, + project, + domain, + literal_inputs, + name=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Executes the launch plan and returns the execution identifier. This version of execution is meant for when you already have a LiteralMap of inputs. @@ -365,14 +406,18 @@

Source code for flytekit.common.launch_plan

         """
         # Kubernetes requires names starting with an alphabet for some resources.
         name = name or "f" + _uuid.uuid4().hex[:19]
-        execution = _engine_loader.get_engine().get_launch_plan(self).launch(
-            project,
-            domain,
-            name,
-            literal_inputs,
-            notification_overrides=notification_overrides,
-            label_overrides=label_overrides,
-            annotation_overrides=annotation_overrides,
+        execution = (
+            _engine_loader.get_engine()
+            .get_launch_plan(self)
+            .launch(
+                project,
+                domain,
+                name,
+                literal_inputs,
+                notification_overrides=notification_overrides,
+                label_overrides=label_overrides,
+                annotation_overrides=annotation_overrides,
+            )
         )
         return _workflow_execution.SdkWorkflowExecution.promote_from_model(execution)
@@ -386,14 +431,11 @@

Source code for flytekit.common.launch_plan

         if len(args) > 0:
             raise _user_exceptions.FlyteAssertion(
                 "When adding a launchplan as a node in a workflow, all inputs must be specified with kwargs only.  We "
-                "detected {} positional args.".format(self, len(args))
+                "detected {} positional args.".format(len(args))
             )
 
         # Take the default values from the launch plan
-        default_inputs = {
-            k: v.sdk_default
-            for k, v in _six.iteritems(self.default_inputs.parameters) if not v.required
-        }
+        default_inputs = {k: v.sdk_default for k, v in _six.iteritems(self.default_inputs.parameters) if not v.required}
         default_inputs.update(input_map)
 
         bindings, upstream_nodes = self.interface.create_bindings_for_inputs(default_inputs)
@@ -403,7 +445,7 @@ 

Source code for flytekit.common.launch_plan

             metadata=_workflow_models.NodeMetadata("", _datetime.timedelta(), _literal_models.RetryStrategy(0)),
             bindings=sorted(bindings, key=lambda b: b.var),
             upstream_nodes=upstream_nodes,
-            sdk_launch_plan=self
+            sdk_launch_plan=self,
         )
 
     def __repr__(self):
@@ -416,21 +458,20 @@ 

Source code for flytekit.common.launch_plan

 # The difference between this and the SdkLaunchPlan class is that this runnable class is supposed to only be used for
 # launch plans loaded alongside the current Python interpreter.
 
[docs]class SdkRunnableLaunchPlan( - _hash_mixin.HashOnReferenceMixin, - SdkLaunchPlan, - _registerable.RegisterableEntity, + _hash_mixin.HashOnReferenceMixin, SdkLaunchPlan, _registerable.RegisterableEntity, ): def __init__( - self, - sdk_workflow, - default_inputs=None, - fixed_inputs=None, - role=None, - schedule=None, - notifications=None, - labels=None, - annotations=None, - auth_role=None, + self, + sdk_workflow, + default_inputs=None, + fixed_inputs=None, + role=None, + schedule=None, + notifications=None, + labels=None, + annotations=None, + auth_role=None, + raw_output_data_config=None, ): """ :param flytekit.common.workflow.SdkWorkflow sdk_workflow: @@ -446,6 +487,7 @@

Source code for flytekit.common.launch_plan

             executed by this launch plan.
             Any custom kubernetes annotations to apply to workflows executed by this launch plan.
         :param flytekit.models.common.Authrole auth_role: The auth method with which to execute the workflow.
+        :param flytekit.models.common.RawOutputDataConfig raw_output_data_config: Config for offloading data
         """
         if role and auth_role:
             raise ValueError("Cannot set both role and auth. Role is deprecated, use auth instead.")
@@ -465,24 +507,24 @@ 

Source code for flytekit.common.launch_plan

         super(SdkRunnableLaunchPlan, self).__init__(
             None,
             _launch_plan_models.LaunchPlanMetadata(
-                schedule=schedule or _schedule_model.Schedule(''),
-                notifications=notifications or []
+                schedule=schedule or _schedule_model.Schedule(""), notifications=notifications or [],
             ),
             _interface_models.ParameterMap(default_inputs),
             _type_helpers.pack_python_std_map_to_literal_map(
                 fixed_inputs,
                 {
                     k: _type_helpers.get_sdk_type_from_literal_type(var.type)
-                    for k, var in _six.iteritems(sdk_workflow.interface.inputs) if k in fixed_inputs
-                }
+                    for k, var in _six.iteritems(sdk_workflow.interface.inputs)
+                    if k in fixed_inputs
+                },
             ),
             labels or _common_models.Labels({}),
             annotations or _common_models.Annotations({}),
             auth_role,
+            raw_output_data_config or _common_models.RawOutputDataConfig(""),
         )
         self._interface = _interface.TypedInterface(
-            {k: v.var for k, v in _six.iteritems(default_inputs)},
-            sdk_workflow.interface.outputs
+            {k: v.var for k, v in _six.iteritems(default_inputs)}, sdk_workflow.interface.outputs,
         )
         self._upstream_entities = {sdk_workflow}
         self._sdk_workflow = sdk_workflow
@@ -497,11 +539,7 @@ 

Source code for flytekit.common.launch_plan

         """
         self.validate()
         id_to_register = _identifier.Identifier(
-            _identifier_model.ResourceType.LAUNCH_PLAN,
-            project,
-            domain,
-            name,
-            version
+            _identifier_model.ResourceType.LAUNCH_PLAN, project, domain, name, version
         )
         _engine_loader.get_engine().get_launch_plan(self).register(id_to_register)
         self._id = id_to_register
diff --git a/_modules/flytekit/common/mixins/artifact.html b/_modules/flytekit/common/mixins/artifact.html
index 81ec93cba7..be8490a200 100644
--- a/_modules/flytekit/common/mixins/artifact.html
+++ b/_modules/flytekit/common/mixins/artifact.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.common.mixins.artifact — Flyte 0.6.0 documentation
+  flytekit.common.mixins.artifact — Flyte 0.7.0 documentation
   
 
   
@@ -161,16 +161,18 @@
             
   

Source code for flytekit.common.mixins.artifact

 from __future__ import absolute_import
+
 import abc as _abc
 import datetime as _datetime
-import six as _six
 import time as _time
-from flytekit.models import common as _common_models
+
+import six as _six
+
 from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.models import common as _common_models
 
 
 
[docs]class ExecutionArtifact(_six.with_metaclass(_common_models.FlyteABCMeta, object)): - @_abc.abstractproperty def inputs(self): """ diff --git a/_modules/flytekit/common/mixins/hash.html b/_modules/flytekit/common/mixins/hash.html index d1bdb20d78..29f9c25744 100644 --- a/_modules/flytekit/common/mixins/hash.html +++ b/_modules/flytekit/common/mixins/hash.html @@ -8,7 +8,7 @@ - flytekit.common.mixins.hash — Flyte 0.6.0 documentation + flytekit.common.mixins.hash — Flyte 0.7.0 documentation diff --git a/_modules/flytekit/common/mixins/launchable.html b/_modules/flytekit/common/mixins/launchable.html index 9775c264b4..b206f9572e 100644 --- a/_modules/flytekit/common/mixins/launchable.html +++ b/_modules/flytekit/common/mixins/launchable.html @@ -8,7 +8,7 @@ - flytekit.common.mixins.launchable — Flyte 0.6.0 documentation + flytekit.common.mixins.launchable — Flyte 0.7.0 documentation @@ -161,15 +161,24 @@

Source code for flytekit.common.mixins.launchable

 from __future__ import absolute_import
+
 import abc as _abc
-import six as _six
 
+import six as _six
 from deprecated import deprecated as _deprecated
 
 
 
[docs]class LaunchableEntity(_six.with_metaclass(_abc.ABCMeta, object)): -
[docs] def launch(self, project, domain, inputs=None, name=None, notification_overrides=None, label_overrides=None, - annotation_overrides=None): +
[docs] def launch( + self, + project, + domain, + inputs=None, + name=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Creates a remote execution from the entity and returns the execution identifier. This version of launch is meant for when inputs are specified as Python native types/structures. @@ -198,9 +207,17 @@

Source code for flytekit.common.mixins.launchable

annotation_overrides=annotation_overrides, )
-
[docs] @_deprecated(reason="Use launch instead", version='0.9.0') - def execute(self, project, domain, inputs=None, name=None, notification_overrides=None, label_overrides=None, - annotation_overrides=None): +
[docs] @_deprecated(reason="Use launch instead", version="0.9.0") + def execute( + self, + project, + domain, + inputs=None, + name=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Deprecated. """ @@ -219,8 +236,16 @@

Source code for flytekit.common.mixins.launchable

pass
[docs] @_abc.abstractmethod - def launch_with_literals(self, project, domain, literal_inputs, name=None, notification_overrides=None, - label_overrides=None, annotation_overrides=None): + def launch_with_literals( + self, + project, + domain, + literal_inputs, + name=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Executes the entity and returns the execution identifier. This version of execution is meant for when you already have a LiteralMap of inputs. @@ -239,14 +264,23 @@

Source code for flytekit.common.mixins.launchable

""" pass
-
[docs] @_deprecated(reason="Use launch_with_literals instead", version='0.9.0') - def execute_with_literals(self, project, domain, literal_inputs, name=None, notification_overrides=None, - label_overrides=None, annotation_overrides=None): +
[docs] @_deprecated(reason="Use launch_with_literals instead", version="0.9.0") + def execute_with_literals( + self, + project, + domain, + literal_inputs, + name=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Deprecated. """ - return self.launch_with_literals(project, domain, literal_inputs, name, notification_overrides, label_overrides, - annotation_overrides)
+ return self.launch_with_literals( + project, domain, literal_inputs, name, notification_overrides, label_overrides, annotation_overrides, + )
diff --git a/_modules/flytekit/common/mixins/registerable.html b/_modules/flytekit/common/mixins/registerable.html index 58324a0466..06642718ed 100644 --- a/_modules/flytekit/common/mixins/registerable.html +++ b/_modules/flytekit/common/mixins/registerable.html @@ -8,7 +8,7 @@ - flytekit.common.mixins.registerable — Flyte 0.6.0 documentation + flytekit.common.mixins.registerable — Flyte 0.7.0 documentation @@ -161,15 +161,17 @@

Source code for flytekit.common.mixins.registerable

 from __future__ import absolute_import
+
 import abc as _abc
-import inspect as _inspect
-import six as _six
 import importlib as _importlib
+import inspect as _inspect
 import logging as _logging
 
+import six as _six
+
 from flytekit.common import sdk_bases as _sdk_bases
-from flytekit.common.exceptions import system as _system_exceptions
 from flytekit.common import utils as _utils
+from flytekit.common.exceptions import system as _system_exceptions
 
 
 class _InstanceTracker(_sdk_bases.ExtendedSdkType):
@@ -183,12 +185,13 @@ 

Source code for flytekit.common.mixins.registerable

like to only register a task once and do so with the name where it is defined. This metaclass allows us to do this by inspecting the call stack when __call__ is called on the metaclass (thus instantiating an object). """ + @staticmethod def _find_instance_module(): frame = _inspect.currentframe() while frame: - if frame.f_code.co_name == '<module>': - return frame.f_globals['__name__'] + if frame.f_code.co_name == "<module>": + return frame.f_globals["__name__"] frame = frame.f_back return None @@ -199,7 +202,6 @@

Source code for flytekit.common.mixins.registerable

[docs]class RegisterableEntity(_six.with_metaclass(_InstanceTracker, object)): - def __init__(self, *args, **kwargs): self._platform_valid_name = None super(RegisterableEntity, self).__init__(*args, **kwargs) diff --git a/_modules/flytekit/common/nodes.html b/_modules/flytekit/common/nodes.html index 6f5236eadc..edeb0b9579 100644 --- a/_modules/flytekit/common/nodes.html +++ b/_modules/flytekit/common/nodes.html @@ -8,7 +8,7 @@ - flytekit.common.nodes — Flyte 0.6.0 documentation + flytekit.common.nodes — Flyte 0.7.0 documentation @@ -168,17 +168,23 @@

Source code for flytekit.common.nodes

 import six as _six
 from sortedcontainers import SortedDict as _SortedDict
 
+from flytekit.common import component_nodes as _component_nodes
 from flytekit.common import constants as _constants
-from flytekit.common import sdk_bases as _sdk_bases, promise as _promise, component_nodes as _component_nodes
-from flytekit.common.exceptions import scopes as _exception_scopes, user as _user_exceptions
+from flytekit.common import promise as _promise
+from flytekit.common import sdk_bases as _sdk_bases
+from flytekit.common.exceptions import scopes as _exception_scopes
 from flytekit.common.exceptions import system as _system_exceptions
-from flytekit.common.mixins import hash as _hash_mixin, artifact as _artifact_mixin
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.mixins import artifact as _artifact_mixin
+from flytekit.common.mixins import hash as _hash_mixin
 from flytekit.common.tasks import executions as _task_executions
 from flytekit.common.types import helpers as _type_helpers
 from flytekit.common.utils import _dnsify
 from flytekit.engines import loader as _engine_loader
-from flytekit.models import common as _common_models, node_execution as _node_execution_models
-from flytekit.models.core import workflow as _workflow_model, execution as _execution_models
+from flytekit.models import common as _common_models
+from flytekit.models import node_execution as _node_execution_models
+from flytekit.models.core import execution as _execution_models
+from flytekit.models.core import workflow as _workflow_model
 
 
 
[docs]class ParameterMapper(_six.with_metaclass(_common_models.FlyteABCMeta, _SortedDict)): @@ -224,7 +230,7 @@

Source code for flytekit.common.nodes

         self._initialized = True
 
     def __getattr__(self, key):
-        if key == 'iteritems' and hasattr(super(ParameterMapper, self), 'items'):
+        if key == "iteritems" and hasattr(super(ParameterMapper, self), "items"):
             return super(ParameterMapper, self).items
         if hasattr(super(ParameterMapper, self), key):
             return getattr(super(ParameterMapper, self), key)
@@ -233,7 +239,7 @@ 

Source code for flytekit.common.nodes

         return self[key]
 
     def __setattr__(self, key, value):
-        if '_initialized' in self.__dict__:
+        if "_initialized" in self.__dict__:
             raise _user_exceptions.FlyteAssertion("Parameters are immutable.")
         else:
             super(ParameterMapper, self).__setattr__(key, value)
@@ -262,18 +268,17 @@ 

Source code for flytekit.common.nodes

         return _promise.NodeOutput(sdk_node, sdk_type, name)
-
[docs]class SdkNode(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _hash_mixin.HashOnReferenceMixin, _workflow_model.Node)): - +
[docs]class SdkNode(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _hash_mixin.HashOnReferenceMixin, _workflow_model.Node,)): def __init__( - self, - id, - upstream_nodes, - bindings, - metadata, - sdk_task=None, - sdk_workflow=None, - sdk_launch_plan=None, - sdk_branch=None + self, + id, + upstream_nodes, + bindings, + metadata, + sdk_task=None, + sdk_workflow=None, + sdk_launch_plan=None, + sdk_branch=None, ): """ :param Text id: A workflow-level unique identifier that identifies this node in the workflow. "inputs" and @@ -292,15 +297,12 @@

Source code for flytekit.common.nodes

         :param TODO sdk_branch: TODO
         """
         non_none_entities = [
-            entity
-            for entity in [sdk_workflow, sdk_branch, sdk_launch_plan, sdk_task] if entity is not None
+            entity for entity in [sdk_workflow, sdk_branch, sdk_launch_plan, sdk_task] if entity is not None
         ]
         if len(non_none_entities) != 1:
             raise _user_exceptions.FlyteAssertion(
                 "An SDK node must have one underlying entity specified at once.  Received the following "
-                "entities: {}".format(
-                    non_none_entities
-                )
+                "entities: {}".format(non_none_entities)
             )
 
         workflow_node = None
@@ -317,7 +319,7 @@ 

Source code for flytekit.common.nodes

             output_aliases=[],  # TODO: Are aliases a thing in SDK nodes
             task_node=_component_nodes.SdkTaskNode(sdk_task) if sdk_task else None,
             workflow_node=workflow_node,
-            branch_node=sdk_branch.target if sdk_branch else None
+            branch_node=sdk_branch.target if sdk_branch else None,
         )
         self._upstream = upstream_nodes
         self._executable_sdk_object = sdk_task or sdk_workflow or sdk_branch or sdk_launch_plan
@@ -349,7 +351,8 @@ 

Source code for flytekit.common.nodes

             sdk_task_node = _component_nodes.SdkTaskNode.promote_from_model(model.task_node, tasks)
         elif model.workflow_node is not None:
             sdk_workflow_node = _component_nodes.SdkWorkflowNode.promote_from_model(
-                model.workflow_node, sub_workflows, tasks)
+                model.workflow_node, sub_workflows, tasks
+            )
         else:
             raise _system_exceptions.FlyteSystemException("Bad Node model, neither task nor workflow detected")
 
@@ -386,7 +389,8 @@ 

Source code for flytekit.common.nodes

                 )
             else:
                 raise _system_exceptions.FlyteSystemException(
-                    "Bad SdkWorkflowNode model, both lp and workflow are None")
+                    "Bad SdkWorkflowNode model, both lp and workflow are None"
+                )
         else:
             raise _system_exceptions.FlyteSystemException("Bad SdkNode model, both task and workflow nodes are empty")
@@ -459,9 +463,7 @@

Source code for flytekit.common.nodes

 
 
[docs]class SdkNodeExecution( _six.with_metaclass( - _sdk_bases.ExtendedSdkType, - _node_execution_models.NodeExecution, - _artifact_mixin.ExecutionArtifact + _sdk_bases.ExtendedSdkType, _node_execution_models.NodeExecution, _artifact_mixin.ExecutionArtifact, ) ): def __init__(self, *args, **kwargs): @@ -515,8 +517,9 @@

Source code for flytekit.common.nodes

         :rtype: dict[Text, T]
         """
         if not self.is_complete:
-            raise _user_exceptions.FlyteAssertion("Please what until the node execution has completed before "
-                                                  "requesting the outputs.")
+            raise _user_exceptions.FlyteAssertion(
+                "Please what until the node execution has completed before " "requesting the outputs."
+            )
         if self.error:
             raise _user_exceptions.FlyteAssertion("Outputs could not be found because the execution ended in failure.")
 
@@ -534,8 +537,9 @@ 

Source code for flytekit.common.nodes

         :rtype: flytekit.models.core.execution.ExecutionError or None
         """
         if not self.is_complete:
-            raise _user_exceptions.FlyteAssertion("Please what until the node execution has completed before "
-                                                  "requesting error information.")
+            raise _user_exceptions.FlyteAssertion(
+                "Please what until the node execution has completed before " "requesting error information."
+            )
         return self.closure.error
 
     @property
@@ -558,11 +562,7 @@ 

Source code for flytekit.common.nodes

         :param _node_execution_models.NodeExecution base_model:
         :rtype: SdkNodeExecution
         """
-        return cls(
-            closure=base_model.closure,
-            id=base_model.id,
-            input_uri=base_model.input_uri
-        )
+ return cls(closure=base_model.closure, id=base_model.id, input_uri=base_model.input_uri)
[docs] def sync(self): """ diff --git a/_modules/flytekit/common/notifications.html b/_modules/flytekit/common/notifications.html index 987dc16f0e..1b94ff4355 100644 --- a/_modules/flytekit/common/notifications.html +++ b/_modules/flytekit/common/notifications.html @@ -8,7 +8,7 @@ - flytekit.common.notifications — Flyte 0.6.0 documentation + flytekit.common.notifications — Flyte 0.7.0 documentation @@ -161,11 +161,13 @@

Source code for flytekit.common.notifications

 from __future__ import absolute_import
-from flytekit.models import common as _common_model
-from flytekit.models.core import execution as _execution_model
+
+import six as _six
+
 from flytekit.common import sdk_bases as _sdk_bases
 from flytekit.common.exceptions import user as _user_exceptions
-import six as _six
+from flytekit.models import common as _common_model
+from flytekit.models.core import execution as _execution_model
 
 
 
[docs]class Notification(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _common_model.Notification)): @@ -174,7 +176,7 @@

Source code for flytekit.common.notifications

_execution_model.WorkflowExecutionPhase.ABORTED, _execution_model.WorkflowExecutionPhase.FAILED, _execution_model.WorkflowExecutionPhase.SUCCEEDED, - _execution_model.WorkflowExecutionPhase.TIMED_OUT + _execution_model.WorkflowExecutionPhase.TIMED_OUT, } def __init__(self, phases, email=None, pager_duty=None, slack=None): @@ -196,7 +198,7 @@

Source code for flytekit.common.notifications

raise _user_exceptions.FlyteValueException( phase, self.VALID_PHASES, - additional_message="Notifications can only be specified on terminal states." + additional_message="Notifications can only be specified on terminal states.", )
[docs] @classmethod @@ -226,10 +228,7 @@

Source code for flytekit.common.notifications

:param flytekit.models.common.Notification base_model: :rtype: Notification """ - return cls( - base_model.phases, - base_model.pager_duty.recipients_email - )
+ return cls(base_model.phases, base_model.pager_duty.recipients_email)
[docs]class Email(Notification): @@ -247,10 +246,7 @@

Source code for flytekit.common.notifications

:param flytekit.models.common.Notification base_model: :rtype: Notification """ - return cls( - base_model.phases, - base_model.email.recipients_email - )
+ return cls(base_model.phases, base_model.email.recipients_email)
[docs]class Slack(Notification): @@ -268,10 +264,7 @@

Source code for flytekit.common.notifications

:param flytekit.models.common.Notification base_model: :rtype: Notification """ - return cls( - base_model.phases, - base_model.slack.recipients_email - )
+ return cls(base_model.phases, base_model.slack.recipients_email)
diff --git a/_modules/flytekit/common/promise.html b/_modules/flytekit/common/promise.html index 557ca495ee..8e2e34ceb7 100644 --- a/_modules/flytekit/common/promise.html +++ b/_modules/flytekit/common/promise.html @@ -8,7 +8,7 @@ - flytekit.common.promise — Flyte 0.6.0 documentation + flytekit.common.promise — Flyte 0.7.0 documentation @@ -164,14 +164,15 @@

Source code for flytekit.common.promise

 
 import six as _six
 
-from flytekit.common import constants as _constants, sdk_bases as _sdk_bases
+from flytekit.common import constants as _constants
+from flytekit.common import sdk_bases as _sdk_bases
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.types import helpers as _type_helpers
-from flytekit.models import interface as _interface_models, types as _type_models
+from flytekit.models import interface as _interface_models
+from flytekit.models import types as _type_models
 
 
 
[docs]class Input(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _interface_models.Parameter)): - def __init__(self, name, sdk_type, help=None, **kwargs): """ :param Text name: @@ -182,22 +183,22 @@

Source code for flytekit.common.promise

         :param T default:  If this is not a required input, the value will default to this value.
         """
         param_default = None
-        if 'required' not in kwargs and 'default' not in kwargs:
+        if "required" not in kwargs and "default" not in kwargs:
             # Neither required or default is set so assume required
             required = True
             default = None
-        elif kwargs.get('required', False) and 'default' in kwargs:
+        elif kwargs.get("required", False) and "default" in kwargs:
             # Required cannot be set to True and have a default specified
             raise _user_exceptions.FlyteAssertion("Default cannot be set when required is True")
-        elif 'default' in kwargs:
+        elif "default" in kwargs:
             # If default is specified, then required must be false and the value is whatever is specified
             required = None
-            default = kwargs['default']
+            default = kwargs["default"]
             param_default = sdk_type.from_python_std(default)
         else:
             # If no default is set, but required is set, then the behavior is determined by required == True or False
             default = None
-            required = kwargs['required']
+            required = kwargs["required"]
             if not required:
                 # If required == False, we assume default to be None
                 param_default = sdk_type.from_python_std(default)
@@ -210,9 +211,9 @@ 

Source code for flytekit.common.promise

         self._promise = _type_models.OutputReference(_constants.GLOBAL_INPUT_NODE_ID, name)
         self._name = name
         super(Input, self).__init__(
-            _interface_models.Variable(type=sdk_type.to_flyte_literal_type(), description=help or ''),
+            _interface_models.Variable(type=sdk_type.to_flyte_literal_type(), description=help or ""),
             required=required,
-            default=param_default
+            default=param_default,
         )
 
 
[docs] def rename_and_return_reference(self, new_name): @@ -274,24 +275,12 @@

Source code for flytekit.common.promise

 
         if model.default is not None:
             default_value = sdk_type.from_flyte_idl(model.default.to_flyte_idl()).to_python_std()
-            return cls(
-                "",
-                sdk_type,
-                help=model.var.description,
-                required=False,
-                default=default_value
-            )
+            return cls("", sdk_type, help=model.var.description, required=False, default=default_value,)
         else:
-            return cls(
-                "",
-                sdk_type,
-                help=model.var.description,
-                required=True
-            )
+ return cls("", sdk_type, help=model.var.description, required=True)
[docs]class NodeOutput(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _type_models.OutputReference)): - def __init__(self, sdk_node, sdk_type, var): """ :param flytekit.common.nodes.SdkNode sdk_node: @@ -300,10 +289,7 @@

Source code for flytekit.common.promise

         """
         self._node = sdk_node
         self._type = sdk_type
-        super(NodeOutput, self).__init__(
-            self._node.id,
-            var
-        )
+        super(NodeOutput, self).__init__(self._node.id, var)
 
     @property
     def node_id(self):
@@ -319,8 +305,10 @@ 

Source code for flytekit.common.promise

         :param flytekit.models.types.OutputReference model:
         :rtype: NodeOutput
         """
-        raise _user_exceptions.FlyteAssertion("A NodeOutput cannot be promoted from a protobuf because it must be "
-                                              "contextualized by an existing SdkNode.")
+ raise _user_exceptions.FlyteAssertion( + "A NodeOutput cannot be promoted from a protobuf because it must be " + "contextualized by an existing SdkNode." + )
@property def sdk_node(self): diff --git a/_modules/flytekit/common/schedules.html b/_modules/flytekit/common/schedules.html index a8f6339d07..e5eee3fd76 100644 --- a/_modules/flytekit/common/schedules.html +++ b/_modules/flytekit/common/schedules.html @@ -8,7 +8,7 @@ - flytekit.common.schedules — Flyte 0.6.0 documentation + flytekit.common.schedules — Flyte 0.7.0 documentation @@ -161,13 +161,16 @@

Source code for flytekit.common.schedules

 from __future__ import absolute_import, division
-from flytekit.models import schedule as _schedule_models
-from flytekit.common import sdk_bases as _sdk_bases
-from flytekit.common.exceptions import user as _user_exceptions
-import croniter as _croniter
+
 import datetime as _datetime
+
+import croniter as _croniter
 import six as _six
 
+from flytekit.common import sdk_bases as _sdk_bases
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.models import schedule as _schedule_models
+
 
 class _ExtendedSchedule(_schedule_models.Schedule):
     @classmethod
@@ -180,7 +183,6 @@ 

Source code for flytekit.common.schedules

 
 
 
[docs]class CronSchedule(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _ExtendedSchedule)): - def __init__(self, cron_expression, kickoff_time_input_arg=None): """ :param Text cron_expression: @@ -203,12 +205,10 @@

Source code for flytekit.common.schedules

         if len(tokens) != 6:
             raise _user_exceptions.FlyteAssertion(
                 "Cron expression is invalid.  A cron expression must have 6 fields.  Cron expressions are in the "
-                "format of: `minute hour day-of-month month day-of-week year`.  Received: `{}`".format(
-                    cron_expression
-                )
+                "format of: `minute hour day-of-month month day-of-week year`.  Received: `{}`".format(cron_expression)
             )
 
-        if tokens[2] != '?' and tokens[4] != '?':
+        if tokens[2] != "?" and tokens[4] != "?":
             raise _user_exceptions.FlyteAssertion(
                 "Scheduled string is invalid.  A cron expression must have a '?' for either day-of-month or "
                 "day-of-week.  Please specify '?' for one of those fields.  Cron expressions are in the format of: "
@@ -220,13 +220,11 @@ 

Source code for flytekit.common.schedules

         try:
             # Cut to 5 fields and just assume year field is good because croniter treats the 6th field as seconds.
             # TODO: Parse this field ourselves and check
-            _croniter.croniter(" ".join(cron_expression.replace('?', '*').split()[:5]))
-        except:
+            _croniter.croniter(" ".join(cron_expression.replace("?", "*").split()[:5]))
+        except Exception:
             raise _user_exceptions.FlyteAssertion(
                 "Scheduled string is invalid.  The cron expression was found to be invalid."
-                " Provided cron expr: {}".format(
-                    cron_expression
-                )
+                " Provided cron expr: {}".format(cron_expression)
             )
 
 
[docs] @classmethod @@ -235,14 +233,10 @@

Source code for flytekit.common.schedules

         :param flytekit.models.schedule.Schedule base_model:
         :rtype: CronSchedule
         """
-        return cls(
-            base_model.cron_expression,
-            kickoff_time_input_arg=base_model.kickoff_time_input_arg
-        )
+ return cls(base_model.cron_expression, kickoff_time_input_arg=base_model.kickoff_time_input_arg,)
[docs]class FixedRate(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _ExtendedSchedule)): - def __init__(self, duration, kickoff_time_input_arg=None): """ :param datetime.timedelta duration: @@ -268,18 +262,15 @@

Source code for flytekit.common.schedules

             )
         elif int(duration.total_seconds()) % _SECONDS_TO_DAYS == 0:
             return _schedule_models.Schedule.FixedRate(
-                int(duration.total_seconds() / _SECONDS_TO_DAYS),
-                _schedule_models.Schedule.FixedRateUnit.DAY
+                int(duration.total_seconds() / _SECONDS_TO_DAYS), _schedule_models.Schedule.FixedRateUnit.DAY,
             )
         elif int(duration.total_seconds()) % _SECONDS_TO_HOURS == 0:
             return _schedule_models.Schedule.FixedRate(
-                int(duration.total_seconds() / _SECONDS_TO_HOURS),
-                _schedule_models.Schedule.FixedRateUnit.HOUR
+                int(duration.total_seconds() / _SECONDS_TO_HOURS), _schedule_models.Schedule.FixedRateUnit.HOUR,
             )
         else:
             return _schedule_models.Schedule.FixedRate(
-                int(duration.total_seconds() / _SECONDS_TO_MINUTES),
-                _schedule_models.Schedule.FixedRateUnit.MINUTE
+                int(duration.total_seconds() / _SECONDS_TO_MINUTES), _schedule_models.Schedule.FixedRateUnit.MINUTE,
             )
 
 
[docs] @classmethod @@ -295,10 +286,7 @@

Source code for flytekit.common.schedules

         else:
             duration = _datetime.timedelta(minutes=base_model.rate.value)
 
-        return cls(
-            duration,
-            kickoff_time_input_arg=base_model.kickoff_time_input_arg
-        )
+ return cls(duration, kickoff_time_input_arg=base_model.kickoff_time_input_arg)
diff --git a/_modules/flytekit/common/sdk_bases.html b/_modules/flytekit/common/sdk_bases.html index ba8c48cd37..c32e3c3d29 100644 --- a/_modules/flytekit/common/sdk_bases.html +++ b/_modules/flytekit/common/sdk_bases.html @@ -8,7 +8,7 @@ - flytekit.common.sdk_bases — Flyte 0.6.0 documentation + flytekit.common.sdk_bases — Flyte 0.7.0 documentation @@ -161,10 +161,13 @@

Source code for flytekit.common.sdk_bases

 from __future__ import absolute_import
-from flytekit.models import common as _common
+
 import abc as _abc
+
 import six as _six
 
+from flytekit.models import common as _common
+
 
 
[docs]class ExtendedSdkType(_six.with_metaclass(_common.FlyteABCMeta, _common.FlyteType)): """ diff --git a/_modules/flytekit/common/tasks/executions.html b/_modules/flytekit/common/tasks/executions.html index 679786338d..bd922331ac 100644 --- a/_modules/flytekit/common/tasks/executions.html +++ b/_modules/flytekit/common/tasks/executions.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.executions — Flyte 0.6.0 documentation + flytekit.common.tasks.executions — Flyte 0.7.0 documentation @@ -161,6 +161,9 @@

Source code for flytekit.common.tasks.executions

 from __future__ import absolute_import
+
+import six as _six
+
 from flytekit.common import sdk_bases as _sdk_bases
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.mixins import artifact as _artifact_mixin
@@ -168,14 +171,11 @@ 

Source code for flytekit.common.tasks.executions

from flytekit.engines import loader as _engine_loader from flytekit.models.admin import task_execution as _task_execution_model from flytekit.models.core import execution as _execution_models -import six as _six
[docs]class SdkTaskExecution( _six.with_metaclass( - _sdk_bases.ExtendedSdkType, - _task_execution_model.TaskExecution, - _artifact_mixin.ExecutionArtifact, + _sdk_bases.ExtendedSdkType, _task_execution_model.TaskExecution, _artifact_mixin.ExecutionArtifact, ) ): def __init__(self, *args, **kwargs): @@ -217,8 +217,9 @@

Source code for flytekit.common.tasks.executions

:rtype: dict[Text, T] """ if not self.is_complete: - raise _user_exceptions.FlyteAssertion("Please what until the task execution has completed before " - "requesting the outputs.") + raise _user_exceptions.FlyteAssertion( + "Please what until the task execution has completed before " "requesting the outputs." + ) if self.error: raise _user_exceptions.FlyteAssertion("Outputs could not be found because the execution ended in failure.") @@ -236,8 +237,9 @@

Source code for flytekit.common.tasks.executions

:rtype: flytekit.models.core.execution.ExecutionError or None """ if not self.is_complete: - raise _user_exceptions.FlyteAssertion("Please what until the task execution has completed before " - "requesting error information.") + raise _user_exceptions.FlyteAssertion( + "Please what until the task execution has completed before " "requesting error information." + ) return self.closure.error
[docs] def get_child_executions(self, filters=None): @@ -246,13 +248,11 @@

Source code for flytekit.common.tasks.executions

:rtype: dict[Text, flytekit.common.nodes.SdkNodeExecution] """ from flytekit.common import nodes as _nodes + if not self.is_parent: raise _user_exceptions.FlyteAssertion("Only task executions marked with 'is_parent' have child executions.") models = _engine_loader.get_engine().get_task_execution(self).get_child_executions(filters=filters) - return { - k: _nodes.SdkNodeExecution.promote_from_model(v) - for k, v in _six.iteritems(models) - }
+ return {k: _nodes.SdkNodeExecution.promote_from_model(v) for k, v in _six.iteritems(models)}
[docs] @classmethod def promote_from_model(cls, base_model): diff --git a/_modules/flytekit/common/tasks/generic_spark_task.html b/_modules/flytekit/common/tasks/generic_spark_task.html index 88c5d2dbe7..5feb2abb31 100644 --- a/_modules/flytekit/common/tasks/generic_spark_task.html +++ b/_modules/flytekit/common/tasks/generic_spark_task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.generic_spark_task — Flyte 0.6.0 documentation + flytekit.common.tasks.generic_spark_task — Flyte 0.7.0 documentation @@ -162,55 +162,54 @@

Source code for flytekit.common.tasks.generic_spark_task

 from __future__ import absolute_import
 
-try:
-    from inspect import getfullargspec as _getargspec
-except ImportError:
-    from inspect import getargspec as _getargspec
-
-from flytekit import __version__
 import sys as _sys
-import six as _six
-from flytekit.common.tasks import task as _base_tasks
-from flytekit.common.types import helpers as _helpers, primitives as _primitives
 
-from flytekit.models import literals as _literal_models, task as _task_models
+import six as _six
 from google.protobuf.json_format import MessageToDict as _MessageToDict
+
+from flytekit import __version__
 from flytekit.common import interface as _interface
-from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.exceptions import scopes as _exception_scopes
-
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.tasks import task as _base_tasks
+from flytekit.common.types import helpers as _helpers
+from flytekit.common.types import primitives as _primitives
 from flytekit.configuration import internal as _internal_config
+from flytekit.models import literals as _literal_models
+from flytekit.models import task as _task_models
 
-input_types_supported = { _primitives.Integer,
-                          _primitives.Boolean,
-                          _primitives.Float,
-                          _primitives.String,
-                          _primitives.Datetime,
-                          _primitives.Timedelta,
-                        }
+input_types_supported = {
+    _primitives.Integer,
+    _primitives.Boolean,
+    _primitives.Float,
+    _primitives.String,
+    _primitives.Datetime,
+    _primitives.Timedelta,
+}
 
 
-
[docs]class SdkGenericSparkTask( _base_tasks.SdkTask): +
[docs]class SdkGenericSparkTask(_base_tasks.SdkTask): """ This class includes the additional logic for building a task that executes as a Spark Job. """ + def __init__( - self, - task_type, - discovery_version, - retries, - interruptible, - task_inputs, - deprecated, - discoverable, - timeout, - spark_type, - main_class, - main_application_file, - spark_conf, - hadoop_conf, - environment, + self, + task_type, + discovery_version, + retries, + interruptible, + task_inputs, + deprecated, + discoverable, + timeout, + spark_type, + main_class, + main_application_file, + spark_conf, + hadoop_conf, + environment, ): """ :param Text task_type: string describing the task type @@ -231,7 +230,7 @@

Source code for flytekit.common.tasks.generic_spark_task

spark_job = _task_models.SparkJob( spark_conf=spark_conf, hadoop_conf=hadoop_conf, - spark_type = spark_type, + spark_type=spark_type, application_file=main_application_file, main_class=main_class, executor_path=_sys.executable, @@ -241,16 +240,12 @@

Source code for flytekit.common.tasks.generic_spark_task

task_type, _task_models.TaskMetadata( discoverable, - _task_models.RuntimeMetadata( - _task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, - __version__, - 'spark' - ), + _task_models.RuntimeMetadata(_task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, __version__, "spark",), timeout, _literal_models.RetryStrategy(retries), interruptible, discovery_version, - deprecated + deprecated, ), _interface.TypedInterface({}, {}), _MessageToDict(spark_job), @@ -261,9 +256,7 @@

Source code for flytekit.common.tasks.generic_spark_task

task_inputs(self) # Container after the Inputs have been updated. - self._container = self._get_container_definition( - environment=environment - ) + self._container = self._get_container_definition(environment=environment) def _validate_inputs(self, inputs): """ @@ -271,10 +264,12 @@

Source code for flytekit.common.tasks.generic_spark_task

:raises: flytekit.common.exceptions.user.FlyteValidationException """ for k, v in _six.iteritems(inputs): - sdk_type =_helpers.get_sdk_type_from_literal_type(v.type) + sdk_type = _helpers.get_sdk_type_from_literal_type(v.type) if sdk_type not in input_types_supported: raise _user_exceptions.FlyteValidationException( - "Input Type '{}' not supported. Only Primitives are supported for Scala/Java Spark.".format(sdk_type) + "Input Type '{}' not supported. Only Primitives are supported for Scala/Java Spark.".format( + sdk_type + ) ) super(SdkGenericSparkTask, self)._validate_inputs(inputs) @@ -290,8 +285,7 @@

Source code for flytekit.common.tasks.generic_spark_task

self.interface.inputs.update(inputs)
def _get_container_definition( - self, - environment=None, + self, environment=None, ): """ :rtype: Container @@ -308,7 +302,7 @@

Source code for flytekit.common.tasks.generic_spark_task

args=args, resources=_task_models.Resources([], []), env=environment, - config={} + config={}, )
diff --git a/_modules/flytekit/common/tasks/hive_task.html b/_modules/flytekit/common/tasks/hive_task.html index 756a6015ed..ee98522d22 100644 --- a/_modules/flytekit/common/tasks/hive_task.html +++ b/_modules/flytekit/common/tasks/hive_task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.hive_task — Flyte 0.6.0 documentation + flytekit.common.tasks.hive_task — Flyte 0.7.0 documentation @@ -167,19 +167,20 @@

Source code for flytekit.common.tasks.hive_task

< import six as _six from google.protobuf.json_format import MessageToDict as _MessageToDict -from flytekit.common import constants as _constants, nodes as _nodes, interface as _interface +from flytekit.common import constants as _constants +from flytekit.common import interface as _interface +from flytekit.common import nodes as _nodes from flytekit.common.exceptions import scopes as _exception_scopes -from flytekit.common.exceptions.user import FlyteTypeException as _FlyteTypeException, \ - FlyteValueException as _FlyteValueException +from flytekit.common.exceptions.user import FlyteTypeException as _FlyteTypeException +from flytekit.common.exceptions.user import FlyteValueException as _FlyteValueException from flytekit.common.tasks import output as _task_output -from flytekit.common.tasks import sdk_runnable as _sdk_runnable, task as _base_task +from flytekit.common.tasks import sdk_runnable as _sdk_runnable +from flytekit.common.tasks import task as _base_task from flytekit.common.types import helpers as _type_helpers -from flytekit.models import ( - qubole as _qubole, - interface as _interface_model, - literals as _literal_models, - dynamic_job as _dynamic_job -) +from flytekit.models import dynamic_job as _dynamic_job +from flytekit.models import interface as _interface_model +from flytekit.models import literals as _literal_models +from flytekit.models import qubole as _qubole from flytekit.models.core import workflow as _workflow_model ALLOWED_TAGS_COUNT = int(6) @@ -192,26 +193,26 @@

Source code for flytekit.common.tasks.hive_task

< """ def __init__( - self, - task_function, - task_type, - discovery_version, - retries, - interruptible, - deprecated, - storage_request, - cpu_request, - gpu_request, - memory_request, - storage_limit, - cpu_limit, - gpu_limit, - memory_limit, - discoverable, - timeout, - cluster_label, - tags, - environment + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + cluster_label, + tags, + environment, ): """ :param task_function: Function container user code. This will be executed via the SDK's engine. @@ -234,9 +235,26 @@

Source code for flytekit.common.tasks.hive_task

< :param dict[Text, Text] environment: """ self._task_function = task_function - super(SdkHiveTask, self).__init__(task_function, task_type, discovery_version, retries, interruptible, deprecated, - storage_request, cpu_request, gpu_request, memory_request, storage_limit, - cpu_limit, gpu_limit, memory_limit, discoverable, timeout, environment, {}) + super(SdkHiveTask, self).__init__( + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + environment, + {}, + ) self._validate_task_parameters(cluster_label, tags) self._cluster_label = cluster_label self._tags = tags @@ -256,8 +274,9 @@

Source code for flytekit.common.tasks.hive_task

< plugin_objects = [] for q in queries_from_task: - hive_query = _qubole.HiveQuery(query=q, timeout_sec=self.metadata.timeout.seconds, - retry_count=self.metadata.retries.retries) + hive_query = _qubole.HiveQuery( + query=q, timeout_sec=self.metadata.timeout.seconds, retry_count=self.metadata.retries.retries, + ) # TODO: Remove this after all users of older SDK versions that did the single node, multi-query pattern are # deprecated. This is only here for backwards compatibility - in addition to writing the query to the @@ -265,8 +284,9 @@

Source code for flytekit.common.tasks.hive_task

< # older plugin will continue to work. query_collection = _qubole.HiveQueryCollection([hive_query]) - plugin_objects.append(_qubole.QuboleHiveJob(hive_query, self._cluster_label, self._tags, - query_collection=query_collection)) + plugin_objects.append( + _qubole.QuboleHiveJob(hive_query, self._cluster_label, self._tags, query_collection=query_collection,) + ) return plugin_objects @@ -277,7 +297,7 @@

Source code for flytekit.common.tasks.hive_task

< type(cluster_label), {str, _six.text_type}, additional_msg="cluster_label for a hive task must be in text format", - received_value=cluster_label + received_value=cluster_label, ) if tags is not None: if not (isinstance(tags, list) and all(isinstance(tag, (str, _six.text_type)) for tag in tags)): @@ -285,12 +305,16 @@

Source code for flytekit.common.tasks.hive_task

< type(tags), [], additional_msg="tags for a hive task must be in 'list of text' format", - received_value=tags + received_value=tags, ) if len(tags) > ALLOWED_TAGS_COUNT: - raise _FlyteValueException(len(tags), "number of tags must be less than {}".format(ALLOWED_TAGS_COUNT)) + raise _FlyteValueException( + len(tags), "number of tags must be less than {}".format(ALLOWED_TAGS_COUNT), + ) if not all(len(tag) for tag in tags): - raise _FlyteValueException(tags, "length of a tag must be less than {} chars".format(MAX_TAG_LENGTH)) + raise _FlyteValueException( + tags, "length of a tag must be less than {} chars".format(MAX_TAG_LENGTH), + ) @staticmethod def _validate_queries(queries_from_task): @@ -300,7 +324,7 @@

Source code for flytekit.common.tasks.hive_task

< type(query_from_task), {str, _six.text_type}, additional_msg="All queries returned from a Hive task must be in text format.", - received_value=query_from_task + received_value=query_from_task, ) def _produce_dynamic_job_spec(self, context, inputs): @@ -310,9 +334,10 @@

Source code for flytekit.common.tasks.hive_task

< :param flytekit.models.literals.LiteralMap literal_map inputs: :rtype: flytekit.models.dynamic_job.DynamicJobSpec """ - inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std(inputs, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs) - }) + inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std( + inputs, + {k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs)}, + ) outputs_dict = { name: _task_output.OutputReference(_type_helpers.get_sdk_type_from_literal_type(variable.type)) for name, variable in _six.iteritems(self.interface.outputs) @@ -327,27 +352,23 @@

Source code for flytekit.common.tasks.hive_task

< generated_queries = self._generate_plugin_objects(context, inputs_dict) # Create output bindings always - this has to happen after user code has run - output_bindings = [_literal_models.Binding(var=name, binding=_interface.BindingData.from_python_std( - b.sdk_type.to_flyte_literal_type(), b.value)) - for name, b in _six.iteritems(outputs_dict)] + output_bindings = [ + _literal_models.Binding( + var=name, binding=_interface.BindingData.from_python_std(b.sdk_type.to_flyte_literal_type(), b.value), + ) + for name, b in _six.iteritems(outputs_dict) + ] i = 0 for quboleHiveJob in generated_queries: - hive_job_node = _create_hive_job_node( - "HiveQuery_{}".format(i), - quboleHiveJob.to_flyte_idl(), - self.metadata - ) + hive_job_node = _create_hive_job_node("HiveQuery_{}".format(i), quboleHiveJob.to_flyte_idl(), self.metadata) nodes.append(hive_job_node) tasks.append(hive_job_node.executable_sdk_object) i += 1 dynamic_job_spec = _dynamic_job.DynamicJobSpec( - min_successes=len(nodes), - tasks=tasks, - nodes=nodes, - outputs=output_bindings, - subworkflows=[]) + min_successes=len(nodes), tasks=tasks, nodes=nodes, outputs=output_bindings, subworkflows=[], + ) return dynamic_job_spec @@ -373,12 +394,11 @@

Source code for flytekit.common.tasks.hive_task

< if len(spec.nodes) == 0: return { _constants.OUTPUT_FILE_NAME: _literal_models.LiteralMap( - literals={binding.var: binding.binding.to_literal_model() for binding in spec.outputs}) + literals={binding.var: binding.binding.to_literal_model() for binding in spec.outputs} + ) } else: - generated_files.update({ - _constants.FUTURES_FILE_NAME: spec - }) + generated_files.update({_constants.FUTURES_FILE_NAME: spec}) return generated_files
@@ -396,7 +416,7 @@

Source code for flytekit.common.tasks.hive_task

< upstream_nodes=[], bindings=[], metadata=_workflow_model.NodeMetadata(name, metadata.timeout, _literal_models.RetryStrategy(0)), - sdk_task=SdkHiveJob(hive_job, metadata) + sdk_task=SdkHiveJob(hive_job, metadata), ) @@ -407,9 +427,7 @@

Source code for flytekit.common.tasks.hive_task

< """ def __init__( - self, - hive_job, - metadata, + self, hive_job, metadata, ): """ :param _qubole.QuboleHiveJob hive_job: Hive job spec diff --git a/_modules/flytekit/common/tasks/output.html b/_modules/flytekit/common/tasks/output.html index 781ea3b434..c2ab8d2acb 100644 --- a/_modules/flytekit/common/tasks/output.html +++ b/_modules/flytekit/common/tasks/output.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.output — Flyte 0.6.0 documentation + flytekit.common.tasks.output — Flyte 0.7.0 documentation diff --git a/_modules/flytekit/common/tasks/presto_task.html b/_modules/flytekit/common/tasks/presto_task.html index 9fd63e9db5..7d4ff0c281 100644 --- a/_modules/flytekit/common/tasks/presto_task.html +++ b/_modules/flytekit/common/tasks/presto_task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.presto_task — Flyte 0.6.0 documentation + flytekit.common.tasks.presto_task — Flyte 0.7.0 documentation @@ -162,25 +162,22 @@

Source code for flytekit.common.tasks.presto_task

 from __future__ import absolute_import
 
-import six as _six
-
+import datetime as _datetime
 
+import six as _six
 from google.protobuf.json_format import MessageToDict as _MessageToDict
-from flytekit import __version__
 
+from flytekit import __version__
 from flytekit.common import constants as _constants
-from flytekit.common.tasks import task as _base_task
-from flytekit.models import (
-    interface as _interface_model
-)
-from flytekit.models import literals as _literals, types as _types, \
-    task as _task_model
-
 from flytekit.common import interface as _interface
-import datetime as _datetime
-from flytekit.models import presto as _presto_models
-from flytekit.common.types import helpers as _type_helpers
 from flytekit.common.exceptions import scopes as _exception_scopes
+from flytekit.common.tasks import task as _base_task
+from flytekit.common.types import helpers as _type_helpers
+from flytekit.models import interface as _interface_model
+from flytekit.models import literals as _literals
+from flytekit.models import presto as _presto_models
+from flytekit.models import task as _task_model
+from flytekit.models import types as _types
 
 
 
[docs]class SdkPrestoTask(_base_task.SdkTask): @@ -189,19 +186,19 @@

Source code for flytekit.common.tasks.presto_task

""" def __init__( - self, - statement, - output_schema, - routing_group=None, - catalog=None, - schema=None, - task_inputs=None, - interruptible=False, - discoverable=False, - discovery_version=None, - retries=1, - timeout=None, - deprecated=None + self, + statement, + output_schema, + routing_group=None, + catalog=None, + schema=None, + task_inputs=None, + interruptible=False, + discoverable=False, + discovery_version=None, + retries=1, + timeout=None, + deprecated=None, ): """ :param Text statement: Presto query specification @@ -227,21 +224,16 @@

Source code for flytekit.common.tasks.presto_task

metadata = _task_model.TaskMetadata( discoverable, # This needs to have the proper version reflected in it - _task_model.RuntimeMetadata( - _task_model.RuntimeMetadata.RuntimeType.FLYTE_SDK, __version__, - "python"), + _task_model.RuntimeMetadata(_task_model.RuntimeMetadata.RuntimeType.FLYTE_SDK, __version__, "python"), timeout or _datetime.timedelta(seconds=0), _literals.RetryStrategy(retries), interruptible, discovery_version, - deprecated + deprecated, ) presto_query = _presto_models.PrestoQuery( - routing_group=routing_group or "", - catalog=catalog or "", - schema=schema or "", - statement=statement + routing_group=routing_group or "", catalog=catalog or "", schema=schema or "", statement=statement, ) # Here we set the routing_group, catalog, and schema as implicit @@ -250,30 +242,28 @@

Source code for flytekit.common.tasks.presto_task

{ "__implicit_routing_group": _interface_model.Variable( type=_types.LiteralType(simple=_types.SimpleType.STRING), - description="The routing group set as an implicit input" + description="The routing group set as an implicit input", ), "__implicit_catalog": _interface_model.Variable( type=_types.LiteralType(simple=_types.SimpleType.STRING), - description="The catalog set as an implicit input" + description="The catalog set as an implicit input", ), "__implicit_schema": _interface_model.Variable( type=_types.LiteralType(simple=_types.SimpleType.STRING), - description="The schema set as an implicit input" - ) + description="The schema set as an implicit input", + ), }, { # Set the schema for the Presto query as an output "results": _interface_model.Variable( type=_types.LiteralType(schema=output_schema.schema_type), - description="The schema for the Presto query" + description="The schema for the Presto query", ) - }) + }, + ) super(SdkPrestoTask, self).__init__( - _constants.SdkTaskType.PRESTO_TASK, - metadata, - i, - _MessageToDict(presto_query.to_flyte_idl()), + _constants.SdkTaskType.PRESTO_TASK, metadata, i, _MessageToDict(presto_query.to_flyte_idl()), ) # Set user provided inputs @@ -294,9 +284,7 @@

Source code for flytekit.common.tasks.presto_task

def __call__(self, *args, **kwargs): kwargs = self._add_implicit_inputs(kwargs) - return super(SdkPrestoTask, self).__call__( - *args, **kwargs - ) + return super(SdkPrestoTask, self).__call__(*args, **kwargs) # Override method in order to set the implicit inputs def _python_std_input_map_to_literal_map(self, inputs): @@ -306,10 +294,10 @@

Source code for flytekit.common.tasks.presto_task

:rtype: flytekit.models.literals.LiteralMap """ inputs = self._add_implicit_inputs(inputs) - return _type_helpers.pack_python_std_map_to_literal_map(inputs, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) - for k, v in _six.iteritems(self.interface.inputs) - }) + return _type_helpers.pack_python_std_map_to_literal_map( + inputs, + {k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs)}, + )
[docs] @_exception_scopes.system_entry_point def add_inputs(self, inputs): diff --git a/_modules/flytekit/common/tasks/pytorch_task.html b/_modules/flytekit/common/tasks/pytorch_task.html index ebe9cd7ce8..539b75bfe7 100644 --- a/_modules/flytekit/common/tasks/pytorch_task.html +++ b/_modules/flytekit/common/tasks/pytorch_task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.pytorch_task — Flyte 0.6.0 documentation + flytekit.common.tasks.pytorch_task — Flyte 0.7.0 documentation @@ -162,22 +162,13 @@

Source code for flytekit.common.tasks.pytorch_task

 from __future__ import absolute_import
 
-try:
-    from inspect import getfullargspec as _getargspec
-except ImportError:
-    from inspect import getargspec as _getargspec
-
-import six as _six
-from flytekit.common import constants as _constants
-from flytekit.common.exceptions import scopes as _exception_scopes
-from flytekit.common.tasks import output as _task_output, sdk_runnable as _sdk_runnable
-from flytekit.common.types import helpers as _type_helpers
-from flytekit.models import literals as _literal_models, task as _task_models
 from google.protobuf.json_format import MessageToDict as _MessageToDict
 
+from flytekit.common.tasks import sdk_runnable as _sdk_runnable
+from flytekit.models import task as _task_models
 
-
[docs]class SdkRunnablePytorchContainer(_sdk_runnable.SdkRunnableContainer): +
[docs]class SdkRunnablePytorchContainer(_sdk_runnable.SdkRunnableContainer): @property def args(self): """ @@ -186,31 +177,30 @@

Source code for flytekit.common.tasks.pytorch_task

""" return self._args
+
[docs]class SdkPyTorchTask(_sdk_runnable.SdkRunnableTask): def __init__( - self, - task_function, - task_type, - discovery_version, - retries, - interruptible, - deprecated, - discoverable, - timeout, - workers_count, - per_replica_storage_request, - per_replica_cpu_request, - per_replica_gpu_request, - per_replica_memory_request, - per_replica_storage_limit, - per_replica_cpu_limit, - per_replica_gpu_limit, - per_replica_memory_limit, - environment + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + discoverable, + timeout, + workers_count, + per_replica_storage_request, + per_replica_cpu_request, + per_replica_gpu_request, + per_replica_memory_request, + per_replica_storage_limit, + per_replica_cpu_limit, + per_replica_gpu_limit, + per_replica_memory_limit, + environment, ): - pytorch_job = _task_models.PyTorchJob( - workers_count=workers_count - ).to_flyte_idl() + pytorch_job = _task_models.PyTorchJob(workers_count=workers_count).to_flyte_idl() super(SdkPyTorchTask, self).__init__( task_function=task_function, task_type=task_type, @@ -229,13 +219,10 @@

Source code for flytekit.common.tasks.pytorch_task

discoverable=discoverable, timeout=timeout, environment=environment, - custom=_MessageToDict(pytorch_job) + custom=_MessageToDict(pytorch_job), ) - def _get_container_definition( - self, - **kwargs - ): + def _get_container_definition(self, **kwargs): """ :rtype: SdkRunnablePytorchContainer """ diff --git a/_modules/flytekit/common/tasks/raw_container.html b/_modules/flytekit/common/tasks/raw_container.html index 4132b31559..8ff49ca424 100644 --- a/_modules/flytekit/common/tasks/raw_container.html +++ b/_modules/flytekit/common/tasks/raw_container.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.raw_container — Flyte 0.6.0 documentation + flytekit.common.tasks.raw_container — Flyte 0.7.0 documentation @@ -172,7 +172,8 @@

Source code for flytekit.common.tasks.raw_container

from flytekit.common.tasks import task as _base_task from flytekit.common.types.base_sdk_types import FlyteSdkType from flytekit.configuration import resources as _resource_config -from flytekit.models import literals as _literals, task as _task_models +from flytekit.models import literals as _literals +from flytekit.models import task as _task_models from flytekit.models.interface import Variable @@ -185,19 +186,19 @@

Source code for flytekit.common.tasks.raw_container

def _get_container_definition( - image: str, - command: List[str], - args: List[str], - data_loading_config: _task_models.DataLoadingConfig, - storage_request: str = None, - cpu_request: str = None, - gpu_request: str = None, - memory_request: str = None, - storage_limit: str = None, - cpu_limit: str = None, - gpu_limit: str = None, - memory_limit: str = None, - environment: Dict[str, str] = None, + image: str, + command: List[str], + args: List[str], + data_loading_config: _task_models.DataLoadingConfig, + storage_request: str = None, + cpu_request: str = None, + gpu_request: str = None, + memory_request: str = None, + storage_limit: str = None, + cpu_limit: str = None, + gpu_limit: str = None, + memory_limit: str = None, + environment: Dict[str, str] = None, ) -> _task_models.Container: storage_limit = storage_limit or _resource_config.DEFAULT_STORAGE_LIMIT.get() storage_request = storage_request or _resource_config.DEFAULT_STORAGE_REQUEST.get() @@ -211,62 +212,26 @@

Source code for flytekit.common.tasks.raw_container

requests = [] if storage_request: requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.STORAGE, - storage_request - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.STORAGE, storage_request) ) if cpu_request: - requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.CPU, - cpu_request - ) - ) + requests.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.CPU, cpu_request)) if gpu_request: - requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.GPU, - gpu_request - ) - ) + requests.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.GPU, gpu_request)) if memory_request: requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.MEMORY, - memory_request - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.MEMORY, memory_request) ) limits = [] if storage_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.STORAGE, - storage_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.STORAGE, storage_limit)) if cpu_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.CPU, - cpu_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.CPU, cpu_limit)) if gpu_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.GPU, - gpu_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.GPU, gpu_limit)) if memory_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.MEMORY, - memory_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.MEMORY, memory_limit)) if environment is None: environment = {} @@ -287,35 +252,36 @@

Source code for flytekit.common.tasks.raw_container

Use this task when you want to run an arbitrary container as a task (e.g. external tools, binaries compiled separately as a container completely separate from the container where your Flyte workflow is defined. """ + METADATA_FORMAT_JSON = _task_models.DataLoadingConfig.LITERALMAP_FORMAT_JSON METADATA_FORMAT_YAML = _task_models.DataLoadingConfig.LITERALMAP_FORMAT_YAML METADATA_FORMAT_PROTO = _task_models.DataLoadingConfig.LITERALMAP_FORMAT_PROTO def __init__( - self, - inputs: Dict[str, FlyteSdkType], - image: str, - outputs: Dict[str, FlyteSdkType] = None, - input_data_dir: str = None, - output_data_dir: str = None, - metadata_format: int = METADATA_FORMAT_JSON, - io_strategy: _task_models.IOStrategy=None, - command: List[str] = None, - args: List[str] = None, - storage_request: str = None, - cpu_request: str = None, - gpu_request: str = None, - memory_request: str = None, - storage_limit: str = None, - cpu_limit: str = None, - gpu_limit: str = None, - memory_limit: str = None, - environment: Dict[str, str] = None, - interruptible: bool = False, - discoverable: bool = False, - discovery_version: str = None, - retries: int = 1, - timeout: _datetime.timedelta = None, + self, + inputs: Dict[str, FlyteSdkType], + image: str, + outputs: Dict[str, FlyteSdkType] = None, + input_data_dir: str = None, + output_data_dir: str = None, + metadata_format: int = METADATA_FORMAT_JSON, + io_strategy: _task_models.IOStrategy = None, + command: List[str] = None, + args: List[str] = None, + storage_request: str = None, + cpu_request: str = None, + gpu_request: str = None, + memory_request: str = None, + storage_limit: str = None, + cpu_limit: str = None, + gpu_limit: str = None, + memory_limit: str = None, + environment: Dict[str, str] = None, + interruptible: bool = False, + discoverable: bool = False, + discovery_version: str = None, + retries: int = 1, + timeout: _datetime.timedelta = None, ): """ :param inputs: @@ -355,14 +321,12 @@

Source code for flytekit.common.tasks.raw_container

metadata = _task_models.TaskMetadata( discoverable, # This needs to have the proper version reflected in it - _task_models.RuntimeMetadata( - _task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, __version__, - "python"), + _task_models.RuntimeMetadata(_task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, __version__, "python",), timeout or _datetime.timedelta(seconds=0), _literals.RetryStrategy(retries), interruptible, discovery_version, - None + None, ) # The interface is defined using the inputs and outputs @@ -388,10 +352,9 @@

Source code for flytekit.common.tasks.raw_container

gpu_limit=gpu_limit, memory_limit=memory_limit, environment=environment, - ) + ), ) -
[docs] @_exception_scopes.system_entry_point def add_inputs(self, inputs: Dict[str, Variable]): """ diff --git a/_modules/flytekit/common/tasks/sagemaker/built_in_training_job_task.html b/_modules/flytekit/common/tasks/sagemaker/built_in_training_job_task.html new file mode 100644 index 0000000000..6179f99c7e --- /dev/null +++ b/_modules/flytekit/common/tasks/sagemaker/built_in_training_job_task.html @@ -0,0 +1,308 @@ + + + + + + + + + + + flytekit.common.tasks.sagemaker.built_in_training_job_task — Flyte 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ +
    + +
  • Docs »
  • + +
  • Module code »
  • + +
  • flytekit.common.tasks.sagemaker.built_in_training_job_task
  • + + +
  • + +
  • + +
+ + +
+
+
+
+ +

Source code for flytekit.common.tasks.sagemaker.built_in_training_job_task

+import datetime as _datetime
+
+from google.protobuf.json_format import MessageToDict
+
+from flytekit import __version__
+from flytekit.common import interface as _interface
+from flytekit.common.constants import SdkTaskType
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.tasks import task as _sdk_task
+from flytekit.models import interface as _interface_model
+from flytekit.models import literals as _literal_models
+from flytekit.models import task as _task_models
+from flytekit.models import types as _idl_types
+from flytekit.models.core import types as _core_types
+from flytekit.models.sagemaker import training_job as _training_job_models
+
+
+def _content_type_to_blob_format(content_type: _training_job_models) -> str:
+    if content_type == _training_job_models.InputContentType.TEXT_CSV:
+        return "csv"
+    else:
+        raise _user_exceptions.FlyteValueException("Unsupported InputContentType: {}".format(content_type))
+
+
+
[docs]class SdkBuiltinAlgorithmTrainingJobTask(_sdk_task.SdkTask): + def __init__( + self, + training_job_resource_config: _training_job_models.TrainingJobResourceConfig, + algorithm_specification: _training_job_models.AlgorithmSpecification, + retries: int = 0, + cacheable: bool = False, + cache_version: str = "", + ): + """ + + :param training_job_resource_config: The options to configure the training job + :param algorithm_specification: The options to configure the target algorithm of the training + :param retries: Number of retries to attempt + :param cacheable: The flag to set if the user wants the output of the task execution to be cached + :param cache_version: String describing the caching version for task discovery purposes + """ + # Use the training job model as a measure of type checking + self._training_job_model = _training_job_models.TrainingJob( + algorithm_specification=algorithm_specification, training_job_resource_config=training_job_resource_config, + ) + + # Setting flyte-level timeout to 0, and let SageMaker takes the StoppingCondition and terminate the training + # job gracefully + timeout = _datetime.timedelta(seconds=0) + + super(SdkBuiltinAlgorithmTrainingJobTask, self).__init__( + type=SdkTaskType.SAGEMAKER_TRAINING_JOB_TASK, + metadata=_task_models.TaskMetadata( + runtime=_task_models.RuntimeMetadata( + type=_task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, version=__version__, flavor="sagemaker", + ), + discoverable=cacheable, + timeout=timeout, + retries=_literal_models.RetryStrategy(retries=retries), + interruptible=False, + discovery_version=cache_version, + deprecated_error_message="", + ), + interface=_interface.TypedInterface( + inputs={ + "static_hyperparameters": _interface_model.Variable( + type=_idl_types.LiteralType(simple=_idl_types.SimpleType.STRUCT), description="", + ), + "train": _interface_model.Variable( + type=_idl_types.LiteralType( + blob=_core_types.BlobType( + format=_content_type_to_blob_format(algorithm_specification.input_content_type), + dimensionality=_core_types.BlobType.BlobDimensionality.MULTIPART, + ), + ), + description="", + ), + "validation": _interface_model.Variable( + type=_idl_types.LiteralType( + blob=_core_types.BlobType( + format=_content_type_to_blob_format(algorithm_specification.input_content_type), + dimensionality=_core_types.BlobType.BlobDimensionality.MULTIPART, + ), + ), + description="", + ), + }, + outputs={ + "model": _interface_model.Variable( + type=_idl_types.LiteralType( + blob=_core_types.BlobType( + format="", dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE, + ) + ), + description="", + ) + }, + ), + custom=MessageToDict(self._training_job_model.to_flyte_idl()), + ) + + @property + def training_job_model(self) -> _training_job_models.TrainingJob: + return self._training_job_model
+
+ +
+ +
+ + +
+
+ +
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/flytekit/common/tasks/sagemaker/custom_training_job_task.html b/_modules/flytekit/common/tasks/sagemaker/custom_training_job_task.html new file mode 100644 index 0000000000..bdd149081a --- /dev/null +++ b/_modules/flytekit/common/tasks/sagemaker/custom_training_job_task.html @@ -0,0 +1,286 @@ + + + + + + + + + + + flytekit.common.tasks.sagemaker.custom_training_job_task — Flyte 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ +
    + +
  • Docs »
  • + +
  • Module code »
  • + +
  • flytekit.common.tasks.sagemaker.custom_training_job_task
  • + + +
  • + +
  • + +
+ + +
+
+
+
+ +

Source code for flytekit.common.tasks.sagemaker.custom_training_job_task

+from google.protobuf.json_format import MessageToDict
+
+from flytekit.common.constants import SdkTaskType
+from flytekit.common.tasks import sdk_runnable as _sdk_runnable
+from flytekit.models.sagemaker import training_job as _training_job_models
+
+
+
[docs]class CustomTrainingJobTask(_sdk_runnable.SdkRunnableTask): + """ + CustomTrainJobTask defines a python task that can run on SageMaker bring your own container. + + """ + + def __init__( + self, + task_function, + cache_version, + retries, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + cache, + timeout, + environment, + algorithm_specification: _training_job_models.AlgorithmSpecification, + training_job_resource_config: _training_job_models.TrainingJobResourceConfig, + ): + """ + :param task_function: Function container user code. This will be executed via the SDK's engine. + :param Text cache_version: string describing the version for task discovery purposes + :param int retries: Number of retries to attempt + :param Text deprecated: + :param Text storage_request: + :param Text cpu_request: + :param Text gpu_request: + :param Text memory_request: + :param Text storage_limit: + :param Text cpu_limit: + :param Text gpu_limit: + :param Text memory_limit: + :param bool cache: + :param datetime.timedelta timeout: + :param dict[Text, Text] environment: + :param _training_job_models.AlgorithmSpecification algorithm_specification: + :param _training_job_models.TrainingJobResourceConfig training_job_resource_config: + """ + + # Use the training job model as a measure of type checking + self._training_job_model = _training_job_models.TrainingJob( + algorithm_specification=algorithm_specification, training_job_resource_config=training_job_resource_config + ) + + super().__init__( + task_function=task_function, + task_type=SdkTaskType.SAGEMAKER_CUSTOM_TRAINING_JOB_TASK, + discovery_version=cache_version, + retries=retries, + interruptible=False, + deprecated=deprecated, + storage_request=storage_request, + cpu_request=cpu_request, + gpu_request=gpu_request, + memory_request=memory_request, + storage_limit=storage_limit, + cpu_limit=cpu_limit, + gpu_limit=gpu_limit, + memory_limit=memory_limit, + discoverable=cache, + timeout=timeout, + environment=environment, + custom=MessageToDict(self._training_job_model.to_flyte_idl()), + ) + + @property + def training_job_model(self) -> _training_job_models.TrainingJob: + return self._training_job_model
+
+ +
+ +
+ + +
+
+ +
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/flytekit/common/tasks/sagemaker/hpo_job_task.html b/_modules/flytekit/common/tasks/sagemaker/hpo_job_task.html index ab448568d5..72b15da57b 100644 --- a/_modules/flytekit/common/tasks/sagemaker/hpo_job_task.html +++ b/_modules/flytekit/common/tasks/sagemaker/hpo_job_task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.sagemaker.hpo_job_task — Flyte 0.6.0 documentation + flytekit.common.tasks.sagemaker.hpo_job_task — Flyte 0.7.0 documentation @@ -160,9 +160,8 @@

Source code for flytekit.common.tasks.sagemaker.hpo_job_task

-from __future__ import absolute_import
-
-import datetime as _datetime
+import datetime as _datetime
+import typing
 
 from flyteidl.plugins.sagemaker import hyperparameter_tuning_job_pb2 as _pb2_hpo_job
 from google.protobuf.json_format import MessageToDict
@@ -171,7 +170,8 @@ 

Source code for flytekit.common.tasks.sagemaker.hpo_job_task

from flytekit.common import interface as _interface from flytekit.common.constants import SdkTaskType from flytekit.common.tasks import task as _sdk_task -from flytekit.common.tasks.sagemaker.training_job_task import SdkBuiltinAlgorithmTrainingJobTask +from flytekit.common.tasks.sagemaker.built_in_training_job_task import SdkBuiltinAlgorithmTrainingJobTask +from flytekit.common.tasks.sagemaker.custom_training_job_task import CustomTrainingJobTask from flytekit.models import interface as _interface_model from flytekit.models import literals as _literal_models from flytekit.models import task as _task_models @@ -182,15 +182,14 @@

Source code for flytekit.common.tasks.sagemaker.hpo_job_task

[docs]class SdkSimpleHyperparameterTuningJobTask(_sdk_task.SdkTask): - def __init__( - self, - max_number_of_training_jobs: int, - max_parallel_training_jobs: int, - training_job: SdkBuiltinAlgorithmTrainingJobTask, - retries: int = 0, - cacheable: bool = False, - cache_version: str = "", + self, + max_number_of_training_jobs: int, + max_parallel_training_jobs: int, + training_job: typing.Union[SdkBuiltinAlgorithmTrainingJobTask, CustomTrainingJobTask], + retries: int = 0, + cacheable: bool = False, + cache_version: str = "", ): """ @@ -216,20 +215,17 @@

Source code for flytekit.common.tasks.sagemaker.hpo_job_task

timeout = _datetime.timedelta(seconds=0) inputs = { - "hyperparameter_tuning_job_config": _interface_model.Variable( - _sdk_types.Types.Proto( - _pb2_hpo_job.HyperparameterTuningJobConfig).to_flyte_literal_type(), "" - ), - } + "hyperparameter_tuning_job_config": _interface_model.Variable( + _sdk_types.Types.Proto(_pb2_hpo_job.HyperparameterTuningJobConfig).to_flyte_literal_type(), "", + ), + } inputs.update(training_job.interface.inputs) super(SdkSimpleHyperparameterTuningJobTask, self).__init__( type=SdkTaskType.SAGEMAKER_HYPERPARAMETER_TUNING_JOB_TASK, metadata=_task_models.TaskMetadata( runtime=_task_models.RuntimeMetadata( - type=_task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, - version=__version__, - flavor='sagemaker' + type=_task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, version=__version__, flavor="sagemaker", ), discoverable=cacheable, timeout=timeout, @@ -244,13 +240,12 @@

Source code for flytekit.common.tasks.sagemaker.hpo_job_task

"model": _interface_model.Variable( type=_types_models.LiteralType( blob=_core_types.BlobType( - format="", - dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE + format="", dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE, ) ), - description="" + description="", ) - } + }, ), custom=MessageToDict(hpo_job), )
diff --git a/_modules/flytekit/common/tasks/sdk_dynamic.html b/_modules/flytekit/common/tasks/sdk_dynamic.html index a453b6dc84..c88f66ecb9 100644 --- a/_modules/flytekit/common/tasks/sdk_dynamic.html +++ b/_modules/flytekit/common/tasks/sdk_dynamic.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.sdk_dynamic — Flyte 0.6.0 documentation + flytekit.common.tasks.sdk_dynamic — Flyte 0.7.0 documentation @@ -162,22 +162,29 @@

Source code for flytekit.common.tasks.sdk_dynamic

 from __future__ import absolute_import
 
-import os as _os
-
 import itertools as _itertools
 import math
+import os as _os
+
 import six as _six
 
-from flytekit.common import constants as _constants, interface as _interface, sdk_bases as _sdk_bases, \
-    launch_plan as _launch_plan, workflow as _workflow
+from flytekit.common import constants as _constants
+from flytekit.common import interface as _interface
+from flytekit.common import launch_plan as _launch_plan
+from flytekit.common import sdk_bases as _sdk_bases
+from flytekit.common import workflow as _workflow
 from flytekit.common.core import identifier as _identifier
 from flytekit.common.exceptions import scopes as _exception_scopes
 from flytekit.common.mixins import registerable as _registerable
-from flytekit.common.tasks import output as _task_output, sdk_runnable as _sdk_runnable, task as _task
+from flytekit.common.tasks import output as _task_output
+from flytekit.common.tasks import sdk_runnable as _sdk_runnable
+from flytekit.common.tasks import task as _task
 from flytekit.common.types import helpers as _type_helpers
 from flytekit.common.utils import _dnsify
 from flytekit.configuration import internal as _internal_config
-from flytekit.models import literals as _literal_models, dynamic_job as _dynamic_job, array_job as _array_job
+from flytekit.models import array_job as _array_job
+from flytekit.models import dynamic_job as _dynamic_job
+from flytekit.models import literals as _literal_models
 
 
 
[docs]class PromiseOutputReference(_task_output.OutputReference): @@ -209,68 +216,23 @@

Source code for flytekit.common.tasks.sdk_dynamic

# Upload inputs to working directory under /array_job.input_ref/inputs.pb input_path = _os.path.join(node.id, _constants.INPUT_FILE_NAME) generated_files[input_path] = _literal_models.LiteralMap( - literals={binding.var: binding.binding.to_literal_model() for binding in - sub_task_node.inputs}) + literals={binding.var: binding.binding.to_literal_model() for binding in sub_task_node.inputs} + ) + +
[docs]class SdkDynamicTaskMixin(object): -
[docs]class SdkDynamicTask(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _sdk_runnable.SdkRunnableTask)): """ - This class includes the additional logic for building a task that executes parent-child tasks in Python code. It - has even more validation checks to ensure proper behavior than it's superclasses. + This mixin implements logic for building a task that executes + parent-child tasks in Python code. - Since an SdkDynamicTask is assumed to run by hooking into Python code, we will provide additional shortcuts and - methods on this object. """ - def __init__( - self, - task_function, - task_type, - discovery_version, - retries, - interruptible, - deprecated, - storage_request, - cpu_request, - gpu_request, - memory_request, - storage_limit, - cpu_limit, - gpu_limit, - memory_limit, - discoverable, - timeout, - allowed_failure_ratio, - max_concurrency, - environment, - custom - ): + def __init__(self, allowed_failure_ratio, max_concurrency): """ - :param task_function: Function container user code. This will be executed via the SDK's engine. - :param Text task_type: string describing the task type - :param Text discovery_version: string describing the version for task discovery purposes - :param int retries: Number of retries to attempt - :param bool interruptible: Whether or not task is interruptible - :param Text deprecated: - :param Text storage_request: - :param Text cpu_request: - :param Text gpu_request: - :param Text memory_request: - :param Text storage_limit: - :param Text cpu_limit: - :param Text gpu_limit: - :param Text memory_limit: - :param bool discoverable: - :param datetime.timedelta timeout: :param float allowed_failure_ratio: :param int max_concurrency: - :param dict[Text, Text] environment: - :param dict[Text, T] custom: """ - super(SdkDynamicTask, self).__init__( - task_function, task_type, discovery_version, retries, interruptible, deprecated, - storage_request, cpu_request, gpu_request, memory_request, storage_limit, - cpu_limit, gpu_limit, memory_limit, discoverable, timeout, environment, custom) # These will only appear in the generated futures self._allowed_failure_ratio = allowed_failure_ratio @@ -282,9 +244,9 @@

Source code for flytekit.common.tasks.sdk_dynamic

:param str inputs_prefix: :rtype: _array_job.ArrayJob """ - return _array_job.ArrayJob(parallelism=self._max_concurrency if self._max_concurrency else 0, - size=1, - min_successes=1) + return _array_job.ArrayJob( + parallelism=self._max_concurrency if self._max_concurrency else 0, size=1, min_successes=1, + ) @staticmethod def _can_run_as_array(task_type): @@ -316,9 +278,10 @@

Source code for flytekit.common.tasks.sdk_dynamic

:param flytekit.models.literals.LiteralMap literal_map inputs: :rtype: (_dynamic_job.DynamicJobSpec, dict[Text, flytekit.models.common.FlyteIdlEntity]) """ - inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std(inputs, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs) - }) + inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std( + inputs, + {k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs)}, + ) outputs_dict = { name: PromiseOutputReference(_type_helpers.get_sdk_type_from_literal_type(variable.type)) for name, variable in _six.iteritems(self.interface.outputs) @@ -327,13 +290,18 @@

Source code for flytekit.common.tasks.sdk_dynamic

# Because users declare both inputs and outputs in their functions signatures, merge them together # before calling user code inputs_dict.update(outputs_dict) - yielded_sub_tasks = [sub_task for sub_task in - super(SdkDynamicTask, self)._execute_user_code(context, inputs_dict) or []] + yielded_sub_tasks = [sub_task for sub_task in self._execute_user_code(context, inputs_dict) or []] upstream_nodes = list() - output_bindings = [_literal_models.Binding(var=name, binding=_interface.BindingData.from_python_std( - b.sdk_type.to_flyte_literal_type(), b.raw_value, upstream_nodes=upstream_nodes)) - for name, b in _six.iteritems(outputs_dict)] + output_bindings = [ + _literal_models.Binding( + var=name, + binding=_interface.BindingData.from_python_std( + b.sdk_type.to_flyte_literal_type(), b.raw_value, upstream_nodes=upstream_nodes, + ), + ) + for name, b in _six.iteritems(outputs_dict) + ] upstream_nodes = set(upstream_nodes) generated_files = {} @@ -366,7 +334,7 @@

Source code for flytekit.common.tasks.sdk_dynamic

_internal_config.TASK_PROJECT.get() or _internal_config.PROJECT.get(), _internal_config.TASK_DOMAIN.get() or _internal_config.DOMAIN.get(), executable.platform_valid_name, - _internal_config.TASK_VERSION.get() or _internal_config.VERSION.get() + _internal_config.TASK_VERSION.get() or _internal_config.VERSION.get(), ) # Generate an id that's unique in the document (if the same task is used multiple times with @@ -403,7 +371,10 @@

Source code for flytekit.common.tasks.sdk_dynamic

else: array_job = self._create_array_job(inputs_prefix=unique_node_id) node = sub_task_node.assign_id_and_return(unique_node_id) - array_job_index[sub_task_node.executable_sdk_object] = (array_job, node) + array_job_index[sub_task_node.executable_sdk_object] = ( + array_job, + node, + ) node_index = _six.text_type(array_job.size - 1) for k, node_output in _six.iteritems(sub_task_node.outputs): @@ -414,8 +385,8 @@

Source code for flytekit.common.tasks.sdk_dynamic

# Upload inputs to working directory under /array_job.input_ref/<index>/inputs.pb input_path = _os.path.join(node.id, node_index, _constants.INPUT_FILE_NAME) generated_files[input_path] = _literal_models.LiteralMap( - literals={binding.var: binding.binding.to_literal_model() for binding in - sub_task_node.inputs}) + literals={binding.var: binding.binding.to_literal_model() for binding in sub_task_node.inputs} + ) else: node = sub_task_node.assign_id_and_return(unique_node_id) tasks.add(sub_task_node.executable_sdk_object) @@ -424,8 +395,11 @@

Source code for flytekit.common.tasks.sdk_dynamic

# assign custom field to the ArrayJob properties computed. for task, (array_job, _) in _six.iteritems(array_job_index): # TODO: Reconstruct task template object instead of modifying an existing one? - tasks.add(task.assign_custom_and_return(array_job.to_dict()).assign_type_and_return( - _constants.SdkTaskType.CONTAINER_ARRAY_TASK)) + tasks.add( + task.assign_custom_and_return(array_job.to_dict()).assign_type_and_return( + _constants.SdkTaskType.CONTAINER_ARRAY_TASK + ) + ) # min_successes is absolute, it's computed as the reverse of allowed_failure_ratio and multiplied by the # total length of tasks to get an absolute count. @@ -435,11 +409,12 @@

Source code for flytekit.common.tasks.sdk_dynamic

tasks=list(tasks), nodes=nodes, outputs=output_bindings, - subworkflows=list(sub_workflows)) + subworkflows=list(sub_workflows), + ) return dynamic_job_spec, generated_files -
[docs] @_exception_scopes.system_entry_point +
[docs] @_exception_scopes.system_entry_point def execute(self, context, inputs): """ Executes batch task's user code and produces futures file as well as all sub-task inputs.pb files. @@ -459,14 +434,93 @@

Source code for flytekit.common.tasks.sdk_dynamic

if len(spec.nodes) == 0: return { _constants.OUTPUT_FILE_NAME: _literal_models.LiteralMap( - literals={binding.var: binding.binding.to_literal_model() for binding in spec.outputs}) + literals={binding.var: binding.binding.to_literal_model() for binding in spec.outputs} + ) } else: - generated_files.update({ - _constants.FUTURES_FILE_NAME: spec - }) + generated_files.update({_constants.FUTURES_FILE_NAME: spec}) return generated_files
+ + +
[docs]class SdkDynamicTask( + SdkDynamicTaskMixin, _sdk_runnable.SdkRunnableTask, metaclass=_sdk_bases.ExtendedSdkType, +): + + """ + This class includes the additional logic for building a task that executes + parent-child tasks in Python code. + + """ + + def __init__( + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + allowed_failure_ratio, + max_concurrency, + environment, + custom, + ): + """ + :param task_function: Function container user code. This will be executed via the SDK's engine. + :param Text task_type: string describing the task type + :param Text discovery_version: string describing the version for task discovery purposes + :param int retries: Number of retries to attempt + :param bool interruptible: Whether or not task is interruptible + :param Text deprecated: + :param Text storage_request: + :param Text cpu_request: + :param Text gpu_request: + :param Text memory_request: + :param Text storage_limit: + :param Text cpu_limit: + :param Text gpu_limit: + :param Text memory_limit: + :param bool discoverable: + :param datetime.timedelta timeout: + :param float allowed_failure_ratio: + :param int max_concurrency: + :param dict[Text, Text] environment: + :param dict[Text, T] custom: + """ + _sdk_runnable.SdkRunnableTask.__init__( + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + environment, + custom, + ) + + SdkDynamicTaskMixin.__init__(self, allowed_failure_ratio, max_concurrency)
diff --git a/_modules/flytekit/common/tasks/sdk_runnable.html b/_modules/flytekit/common/tasks/sdk_runnable.html index 575a25c219..50077fdc96 100644 --- a/_modules/flytekit/common/tasks/sdk_runnable.html +++ b/_modules/flytekit/common/tasks/sdk_runnable.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.sdk_runnable — Flyte 0.6.0 documentation + flytekit.common.tasks.sdk_runnable — Flyte 0.7.0 documentation @@ -170,14 +170,21 @@

Source code for flytekit.common.tasks.sdk_runnable

import six as _six from flytekit import __version__ -from flytekit.common import interface as _interface, constants as _constants, sdk_bases as _sdk_bases -from flytekit.common.exceptions import user as _user_exceptions, scopes as _exception_scopes -from flytekit.common.tasks import task as _base_task, output as _task_output +from flytekit.common import constants as _constants +from flytekit.common import interface as _interface +from flytekit.common import sdk_bases as _sdk_bases +from flytekit.common.core.identifier import WorkflowExecutionIdentifier +from flytekit.common.exceptions import scopes as _exception_scopes +from flytekit.common.exceptions import user as _user_exceptions +from flytekit.common.tasks import output as _task_output +from flytekit.common.tasks import task as _base_task from flytekit.common.types import helpers as _type_helpers -from flytekit.configuration import sdk as _sdk_config, internal as _internal_config, resources as _resource_config +from flytekit.configuration import internal as _internal_config +from flytekit.configuration import resources as _resource_config +from flytekit.configuration import sdk as _sdk_config from flytekit.engines import loader as _engine_loader -from flytekit.models import literals as _literal_models, task as _task_models -from flytekit.common.core.identifier import WorkflowExecutionIdentifier +from flytekit.models import literals as _literal_models +from flytekit.models import task as _task_models
[docs]class ExecutionParameters(object): @@ -259,23 +266,10 @@

Source code for flytekit.common.tasks.sdk_runnable

[docs]class SdkRunnableContainer(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _task_models.Container)): - def __init__( - self, - command, - args, - resources, - env, - config, + self, command, args, resources, env, config, ): - super(SdkRunnableContainer, self).__init__( - "", - command, - args, - resources, - env or {}, - config - ) + super(SdkRunnableContainer, self).__init__("", command, args, resources, env or {}, config) @property def args(self): @@ -321,25 +315,25 @@

Source code for flytekit.common.tasks.sdk_runnable

""" def __init__( - self, - task_function, - task_type, - discovery_version, - retries, - interruptible, - deprecated, - storage_request, - cpu_request, - gpu_request, - memory_request, - storage_limit, - cpu_limit, - gpu_limit, - memory_limit, - discoverable, - timeout, - environment, - custom + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + environment, + custom, ): """ :param task_function: Function container user code. This will be executed via the SDK's engine. @@ -368,15 +362,13 @@

Source code for flytekit.common.tasks.sdk_runnable

_task_models.TaskMetadata( discoverable, _task_models.RuntimeMetadata( - _task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, - __version__, - 'python' + _task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, __version__, "python", ), timeout, _literal_models.RetryStrategy(retries), interruptible, discovery_version, - deprecated + deprecated, ), _interface.TypedInterface({}, {}), custom, @@ -389,8 +381,8 @@

Source code for flytekit.common.tasks.sdk_runnable

cpu_limit=cpu_limit, gpu_limit=gpu_limit, memory_limit=memory_limit, - environment=environment - ) + environment=environment, + ), ) self.id._name = "{}.{}".format(self.task_module, self.task_function_name) @@ -407,7 +399,7 @@

Source code for flytekit.common.tasks.sdk_runnable

""" self._validate_inputs(inputs) self.interface.inputs.update(inputs)
- +
[docs] @classmethod def promote_from_model(cls, base_model): # TODO: If the task exists in this container, we should be able to retrieve it. @@ -438,10 +430,7 @@

Source code for flytekit.common.tasks.sdk_runnable

raise _user_exceptions.FlyteAssertion( "The task {} is invalid because not all inputs and outputs in the " "task function definition were specified in @outputs and @inputs. " - "We are missing definitions for {}.".format( - self, - missing_args - ) + "We are missing definitions for {}.".format(self, missing_args) )
[docs] @_exception_scopes.system_entry_point @@ -451,11 +440,18 @@

Source code for flytekit.common.tasks.sdk_runnable

literals. :returns: Depends on the behavior of the specific task in the unit engine. """ - return _engine_loader.get_engine('unit').get_task(self).execute( - _type_helpers.pack_python_std_map_to_literal_map(input_map, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) - for k, v in _six.iteritems(self.interface.inputs) - }) + return ( + _engine_loader.get_engine("unit") + .get_task(self) + .execute( + _type_helpers.pack_python_std_map_to_literal_map( + input_map, + { + k: _type_helpers.get_sdk_type_from_literal_type(v.type) + for k, v in _six.iteritems(self.interface.inputs) + }, + ) + ) )
[docs] @_exception_scopes.system_entry_point @@ -466,11 +462,18 @@

Source code for flytekit.common.tasks.sdk_runnable

:rtype: dict[Text, T] :returns: The output produced by this task in Python standard format. """ - return _engine_loader.get_engine('local').get_task(self).execute( - _type_helpers.pack_python_std_map_to_literal_map(input_map, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) - for k, v in _six.iteritems(self.interface.inputs) - }) + return ( + _engine_loader.get_engine("local") + .get_task(self) + .execute( + _type_helpers.pack_python_std_map_to_literal_map( + input_map, + { + k: _type_helpers.get_sdk_type_from_literal_type(v.type) + for k, v in _six.iteritems(self.interface.inputs) + }, + ) + ) )
def _execute_user_code(self, context, inputs): @@ -496,7 +499,7 @@

Source code for flytekit.common.tasks.sdk_runnable

execution_id=_six.text_type(WorkflowExecutionIdentifier.promote_from_model(context.execution_id)), stats=context.stats, logging=context.logging, - tmp_dir=context.working_directory + tmp_dir=context.working_directory, ), **inputs ) @@ -513,9 +516,10 @@

Source code for flytekit.common.tasks.sdk_runnable

working directory (with the names provided), which will in turn allow Flyte Propeller to push along the workflow. Where as local engine will merely feed the outputs directly into the next node. """ - inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std(inputs, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs) - }) + inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std( + inputs, + {k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs)}, + ) outputs_dict = { name: _task_output.OutputReference(_type_helpers.get_sdk_type_from_literal_type(variable.type)) for name, variable in _six.iteritems(self.interface.outputs) @@ -531,17 +535,17 @@

Source code for flytekit.common.tasks.sdk_runnable

}
def _get_container_definition( - self, - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - environment=None, - cls=None, + self, + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + environment=None, + cls=None, ): """ :param Text storage_request: @@ -568,61 +572,29 @@

Source code for flytekit.common.tasks.sdk_runnable

requests = [] if storage_request: requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.STORAGE, - storage_request - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.STORAGE, storage_request) ) if cpu_request: - requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.CPU, - cpu_request - ) - ) + requests.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.CPU, cpu_request)) if gpu_request: - requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.GPU, - gpu_request - ) - ) + requests.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.GPU, gpu_request)) if memory_request: requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.MEMORY, - memory_request - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.MEMORY, memory_request) ) limits = [] if storage_limit: limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.STORAGE, - storage_limit - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.STORAGE, storage_limit) ) if cpu_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.CPU, - cpu_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.CPU, cpu_limit)) if gpu_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.GPU, - gpu_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.GPU, gpu_limit)) if memory_limit: limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.MEMORY, - memory_limit - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.MEMORY, memory_limit) ) return (cls or SdkRunnableContainer)( @@ -636,11 +608,13 @@

Source code for flytekit.common.tasks.sdk_runnable

"--inputs", "{{.input}}", "--output-prefix", - "{{.outputPrefix}}" + "{{.outputPrefix}}", + "--raw-output-data-prefix", + "{{.rawOutputDataPrefix}}", ], resources=_task_models.Resources(limits=limits, requests=requests), env=environment, - config={} + config={}, ) def _validate_inputs(self, inputs): diff --git a/_modules/flytekit/common/tasks/sidecar_task.html b/_modules/flytekit/common/tasks/sidecar_task.html index a7afd16b4e..c2f48e5413 100644 --- a/_modules/flytekit/common/tasks/sidecar_task.html +++ b/_modules/flytekit/common/tasks/sidecar_task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.sidecar_task — Flyte 0.6.0 documentation + flytekit.common.tasks.sidecar_task — Flyte 0.7.0 documentation @@ -163,46 +163,46 @@

Source code for flytekit.common.tasks.sidecar_task

from __future__ import absolute_import import six as _six - from flyteidl.core import tasks_pb2 as _core_task +from google.protobuf.json_format import MessageToDict as _MessageToDict +from flytekit.common import sdk_bases as _sdk_bases from flytekit.common.exceptions import user as _user_exceptions +from flytekit.common.tasks import sdk_dynamic as _sdk_dynamic from flytekit.common.tasks import sdk_runnable as _sdk_runnable -from flytekit.common import sdk_bases as _sdk_bases - from flytekit.models import task as _task_models -from google.protobuf.json_format import MessageToDict as _MessageToDict - from flytekit.plugins import k8s as _lazy_k8s -
[docs]class SdkSidecarTask(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _sdk_runnable.SdkRunnableTask)): +
[docs]class SdkSidecarTask(_sdk_runnable.SdkRunnableTask, metaclass=_sdk_bases.ExtendedSdkType): """ This class includes the additional logic for building a task that executes as a Sidecar Job. """ - def __init__(self, - task_function, - task_type, - discovery_version, - retries, - interruptible, - deprecated, - storage_request, - cpu_request, - gpu_request, - memory_request, - storage_limit, - cpu_limit, - gpu_limit, - memory_limit, - discoverable, - timeout, - environment, - pod_spec=None, - primary_container_name=None): + def __init__( + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + environment, + pod_spec=None, + primary_container_name=None, + ): """ :param _sdk_runnable.SdkRunnableTask sdk_runnable_task: :param generated_pb2.PodSpec pod_spec: @@ -237,9 +237,7 @@

Source code for flytekit.common.tasks.sidecar_task

self.reconcile_partial_pod_spec_and_task(pod_spec, primary_container_name) -
[docs] def reconcile_partial_pod_spec_and_task(self, - pod_spec, - primary_container_name): +
[docs] def reconcile_partial_pod_spec_and_task(self, pod_spec, primary_container_name): """ Assigns the custom field as a the reconciled primary container and pod spec defintion. :param _sdk_runnable.SdkRunnableTask sdk_runnable_task: @@ -274,20 +272,23 @@

Source code for flytekit.common.tasks.sidecar_task

resource_requirements = _lazy_k8s.io.api.core.v1.generated_pb2.ResourceRequirements() for resource in self._container.resources.limits: resource_requirements.limits[ - _core_task.Resources.ResourceName.Name(resource.name).lower()].CopyFrom( - _lazy_k8s.io.apimachinery.pkg.api.resource.generated_pb2.Quantity(string=resource.value)) + _core_task.Resources.ResourceName.Name(resource.name).lower() + ].CopyFrom(_lazy_k8s.io.apimachinery.pkg.api.resource.generated_pb2.Quantity(string=resource.value)) for resource in self._container.resources.requests: resource_requirements.requests[ - _core_task.Resources.ResourceName.Name(resource.name).lower()].CopyFrom( - _lazy_k8s.io.apimachinery.pkg.api.resource.generated_pb2.Quantity(string=resource.value)) + _core_task.Resources.ResourceName.Name(resource.name).lower() + ].CopyFrom(_lazy_k8s.io.apimachinery.pkg.api.resource.generated_pb2.Quantity(string=resource.value)) if resource_requirements.ByteSize(): # Important! Only copy over resource requirements if they are non-empty. container.resources.CopyFrom(resource_requirements) del container.env[:] container.env.extend( - [_lazy_k8s.io.api.core.v1.generated_pb2.EnvVar(name=key, value=val) for key, val in - _six.iteritems(self._container.env)]) + [ + _lazy_k8s.io.api.core.v1.generated_pb2.EnvVar(name=key, value=val) + for key, val in _six.iteritems(self._container.env) + ] + ) final_containers.append(container) @@ -295,11 +296,95 @@

Source code for flytekit.common.tasks.sidecar_task

pod_spec.containers.extend(final_containers) sidecar_job_plugin = _task_models.SidecarJob( - pod_spec=pod_spec, - primary_container_name=primary_container_name, + pod_spec=pod_spec, primary_container_name=primary_container_name, ).to_flyte_idl() self.assign_custom_and_return(_MessageToDict(sidecar_job_plugin))
+ + +
[docs]class SdkDynamicSidecarTask( + _sdk_dynamic.SdkDynamicTaskMixin, SdkSidecarTask, metaclass=_sdk_bases.ExtendedSdkType, +): + + """ + This class includes the additional logic for building a task that runs as + a Sidecar Job and executes parent-child tasks. + + """ + + def __init__( + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + allowed_failure_ratio, + max_concurrency, + environment, + pod_spec=None, + primary_container_name=None, + ): + """ + :param task_function: Function container user code. This will be executed via the SDK's engine. + :param Text task_type: string describing the task type + :param Text discovery_version: string describing the version for task discovery purposes + :param int retries: Number of retries to attempt + :param bool interruptible: Whether or not task is interruptible + :param Text deprecated: + :param Text storage_request: + :param Text cpu_request: + :param Text gpu_request: + :param Text memory_request: + :param Text storage_limit: + :param Text cpu_limit: + :param Text gpu_limit: + :param Text memory_limit: + :param bool discoverable: + :param datetime.timedelta timeout: + :param float allowed_failure_ratio: + :param int max_concurrency: + :param dict[Text, Text] environment: + :param generated_pb2.PodSpec pod_spec: + :param Text primary_container_name: + :raises: flytekit.common.exceptions.user.FlyteValidationException + """ + + SdkSidecarTask.__init__( + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + environment, + pod_spec=pod_spec, + primary_container_name=primary_container_name, + ) + + _sdk_dynamic.SdkDynamicTaskMixin.__init__(self, allowed_failure_ratio, max_concurrency)
diff --git a/_modules/flytekit/common/tasks/spark_task.html b/_modules/flytekit/common/tasks/spark_task.html index 4281a40ab6..588cf48c4f 100644 --- a/_modules/flytekit/common/tasks/spark_task.html +++ b/_modules/flytekit/common/tasks/spark_task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.spark_task — Flyte 0.6.0 documentation + flytekit.common.tasks.spark_task — Flyte 0.7.0 documentation @@ -169,15 +169,19 @@

Source code for flytekit.common.tasks.spark_task

import os as _os import sys as _sys + import six as _six +from google.protobuf.json_format import MessageToDict as _MessageToDict + from flytekit.bin import entrypoint as _entrypoint from flytekit.common import constants as _constants from flytekit.common.exceptions import scopes as _exception_scopes -from flytekit.common.tasks import output as _task_output, sdk_runnable as _sdk_runnable +from flytekit.common.tasks import output as _task_output +from flytekit.common.tasks import sdk_runnable as _sdk_runnable from flytekit.common.types import helpers as _type_helpers -from flytekit.models import literals as _literal_models, task as _task_models +from flytekit.models import literals as _literal_models +from flytekit.models import task as _task_models from flytekit.plugins import pyspark as _pyspark -from google.protobuf.json_format import MessageToDict as _MessageToDict
[docs]class GlobalSparkContext(object): @@ -198,7 +202,6 @@

Source code for flytekit.common.tasks.spark_task

[docs]class SdkRunnableSparkContainer(_sdk_runnable.SdkRunnableContainer): - @property def args(self): """ @@ -213,20 +216,21 @@

Source code for flytekit.common.tasks.spark_task

This class includes the additional logic for building a task that executes as a Spark Job. """ + def __init__( - self, - task_function, - task_type, - discovery_version, - retries, - interruptible, - deprecated, - discoverable, - timeout, - spark_type, - spark_conf, - hadoop_conf, - environment, + self, + task_function, + task_type, + discovery_version, + retries, + interruptible, + deprecated, + discoverable, + timeout, + spark_type, + spark_conf, + hadoop_conf, + environment, ): """ :param task_function: Function container user code. This will be executed via the SDK's engine. @@ -243,7 +247,7 @@

Source code for flytekit.common.tasks.spark_task

""" spark_exec_path = _os.path.abspath(_entrypoint.__file__) - if spark_exec_path.endswith('.pyc'): + if spark_exec_path.endswith(".pyc"): spark_exec_path = spark_exec_path[:-1] spark_job = _task_models.SparkJob( @@ -287,9 +291,10 @@

Source code for flytekit.common.tasks.spark_task

working directory (with the names provided), which will in turn allow Flyte Propeller to push along the workflow. Where as local engine will merely feed the outputs directly into the next node. """ - inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std(inputs, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs) - }) + inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std( + inputs, + {k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs)}, + ) outputs_dict = { name: _task_output.OutputReference(_type_helpers.get_sdk_type_from_literal_type(variable.type)) for name, variable in _six.iteritems(self.interface.outputs) @@ -304,7 +309,7 @@

Source code for flytekit.common.tasks.spark_task

execution_id=context.execution_id, stats=context.stats, logging=context.logging, - tmp_dir=context.working_directory + tmp_dir=context.working_directory, ), GlobalSparkContext.get_spark_context(), **inputs_dict @@ -315,10 +320,7 @@

Source code for flytekit.common.tasks.spark_task

) }
- def _get_container_definition( - self, - **kwargs - ): + def _get_container_definition(self, **kwargs): """ :rtype: SdkRunnableSparkContainer """ diff --git a/_modules/flytekit/common/tasks/task.html b/_modules/flytekit/common/tasks/task.html index fa82969056..1653370c50 100644 --- a/_modules/flytekit/common/tasks/task.html +++ b/_modules/flytekit/common/tasks/task.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.task — Flyte 0.6.0 documentation + flytekit.common.tasks.task — Flyte 0.7.0 documentation @@ -162,27 +162,32 @@

Source code for flytekit.common.tasks.task

 from __future__ import absolute_import
 
+import hashlib as _hashlib
+import json as _json
 import uuid as _uuid
 
 import six as _six
+from google.protobuf import json_format as _json_format
+from google.protobuf import struct_pb2 as _struct
 
-from google.protobuf import json_format as _json_format, struct_pb2 as _struct
-
-import hashlib as _hashlib
-import json as _json
-
-from flytekit.common import (
-    interface as _interfaces, nodes as _nodes, sdk_bases as _sdk_bases, workflow_execution as _workflow_execution
-)
+from flytekit.common import interface as _interfaces
+from flytekit.common import nodes as _nodes
+from flytekit.common import sdk_bases as _sdk_bases
+from flytekit.common import workflow_execution as _workflow_execution
 from flytekit.common.core import identifier as _identifier
 from flytekit.common.exceptions import scopes as _exception_scopes
-from flytekit.common.mixins import registerable as _registerable, hash as _hash_mixin, launchable as _launchable_mixin
+from flytekit.common.exceptions import system as _system_exceptions
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.mixins import hash as _hash_mixin
+from flytekit.common.mixins import launchable as _launchable_mixin
+from flytekit.common.mixins import registerable as _registerable
+from flytekit.common.types import helpers as _type_helpers
 from flytekit.configuration import internal as _internal_config
 from flytekit.engines import loader as _engine_loader
-from flytekit.models import common as _common_model, task as _task_model
-from flytekit.models.core import workflow as _workflow_model, identifier as _identifier_model
-from flytekit.common.exceptions import user as _user_exceptions, system as _system_exceptions
-from flytekit.common.types import helpers as _type_helpers
+from flytekit.models import common as _common_model
+from flytekit.models import task as _task_model
+from flytekit.models.core import identifier as _identifier_model
+from flytekit.models.core import workflow as _workflow_model
 
 
 
[docs]class SdkTask( @@ -194,7 +199,6 @@

Source code for flytekit.common.tasks.task

         _launchable_mixin.LaunchableEntity,
     )
 ):
-
     def __init__(self, type, metadata, interface, custom, container=None):
         """
         :param Text type: This is used to define additional extensions for use by Propeller or SDK.
@@ -211,13 +215,13 @@ 

Source code for flytekit.common.tasks.task

                 _internal_config.PROJECT.get(),
                 _internal_config.DOMAIN.get(),
                 _uuid.uuid4().hex,
-                _internal_config.VERSION.get()
+                _internal_config.VERSION.get(),
             ),
             type,
             metadata,
             interface,
             custom,
-            container=container
+            container=container,
         )
 
     @property
@@ -261,7 +265,7 @@ 

Source code for flytekit.common.tasks.task

             metadata=base_model.metadata,
             interface=_interfaces.TypedInterface.promote_from_model(base_model.interface),
             custom=base_model.custom,
-            container=base_model.container
+            container=base_model.container,
         )
         # Override the newly generated name if one exists in the base model
         if not base_model.id.is_empty:
@@ -295,10 +299,12 @@ 

Source code for flytekit.common.tasks.task

         # TODO: Remove DEADBEEF
         return _nodes.SdkNode(
             id=None,
-            metadata=_workflow_model.NodeMetadata("DEADBEEF", self.metadata.timeout, self.metadata.retries, self.metadata.interruptible),
+            metadata=_workflow_model.NodeMetadata(
+                "DEADBEEF", self.metadata.timeout, self.metadata.retries, self.metadata.interruptible,
+            ),
             bindings=sorted(bindings, key=lambda b: b.var),
             upstream_nodes=upstream_nodes,
-            sdk_task=self
+            sdk_task=self,
         )
 
 
[docs] @_exception_scopes.system_entry_point @@ -316,7 +322,7 @@

Source code for flytekit.common.tasks.task

             self._id = id_to_register
             _engine_loader.get_engine().get_task(self).register(id_to_register)
             return _six.text_type(self.id)
-        except:
+        except Exception:
             self._id = old_id
             raise
@@ -419,10 +425,7 @@

Source code for flytekit.common.tasks.task

                 )
 
     def __repr__(self):
-        return "Flyte {task_type}: {interface}".format(
-            task_type=self.type,
-            interface=self.interface
-        )
+        return "Flyte {task_type}: {interface}".format(task_type=self.type, interface=self.interface)
 
     def _python_std_input_map_to_literal_map(self, inputs):
         """
@@ -430,10 +433,10 @@ 

Source code for flytekit.common.tasks.task

             to a LiteralMap
         :rtype: flytekit.models.literals.LiteralMap
         """
-        return _type_helpers.pack_python_std_map_to_literal_map(inputs, {
-            k: _type_helpers.get_sdk_type_from_literal_type(v.type)
-            for k, v in _six.iteritems(self.interface.inputs)
-        })
+        return _type_helpers.pack_python_std_map_to_literal_map(
+            inputs,
+            {k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs)},
+        )
 
     def _produce_deterministic_version(self, version=None):
         """
@@ -453,9 +456,13 @@ 

Source code for flytekit.common.tasks.task

         # 1) this method is used to compute the version portion of the identifier and
         # 2 ) the SDK will actually generate a unique name on every task instantiation which is not great for
         # the reproducibility this method attempts.
-        task_body = (self.type, self.metadata.to_flyte_idl().SerializeToString(deterministic=True),
-                     self.interface.to_flyte_idl().SerializeToString(deterministic=True), custom)
-        return _hashlib.md5(str(task_body).encode('utf-8')).hexdigest()
+        task_body = (
+            self.type,
+            self.metadata.to_flyte_idl().SerializeToString(deterministic=True),
+            self.interface.to_flyte_idl().SerializeToString(deterministic=True),
+            custom,
+        )
+        return _hashlib.md5(str(task_body).encode("utf-8")).hexdigest()
 
 
[docs] @_exception_scopes.system_entry_point def register_and_launch(self, project, domain, name=None, version=None, inputs=None): @@ -485,14 +492,22 @@

Source code for flytekit.common.tasks.task

         try:
             self._id = id_to_register
             _engine_loader.get_engine().get_task(self).register(id_to_register)
-        except:
+        except Exception:
             self._id = old_id
             raise
         return self.launch(project, domain, inputs=inputs)
[docs] @_exception_scopes.system_entry_point - def launch_with_literals(self, project, domain, literal_inputs, name=None, notification_overrides=None, - label_overrides=None, annotation_overrides=None): + def launch_with_literals( + self, + project, + domain, + literal_inputs, + name=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Launches a single task execution and returns the execution identifier. :param Text project: @@ -507,14 +522,18 @@

Source code for flytekit.common.tasks.task

         :param flytekit.models.common.Annotations annotation_overrides:
         :rtype: flytekit.common.workflow_execution.SdkWorkflowExecution
         """
-        execution = _engine_loader.get_engine().get_task(self).launch(
-            project,
-            domain,
-            name=name,
-            inputs=literal_inputs,
-            notification_overrides=notification_overrides,
-            label_overrides=label_overrides,
-            annotation_overrides=annotation_overrides,
+        execution = (
+            _engine_loader.get_engine()
+            .get_task(self)
+            .launch(
+                project,
+                domain,
+                name=name,
+                inputs=literal_inputs,
+                notification_overrides=notification_overrides,
+                label_overrides=label_overrides,
+                annotation_overrides=annotation_overrides,
+            )
         )
         return _workflow_execution.SdkWorkflowExecution.promote_from_model(execution)
diff --git a/_modules/flytekit/common/types/base_sdk_types.html b/_modules/flytekit/common/types/base_sdk_types.html index 24f7762c10..7c9fa56942 100644 --- a/_modules/flytekit/common/types/base_sdk_types.html +++ b/_modules/flytekit/common/types/base_sdk_types.html @@ -8,7 +8,7 @@ - flytekit.common.types.base_sdk_types — Flyte 0.6.0 documentation + flytekit.common.types.base_sdk_types — Flyte 0.7.0 documentation @@ -161,15 +161,18 @@

Source code for flytekit.common.types.base_sdk_types

 from __future__ import absolute_import
-from flytekit.models import literals as _literal_models, common as _common_models
-from flytekit.common import sdk_bases as _sdk_bases
-from flytekit.common.exceptions import user as _user_exceptions
+
 import abc as _abc
+
 import six as _six
 
+from flytekit.common import sdk_bases as _sdk_bases
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.models import common as _common_models
+from flytekit.models import literals as _literal_models
+
 
 
[docs]class FlyteSdkType(_six.with_metaclass(_common_models.FlyteABCMeta, _sdk_bases.ExtendedSdkType)): -
[docs] @_abc.abstractmethod def is_castable_from(cls, other): """ @@ -216,7 +219,6 @@

Source code for flytekit.common.types.base_sdk_types

[docs]class FlyteSdkValue(_six.with_metaclass(FlyteSdkType, _literal_models.Literal)): -
[docs] @classmethod def from_flyte_idl(cls, pb2_object): """ @@ -245,7 +247,6 @@

Source code for flytekit.common.types.base_sdk_types

[docs]class Void(FlyteSdkValue): -
[docs] @classmethod def is_castable_from(cls, other): """ @@ -268,8 +269,9 @@

Source code for flytekit.common.types.base_sdk_types

""" :rtype: flytekit.models.types.LiteralType """ - raise _user_exceptions.FlyteAssertion("A Void type does not have a literal type and cannot be used in this " - "manner.")
+ raise _user_exceptions.FlyteAssertion( + "A Void type does not have a literal type and cannot be used in this " "manner." + )
[docs] @classmethod def promote_from_model(cls, _): @@ -285,7 +287,7 @@

Source code for flytekit.common.types.base_sdk_types

""" :rtype: Text """ - return 'Void'
+ return "Void"
def __init__(self): super(Void, self).__init__(scalar=_literal_models.Scalar(none_type=_literal_models.Void())) diff --git a/_modules/flytekit/common/types/blobs.html b/_modules/flytekit/common/types/blobs.html index 00d3819ee7..a0b9c794f0 100644 --- a/_modules/flytekit/common/types/blobs.html +++ b/_modules/flytekit/common/types/blobs.html @@ -8,7 +8,7 @@ - flytekit.common.types.blobs — Flyte 0.6.0 documentation + flytekit.common.types.blobs — Flyte 0.7.0 documentation @@ -162,24 +162,24 @@

Source code for flytekit.common.types.blobs

 from __future__ import absolute_import
 
+import six as _six
+
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.types import base_sdk_types as _base_sdk_types
 from flytekit.common.types.impl import blobs as _blob_impl
-from flytekit.models import types as _idl_types, literals as _literals
+from flytekit.models import literals as _literals
+from flytekit.models import types as _idl_types
 from flytekit.models.core import types as _core_types
 
-import six as _six
-
 
 
[docs]class BlobInstantiator(_base_sdk_types.InstantiableType): -
[docs] @staticmethod def create_at_known_location(location): """ :param Text location: :rtype: flytekit.common.types.impl.blobs.Blob """ - return _blob_impl.Blob.create_at_known_location(location, mode='wb')
+ return _blob_impl.Blob.create_at_known_location(location, mode="wb")
[docs] @staticmethod def fetch(remote_path, local_path=None): @@ -189,7 +189,7 @@

Source code for flytekit.common.types.blobs

             this location is NOT managed and the blob will not be cleaned up upon exit.
         :rtype: flytekit.common.types.impl.blobs.Blob
         """
-        return _blob_impl.Blob.fetch(remote_path, mode='rb', local_path=local_path)
+ return _blob_impl.Blob.fetch(remote_path, mode="rb", local_path=local_path)
def __call__(cls, *args, **kwargs): """ @@ -201,14 +201,13 @@

Source code for flytekit.common.types.blobs

         :rtype: flytekit.common.types.impl.blobs.Blob
         """
         if not args and not kwargs:
-            return _blob_impl.Blob.create_at_any_location(mode='wb')
+            return _blob_impl.Blob.create_at_any_location(mode="wb")
         else:
             return super(BlobInstantiator, cls).__call__(*args, **kwargs)
# TODO: Make blobs and schemas pluggable
[docs]class Blob(_six.with_metaclass(BlobInstantiator, _base_sdk_types.FlyteSdkValue)): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -217,7 +216,7 @@

Source code for flytekit.common.types.blobs

         """
         if not string_value:
             _user_exceptions.FlyteValueException(string_value, "Cannot create a Blob from the provided path value.")
-        return cls(_blob_impl.Blob.from_string(string_value, mode='rb'))
+ return cls(_blob_impl.Blob.from_string(string_value, mode="rb"))
[docs] @classmethod def is_castable_from(cls, other): @@ -248,10 +247,7 @@

Source code for flytekit.common.types.blobs

         :rtype: flytekit.models.types.LiteralType
         """
         return _idl_types.LiteralType(
-            blob=_core_types.BlobType(
-                format="",
-                dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE
-            )
+            blob=_core_types.BlobType(format="", dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE)
         )
[docs] @classmethod @@ -268,7 +264,7 @@

Source code for flytekit.common.types.blobs

         """
         :rtype: Text
         """
-        return 'Blob'
+ return "Blob"
def __init__(self, value): """ @@ -288,19 +284,20 @@

Source code for flytekit.common.types.blobs

         """
         return "Blob(uri={}{})".format(
             self.scalar.blob.uri,
-            ", format={}".format(self.scalar.blob.metadata.type.format) if self.scalar.blob.metadata.type.format else ""
+            ", format={}".format(self.scalar.blob.metadata.type.format)
+            if self.scalar.blob.metadata.type.format
+            else "",
         )
[docs]class MultiPartBlobInstantiator(_base_sdk_types.InstantiableType): -
[docs] @staticmethod def create_at_known_location(location): """ :param Text location: :rtype: flytekit.common.types.impl.blobs.MultiPartBlob """ - return _blob_impl.MultiPartBlob.create_at_known_location(location, mode='wb')
+ return _blob_impl.MultiPartBlob.create_at_known_location(location, mode="wb")
[docs] @staticmethod def fetch(remote_path, local_path=None): @@ -310,7 +307,7 @@

Source code for flytekit.common.types.blobs

             this location is NOT managed and the blob will not be cleaned up upon exit.
         :rtype: flytekit.common.types.impl.blobs.MultiPartBlob
         """
-        return _blob_impl.MultiPartBlob.fetch(remote_path, mode='rb', local_path=local_path)
+ return _blob_impl.MultiPartBlob.fetch(remote_path, mode="rb", local_path=local_path)
def __call__(cls, *args, **kwargs): """ @@ -323,13 +320,12 @@

Source code for flytekit.common.types.blobs

         :rtype: flytekit.common.types.impl.blobs.MultiPartBlob
         """
         if not args and not kwargs:
-            return _blob_impl.MultiPartBlob.create_at_any_location(mode='wb')
+            return _blob_impl.MultiPartBlob.create_at_any_location(mode="wb")
         else:
             return super(MultiPartBlobInstantiator, cls).__call__(*args, **kwargs)
[docs]class MultiPartBlob(_six.with_metaclass(MultiPartBlobInstantiator, _base_sdk_types.FlyteSdkValue)): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -337,9 +333,10 @@

Source code for flytekit.common.types.blobs

         :rtype: MultiPartBlob
         """
         if not string_value:
-            _user_exceptions.FlyteValueException(string_value, "Cannot create a MultiPartBlob from the provided path "
-                                                               "value.")
-        return cls(_blob_impl.MultiPartBlob.from_string(string_value, mode='rb'))
+ _user_exceptions.FlyteValueException( + string_value, "Cannot create a MultiPartBlob from the provided path " "value.", + ) + return cls(_blob_impl.MultiPartBlob.from_string(string_value, mode="rb"))
[docs] @classmethod def is_castable_from(cls, other): @@ -370,10 +367,7 @@

Source code for flytekit.common.types.blobs

         :rtype: flytekit.models.types.LiteralType
         """
         return _idl_types.LiteralType(
-            blob=_core_types.BlobType(
-                format="",
-                dimensionality=_core_types.BlobType.BlobDimensionality.MULTIPART
-            )
+            blob=_core_types.BlobType(format="", dimensionality=_core_types.BlobType.BlobDimensionality.MULTIPART,)
         )
[docs] @classmethod @@ -390,7 +384,7 @@

Source code for flytekit.common.types.blobs

         """
         :rtype: Text
         """
-        return 'MultiPartBlob'
+ return "MultiPartBlob"
def __init__(self, value): """ @@ -410,19 +404,20 @@

Source code for flytekit.common.types.blobs

         """
         return "MultiPartBlob(uri={}{})".format(
             self.scalar.blob.uri,
-            ", format={}".format(self.scalar.blob.metadata.type.format) if self.scalar.blob.metadata.type.format else ""
+            ", format={}".format(self.scalar.blob.metadata.type.format)
+            if self.scalar.blob.metadata.type.format
+            else "",
         )
[docs]class CsvInstantiator(BlobInstantiator): -
[docs] @staticmethod def create_at_known_location(location): """ :param Text location: :rtype: flytekit.common.types.impl.blobs.CSV """ - return _blob_impl.Blob.create_at_known_location(location, mode='w', format='csv')
+ return _blob_impl.Blob.create_at_known_location(location, mode="w", format="csv")
[docs] @staticmethod def fetch(remote_path, local_path=None): @@ -432,7 +427,7 @@

Source code for flytekit.common.types.blobs

             this location is NOT managed and the blob will not be cleaned up upon exit.
         :rtype: flytekit.common.types.impl.blobs.CSV
         """
-        return _blob_impl.Blob.fetch(remote_path, local_path=local_path, mode='r', format='csv')
+ return _blob_impl.Blob.fetch(remote_path, local_path=local_path, mode="r", format="csv")
def __call__(cls, *args, **kwargs): """ @@ -445,13 +440,12 @@

Source code for flytekit.common.types.blobs

         :rtype: flytekit.common.types.impl.blobs.CSV
         """
         if not args and not kwargs:
-            return _blob_impl.Blob.create_at_any_location(mode='w', format='csv')
+            return _blob_impl.Blob.create_at_any_location(mode="w", format="csv")
         else:
             return super(CsvInstantiator, cls).__call__(*args, **kwargs)
[docs]class CSV(_six.with_metaclass(CsvInstantiator, Blob)): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -460,7 +454,7 @@

Source code for flytekit.common.types.blobs

         """
         if not string_value:
             _user_exceptions.FlyteValueException(string_value, "Cannot create a CSV from the provided path value.")
-        return cls(_blob_impl.Blob.from_string(string_value, format='csv', mode='r'))
+ return cls(_blob_impl.Blob.from_string(string_value, format="csv", mode="r"))
[docs] @classmethod def is_castable_from(cls, other): @@ -493,10 +487,7 @@

Source code for flytekit.common.types.blobs

         :rtype: flytekit.models.types.LiteralType
         """
         return _idl_types.LiteralType(
-            blob=_core_types.BlobType(
-                format="csv",
-                dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE
-            )
+            blob=_core_types.BlobType(format="csv", dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE,)
         )
[docs] @classmethod @@ -506,14 +497,14 @@

Source code for flytekit.common.types.blobs

         :param flytekit.models.literals.Literal literal_model:
         :rtype: CSV
         """
-        return cls(_blob_impl.Blob.promote_from_model(literal_model.scalar.blob, mode='r'))
+ return cls(_blob_impl.Blob.promote_from_model(literal_model.scalar.blob, mode="r"))
[docs] @classmethod def short_class_string(cls): """ :rtype: Text """ - return 'CSV'
+ return "CSV"
def __init__(self, value): """ @@ -523,14 +514,13 @@

Source code for flytekit.common.types.blobs

 
 
 
[docs]class MultiPartCsvInstantiator(MultiPartBlobInstantiator): -
[docs] @staticmethod def create_at_known_location(location): """ :param Text location: :rtype: flytekit.common.types.impl.blobs.MultiPartBlob """ - return _blob_impl.MultiPartBlob.create_at_known_location(location, mode='w', format="csv")
+ return _blob_impl.MultiPartBlob.create_at_known_location(location, mode="w", format="csv")
[docs] @staticmethod def fetch(remote_path, local_path=None): @@ -540,7 +530,7 @@

Source code for flytekit.common.types.blobs

             this location is NOT managed and the blob will not be cleaned up upon exit.
         :rtype: flytekit.common.types.impl.blobs.MultiPartCSV
         """
-        return _blob_impl.MultiPartBlob.fetch(remote_path, local_path=local_path, mode='r', format="csv")
+ return _blob_impl.MultiPartBlob.fetch(remote_path, local_path=local_path, mode="r", format="csv")
def __call__(cls, *args, **kwargs): """ @@ -553,13 +543,12 @@

Source code for flytekit.common.types.blobs

         :rtype: flytekit.common.types.impl.blobs.MultiPartCSV
         """
         if not args and not kwargs:
-            return _blob_impl.MultiPartBlob.create_at_any_location(mode='w', format="csv")
+            return _blob_impl.MultiPartBlob.create_at_any_location(mode="w", format="csv")
         else:
             return super(MultiPartCsvInstantiator, cls).__call__(*args, **kwargs)
[docs]class MultiPartCSV(_six.with_metaclass(MultiPartCsvInstantiator, MultiPartBlob)): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -568,10 +557,9 @@

Source code for flytekit.common.types.blobs

         """
         if not string_value:
             _user_exceptions.FlyteValueException(
-                string_value,
-                "Cannot create a MultiPartCSV from the provided path value."
+                string_value, "Cannot create a MultiPartCSV from the provided path value.",
             )
-        return cls(_blob_impl.MultiPartBlob.from_string(string_value, format='csv', mode='r'))
+ return cls(_blob_impl.MultiPartBlob.from_string(string_value, format="csv", mode="r"))
[docs] @classmethod def is_castable_from(cls, other): @@ -593,8 +581,7 @@

Source code for flytekit.common.types.blobs

         elif isinstance(t_value, _blob_impl.MultiPartBlob):
             if t_value.metadata.type.format != "csv":
                 raise _user_exceptions.FlyteValueException(
-                    t_value,
-                    "Multi Part Blob is in incorrect format.  Expected CSV."
+                    t_value, "Multi Part Blob is in incorrect format.  Expected CSV."
                 )
             blob = t_value
         else:
@@ -607,10 +594,7 @@ 

Source code for flytekit.common.types.blobs

         :rtype: flytekit.models.types.LiteralType
         """
         return _idl_types.LiteralType(
-            blob=_core_types.BlobType(
-                format="csv",
-                dimensionality=_core_types.BlobType.BlobDimensionality.MULTIPART
-            )
+            blob=_core_types.BlobType(format="csv", dimensionality=_core_types.BlobType.BlobDimensionality.MULTIPART,)
         )
[docs] @classmethod @@ -620,14 +604,14 @@

Source code for flytekit.common.types.blobs

         :param flytekit.models.literals.Literal literal_model:
         :rtype: MultiPartCSV
         """
-        return cls(_blob_impl.MultiPartBlob.promote_from_model(literal_model.scalar.blob, mode='r'))
+ return cls(_blob_impl.MultiPartBlob.promote_from_model(literal_model.scalar.blob, mode="r"))
[docs] @classmethod def short_class_string(cls): """ :rtype: Text """ - return 'MultiPartCSV'
+ return "MultiPartCSV"
def __init__(self, value): """ diff --git a/_modules/flytekit/common/types/containers.html b/_modules/flytekit/common/types/containers.html index c7041cf57b..ce5853c31b 100644 --- a/_modules/flytekit/common/types/containers.html +++ b/_modules/flytekit/common/types/containers.html @@ -8,7 +8,7 @@ - flytekit.common.types.containers — Flyte 0.6.0 documentation + flytekit.common.types.containers — Flyte 0.7.0 documentation @@ -162,12 +162,14 @@

Source code for flytekit.common.types.containers

 from __future__ import absolute_import
 
-import six as _six
 import json as _json
 
+import six as _six
+
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.types import base_sdk_types as _base_sdk_types
-from flytekit.models import types as _idl_types, literals as _literals
+from flytekit.models import literals as _literals
+from flytekit.models import types as _idl_types
 
 
 
[docs]class CollectionType(_base_sdk_types.FlyteSdkType): @@ -183,7 +185,7 @@

Source code for flytekit.common.types.containers

return cls._sub_type def __eq__(cls, other): - return hasattr(other, 'sub_type') and cls.sub_type == other.sub_type + return hasattr(other, "sub_type") and cls.sub_type == other.sub_type def __hash__(cls): # Python 3 checks complain if hash isn't implemented at the same time as equals @@ -209,7 +211,6 @@

Source code for flytekit.common.types.containers

[docs]class TypedListImpl(_six.with_metaclass(TypedCollectionType, ListImpl)): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -221,11 +222,13 @@

Source code for flytekit.common.types.containers

items = _json.loads(string_value) except ValueError: raise _user_exceptions.FlyteTypeException( - _six.text_type, cls, additional_msg='String not parseable to json {}'.format(string_value)) + _six.text_type, cls, additional_msg="String not parseable to json {}".format(string_value), + ) if type(items) != list: raise _user_exceptions.FlyteTypeException( - _six.text_type, cls, additional_msg='String is not a list {}'.format(string_value)) + _six.text_type, cls, additional_msg="String is not a list {}".format(string_value), + ) # Instead of recursively calling from_string(), we're changing to from_python_std() instead because json # loading naturally interprets all layers, not just the outer layer. @@ -275,17 +278,13 @@

Source code for flytekit.common.types.containers

""" :rtype: Text """ - return 'List<{}>'.format(cls.sub_type.short_class_string())
+ return "List<{}>".format(cls.sub_type.short_class_string())
def __init__(self, value): """ :param list[flytekit.common.types.base_sdk_types.FlyteSdkValue] value: List value to wrap """ - super(TypedListImpl, self).__init__( - collection=_literals.LiteralCollection( - literals=value - ) - ) + super(TypedListImpl, self).__init__(collection=_literals.LiteralCollection(literals=value))
[docs] def to_python_std(self): """ @@ -302,9 +301,7 @@

Source code for flytekit.common.types.containers

if len(self.collection.literals) > num_to_print: to_print.append("...") return "{}(len={}, [{}])".format( - type(self).short_class_string(), - len(self.collection.literals), - ", ".join(to_print) + type(self).short_class_string(), len(self.collection.literals), ", ".join(to_print), )
[docs] def verbose_string(self): @@ -314,10 +311,7 @@

Source code for flytekit.common.types.containers

return "{}(\n\tlen={},\n\t[\n\t\t{}\n\t]\n)".format( type(self).short_class_string(), len(self.collection.literals), - ",\n\t\t".join( - "\n\t\t".join(v.verbose_string().splitlines()) - for v in self.collection.literals - ) + ",\n\t\t".join("\n\t\t".join(v.verbose_string().splitlines()) for v in self.collection.literals), )
diff --git a/_modules/flytekit/common/types/helpers.html b/_modules/flytekit/common/types/helpers.html index 2755bf4c66..04f7e2979b 100644 --- a/_modules/flytekit/common/types/helpers.html +++ b/_modules/flytekit/common/types/helpers.html @@ -8,7 +8,7 @@ - flytekit.common.types.helpers — Flyte 0.6.0 documentation + flytekit.common.types.helpers — Flyte 0.7.0 documentation @@ -162,11 +162,14 @@

Source code for flytekit.common.types.helpers

 from __future__ import absolute_import
 
+import importlib as _importlib
+
 import six as _six
-from flytekit.models import literals as _literal_models
-from flytekit.common.exceptions import user as _user_exceptions, scopes as _exception_scopes
+
+from flytekit.common.exceptions import scopes as _exception_scopes
+from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.configuration import sdk as _sdk_config
-import importlib as _importlib
+from flytekit.models import literals as _literal_models
 
 
 class _TypeEngineLoader(object):
@@ -188,14 +191,13 @@ 

Source code for flytekit.common.types.helpers

raise _user_exceptions.FlyteValueException( module, "Failed to load the type engine because the attribute named '{}' could not be found" - "in the module '{}'.".format( - attr, module_path - ) + "in the module '{}'.".format(attr, module_path), ) engine_impl = getattr(module, attr)() cls._LOADED_ENGINES.append(engine_impl) from flytekit.type_engines.default.flyte import FlyteDefaultTypeEngine as _DefaultEngine + cls._LOADED_ENGINES.append(_DefaultEngine()) @classmethod @@ -228,8 +230,9 @@

Source code for flytekit.common.types.helpers

out = e.get_sdk_type_from_literal_type(literal_type) if out is not None: return out - raise _user_exceptions.FlyteValueException(literal_type, "Could not resolve to a type implementation for this " - "value.")
+ raise _user_exceptions.FlyteValueException( + literal_type, "Could not resolve to a type implementation for this " "value." + )
[docs]def infer_sdk_type_from_literal(literal): @@ -288,11 +291,7 @@

Source code for flytekit.common.types.helpers

:rtype: flytekit.models.literals.LiteralMap :raises: flytekit.common.exceptions.user.FlyteTypeException """ - return _literal_models.LiteralMap( - literals={ - k: v.from_python_std(std_map[k]) for k, v in _six.iteritems(type_map) - } - )
+ return _literal_models.LiteralMap(literals={k: v.from_python_std(std_map[k]) for k, v in _six.iteritems(type_map)})
diff --git a/_modules/flytekit/common/types/impl/blobs.html b/_modules/flytekit/common/types/impl/blobs.html index 1b395c811e..b44078c62c 100644 --- a/_modules/flytekit/common/types/impl/blobs.html +++ b/_modules/flytekit/common/types/impl/blobs.html @@ -8,7 +8,7 @@ - flytekit.common.types.impl.blobs — Flyte 0.6.0 documentation + flytekit.common.types.impl.blobs — Flyte 0.7.0 documentation @@ -164,42 +164,42 @@

Source code for flytekit.common.types.impl.blobs

import os as _os import shutil as _shutil -import six as _six import sys as _sys import uuid as _uuid -from flytekit.common import sdk_bases as _sdk_bases, utils as _utils -from flytekit.common.exceptions import user as _user_exceptions, scopes as _exception_scopes + +import six as _six + +from flytekit.common import sdk_bases as _sdk_bases +from flytekit.common import utils as _utils +from flytekit.common.exceptions import scopes as _exception_scopes +from flytekit.common.exceptions import user as _user_exceptions from flytekit.interfaces.data import data_proxy as _data_proxy from flytekit.models import literals as _literal_models from flytekit.models.core import types as _core_types
[docs]class Blob(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _literal_models.Blob)): - - def __init__(self, remote_path, mode='rb', format=None): + def __init__(self, remote_path, mode="rb", format=None): """ :param Text remote_path: Path to location where the Blob should be synced to. :param Text mode: File access mode. 'a' and '+' are forbidden. A blob can only be written or read at a time. :param Text format: Format """ - if '+' in mode or 'a' in mode or ('w' in mode and 'r' in mode): + if "+" in mode or "a" in mode or ("w" in mode and "r" in mode): raise _user_exceptions.FlyteAssertion("A blob cannot be read and written at the same time") self._mode = mode self._local_path = None self._file = None super(Blob, self).__init__( _literal_models.BlobMetadata( - type=_core_types.BlobType( - format or "", - _core_types.BlobType.BlobDimensionality.SINGLE - ) + type=_core_types.BlobType(format or "", _core_types.BlobType.BlobDimensionality.SINGLE) ), - remote_path + remote_path, )
[docs] @classmethod @_exception_scopes.system_entry_point - def from_python_std(cls, t_value, mode='wb', format=None): + def from_python_std(cls, t_value, mode="wb", format=None): """ :param T t_value: :param Text mode: File access mode. 'a' and '+' are forbidden. A blob can only be written or read at a time. @@ -221,12 +221,12 @@

Source code for flytekit.common.types.impl.blobs

type(t_value), {_six.text_type, str, Blob}, received_value=t_value, - additional_msg="Unable to create Blob from user-provided value." + additional_msg="Unable to create Blob from user-provided value.", )
[docs] @classmethod @_exception_scopes.system_entry_point - def from_string(cls, t_value, mode='wb', format=None): + def from_string(cls, t_value, mode="wb", format=None): """ :param T t_value: :param Text mode: Read or write mode of the object. @@ -237,7 +237,7 @@

Source code for flytekit.common.types.impl.blobs

[docs] @classmethod @_exception_scopes.system_entry_point - def create_at_known_location(cls, known_remote_location, mode='wb', format=None): + def create_at_known_location(cls, known_remote_location, mode="wb", format=None): """ :param Text known_remote_location: The location to which to write the object. Usually an s3 path. :param Text mode: @@ -248,7 +248,7 @@

Source code for flytekit.common.types.impl.blobs

[docs] @classmethod @_exception_scopes.system_entry_point - def create_at_any_location(cls, mode='wb', format=None): + def create_at_any_location(cls, mode="wb", format=None): """ :param Text mode: :param Text format: @@ -258,7 +258,7 @@

Source code for flytekit.common.types.impl.blobs

[docs] @classmethod @_exception_scopes.system_entry_point - def fetch(cls, remote_path, local_path=None, overwrite=False, mode='rb', format=None): + def fetch(cls, remote_path, local_path=None, overwrite=False, mode="rb", format=None): """ :param Text remote_path: The location from which to fetch the object. Usually an s3 path. :param Text local_path: [Optional] A local path to which to download the object. If specified, the object @@ -274,7 +274,7 @@

Source code for flytekit.common.types.impl.blobs

return blob
[docs] @classmethod - def promote_from_model(cls, model, mode='rb'): + def promote_from_model(cls, model, mode="rb"): """ :param flytekit.models.literals.Blob model: :param Text mode: Read or write mode of the object. @@ -315,9 +315,9 @@

Source code for flytekit.common.types.impl.blobs

raise _user_exceptions.FlyteAssertion("Only one reference can be open to a blob at a time.") if self.local_path is None: - if 'r' in self.mode: + if "r" in self.mode: self.download() - elif 'w' in self.mode: + elif "w" in self.mode: self._generate_local_path() self._file = open(self.local_path, self.mode) @@ -328,7 +328,7 @@

Source code for flytekit.common.types.impl.blobs

if self._file is not None and not self._file.closed: self._file.close() self._file = None - if 'w' in self.mode: + if "w" in self.mode: self.upload() return False @@ -338,7 +338,8 @@

Source code for flytekit.common.types.impl.blobs

"No temporary file system is present. Either call this method from within the " "context of a task or surround with a 'with LocalTestFileSystem():' block. Or " "specify a path when calling this function. Note: Cleanup is not automatic when a " - "path is specified.") + "path is specified." + ) self._local_path = _data_proxy.LocalWorkingDirectoryContext.get().get_named_tempfile(_uuid.uuid4().hex)
[docs] @_exception_scopes.system_entry_point @@ -350,7 +351,7 @@

Source code for flytekit.common.types.impl.blobs

:param bool overwrite: If true and local_path is specified, we will download the blob and overwrite an existing file at that location. Default is False. """ - if 'r' not in self._mode: + if "r" not in self._mode: raise _user_exceptions.FlyteAssertion("Cannot download a write-only blob!") if local_path: @@ -362,18 +363,11 @@

Source code for flytekit.common.types.impl.blobs

if overwrite or not _os.path.exists(self.local_path): # TODO: Introduce system logging # logging.info("Getting {} -> {}".format(self.remote_location, self.local_path)) - _data_proxy.Data.get_data( - self.remote_location, - self.local_path, - is_multipart=False - ) + _data_proxy.Data.get_data(self.remote_location, self.local_path, is_multipart=False) else: raise _user_exceptions.FlyteAssertion( "Cannot download blob to a location that already exists when overwrite is not set to True. " - "Attempted download from {} -> {}".format( - self.remote_location, - self.local_path - ) + "Attempted download from {} -> {}".format(self.remote_location, self.local_path) )
[docs] @_exception_scopes.system_entry_point @@ -381,40 +375,34 @@

Source code for flytekit.common.types.impl.blobs

""" Upload the blob to the remote location """ - if 'w' not in self.mode: + if "w" not in self.mode: raise _user_exceptions.FlyteAssertion("Cannot upload a read-only blob!") elif not self.local_path: - raise _user_exceptions.FlyteAssertion("The Blob is not currently backed by a local file and therefore " - "cannot be uploaded. Please write to this Blob before attempting " - "an upload.") + raise _user_exceptions.FlyteAssertion( + "The Blob is not currently backed by a local file and therefore " + "cannot be uploaded. Please write to this Blob before attempting " + "an upload." + ) else: # TODO: Introduce system logging # logging.info("Putting {} -> {}".format(self.local_path, self.remote_location)) - _data_proxy.Data.put_data( - self.local_path, - self.remote_location, - is_multipart=False - )
+ _data_proxy.Data.put_data(self.local_path, self.remote_location, is_multipart=False)
[docs]class MultiPartBlob(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _literal_models.Blob)): - - def __init__(self, remote_path, mode='rb', format=None): + def __init__(self, remote_path, mode="rb", format=None): """ :param Text remote_path: Path to location where the Blob should be synced to. :param Text mode: File access mode. 'a' and '+' are forbidden. A blob can only be written or read at a time. :param Text format: Format of underlying blob pieces. """ - remote_path = remote_path.strip().rstrip('/') + '/' + remote_path = remote_path.strip().rstrip("/") + "/" super(MultiPartBlob, self).__init__( _literal_models.BlobMetadata( - type=_core_types.BlobType( - format or "", - _core_types.BlobType.BlobDimensionality.MULTIPART - ) + type=_core_types.BlobType(format or "", _core_types.BlobType.BlobDimensionality.MULTIPART) ), - remote_path + remote_path, ) self._is_managed = False self._blobs = [] @@ -422,7 +410,7 @@

Source code for flytekit.common.types.impl.blobs

self._mode = mode
[docs] @classmethod - def promote_from_model(cls, model, mode='rb'): + def promote_from_model(cls, model, mode="rb"): """ :param flytekit.models.literals.Blob model: :param Text mode: File access mode. 'a' and '+' are forbidden. A blob can only be written or read at a time. @@ -432,7 +420,7 @@

Source code for flytekit.common.types.impl.blobs

[docs] @classmethod @_exception_scopes.system_entry_point - def create_at_known_location(cls, known_remote_location, mode='wb', format=None): + def create_at_known_location(cls, known_remote_location, mode="wb", format=None): """ :param Text known_remote_location: The location to which to write the object. Usually an s3 path. :param Text mode: @@ -443,7 +431,7 @@

Source code for flytekit.common.types.impl.blobs

[docs] @classmethod @_exception_scopes.system_entry_point - def create_at_any_location(cls, mode='wb', format=None): + def create_at_any_location(cls, mode="wb", format=None): """ :param Text mode: :param Text format: @@ -453,7 +441,7 @@

Source code for flytekit.common.types.impl.blobs

[docs] @classmethod @_exception_scopes.system_entry_point - def fetch(cls, remote_path, local_path=None, overwrite=False, mode='rb', format=None): + def fetch(cls, remote_path, local_path=None, overwrite=False, mode="rb", format=None): """ :param Text remote_path: The location from which to fetch the object. Usually an s3 path. :param Text local_path: [Optional] A local path to which to download the object. If specified, the object @@ -470,7 +458,7 @@

Source code for flytekit.common.types.impl.blobs

[docs] @classmethod @_exception_scopes.system_entry_point - def from_python_std(cls, t_value, mode='wb', format=None): + def from_python_std(cls, t_value, mode="wb", format=None): """ :param T t_value: :param Text mode: Read or write mode of the object. @@ -493,12 +481,12 @@

Source code for flytekit.common.types.impl.blobs

type(t_value), {str, _six.text_type, MultiPartBlob}, received_value=t_value, - additional_msg="Unable to create Blob from user-provided value." + additional_msg="Unable to create Blob from user-provided value.", )
[docs] @classmethod @_exception_scopes.system_entry_point - def from_string(cls, t_value, mode='wb', format=None): + def from_string(cls, t_value, mode="wb", format=None): """ :param T t_value: :param Text mode: Read or write mode of the object. @@ -512,7 +500,7 @@

Source code for flytekit.common.types.impl.blobs

""" :rtype: list[typing.BinaryIO] """ - if 'r' not in self.mode: + if "r" not in self.mode: raise _user_exceptions.FlyteAssertion("Do not enter context to write to directory. Call create_piece") try: @@ -525,8 +513,8 @@

Source code for flytekit.common.types.impl.blobs

"path is specified." ) self._directory = _utils.AutoDeletingTempDir( - _uuid.uuid4().hex, - tmp_dir=_data_proxy.LocalWorkingDirectoryContext.get().name) + _uuid.uuid4().hex, tmp_dir=_data_proxy.LocalWorkingDirectoryContext.get().name, + ) self._is_managed = True self._directory.__enter__() # TODO: Introduce system logging @@ -537,16 +525,13 @@

Source code for flytekit.common.types.impl.blobs

self._blobs = [] file_handles = [] for local_path in sorted(self._directory.list_dir(), key=lambda x: x.lower()): - b = Blob( - _os.path.join(self.remote_location, _os.path.basename(local_path)), - mode=self.mode, - ) + b = Blob(_os.path.join(self.remote_location, _os.path.basename(local_path)), mode=self.mode,) b._local_path = local_path file_handles.append(b.__enter__()) self._blobs.append(b) return file_handles - except: + except Exception: # Exit is idempotent so close partially opened context that way exc_type, exc_obj, exc_tb = _sys.exc_info() self.__exit__(exc_type, exc_obj, exc_tb) @@ -599,18 +584,16 @@

Source code for flytekit.common.types.impl.blobs

used to enforce ordering. If not provided, the name is randomly generated. :rtype: Blob """ - if 'w' not in self.mode: + if "w" not in self.mode: raise _user_exceptions.FlyteAssertion("Cannot create a blob in a read-only multipart blob") if name is None: name = _uuid.uuid4().hex - if ':' in name or '/' in name: + if ":" in name or "/" in name: raise _user_exceptions.FlyteAssertion( - name, - "Cannot create a part of a multi-part object with ':' or '/' in the name.") + name, "Cannot create a part of a multi-part object with ':' or '/' in the name.", + ) return Blob.create_at_known_location( - _os.path.join(self.remote_location, name), - mode=self.mode, - format=self.metadata.type.format + _os.path.join(self.remote_location, name), mode=self.mode, format=self.metadata.type.format, )
[docs] @_exception_scopes.system_entry_point @@ -623,7 +606,7 @@

Source code for flytekit.common.types.impl.blobs

:param bool overwrite: If true and local_path is specified, we will download the blob pieces and overwrite any existing files at that location. Default is False. """ - if 'r' not in self.mode: + if "r" not in self.mode: raise _user_exceptions.FlyteAssertion("Cannot download a write-only object!") if local_path: @@ -633,7 +616,8 @@

Source code for flytekit.common.types.impl.blobs

"No temporary file system is present. Either call this method from within the " "context of a task or surround with a 'with LocalTestFileSystem():' block. Or " "specify a path when calling this function. Note: Cleanup is not automatic when a " - "path is specified.") + "path is specified." + ) else: local_path = _data_proxy.LocalWorkingDirectoryContext.get().get_named_tempfile(_uuid.uuid4().hex) @@ -647,10 +631,7 @@

Source code for flytekit.common.types.impl.blobs

else: raise _user_exceptions.FlyteAssertion( "Cannot download multi-part blob to a location that already exists when overwrite is not set to True. " - "Attempted download from {} -> {}".format( - self.remote_location, - self.local_path - ) + "Attempted download from {} -> {}".format(self.remote_location, self.local_path) )
[docs] @_exception_scopes.system_entry_point @@ -658,21 +639,19 @@

Source code for flytekit.common.types.impl.blobs

""" Upload the multi-part blob to the remote location """ - if 'w' not in self.mode: + if "w" not in self.mode: raise _user_exceptions.FlyteAssertion("Cannot upload a read-only multi-part blob!") elif not self.local_path: - raise _user_exceptions.FlyteAssertion("The multi-part blob is not currently backed by a local directoru " - "and therefore cannot be uploaded. Please write to this before " - "attempting an upload.") + raise _user_exceptions.FlyteAssertion( + "The multi-part blob is not currently backed by a local directoru " + "and therefore cannot be uploaded. Please write to this before " + "attempting an upload." + ) else: # TODO: Introduce system logging # logging.info("Putting {} -> {}".format(self.local_path, self.remote_location)) - _data_proxy.Data.put_data( - self.local_path, - self.remote_location, - is_multipart=True - )
+ _data_proxy.Data.put_data(self.local_path, self.remote_location, is_multipart=True)
diff --git a/_modules/flytekit/common/types/impl/schema.html b/_modules/flytekit/common/types/impl/schema.html index e1183d372a..21a89bd820 100644 --- a/_modules/flytekit/common/types/impl/schema.html +++ b/_modules/flytekit/common/types/impl/schema.html @@ -8,7 +8,7 @@ - flytekit.common.types.impl.schema — Flyte 0.6.0 documentation + flytekit.common.types.impl.schema — Flyte 0.7.0 documentation @@ -163,19 +163,25 @@

Source code for flytekit.common.types.impl.schema

from __future__ import absolute_import import collections as _collections -from flytekit.plugins import numpy as _np -from flytekit.plugins import pandas as _pd import os as _os -import six as _six import uuid as _uuid -from flytekit.common import utils as _utils, sdk_bases as _sdk_bases -from flytekit.common.types import primitives as _primitives, base_sdk_types as _base_sdk_types, helpers as _helpers +import six as _six + +from flytekit.common import sdk_bases as _sdk_bases +from flytekit.common import utils as _utils +from flytekit.common.exceptions import scopes as _exception_scopes +from flytekit.common.exceptions import user as _user_exceptions +from flytekit.common.types import base_sdk_types as _base_sdk_types +from flytekit.common.types import helpers as _helpers +from flytekit.common.types import primitives as _primitives from flytekit.common.types.impl import blobs as _blob_impl -from flytekit.common.exceptions import user as _user_exceptions, scopes as _exception_scopes -from flytekit.interfaces.data import data_proxy as _data_proxy -from flytekit.models import types as _type_models, literals as _literal_models from flytekit.configuration import sdk as _sdk_config +from flytekit.interfaces.data import data_proxy as _data_proxy +from flytekit.models import literals as _literal_models +from flytekit.models import types as _type_models +from flytekit.plugins import numpy as _np +from flytekit.plugins import pandas as _pd # Note: For now, this is only for basic type-checking. We need not differentiate between TINYINT, BIGINT, # and INT or DOUBLE and FLOAT, VARCHAR and STRING, etc. as we will unpack into appropriate Python @@ -192,7 +198,7 @@

Source code for flytekit.common.types.impl.schema

_primitives.Boolean.to_flyte_literal_type(): {_np.bool}, _primitives.Datetime.to_flyte_literal_type(): {_np.datetime64}, _primitives.Timedelta.to_flyte_literal_type(): {_np.timedelta64}, - _primitives.String.to_flyte_literal_type(): {_np.object_, _np.str_, _np.string_} + _primitives.String.to_flyte_literal_type(): {_np.object_, _np.str_, _np.string_}, } return _SUPPORTED_LITERAL_TYPE_TO_PANDAS_TYPES
@@ -204,61 +210,55 @@

Source code for flytekit.common.types.impl.schema

# work-around where we create an external table with the appropriate schema and write the data to our desired # location. The issue here is that the table information in the meta-store might not get cleaned up during a partial # failure. -_HIVE_QUERY_FORMATTER = \ - """ - {stage_query_str} +_HIVE_QUERY_FORMATTER = """ + {stage_query_str} - CREATE TEMPORARY TABLE {table}_tmp AS {query_str}; - CREATE EXTERNAL TABLE {table} LIKE {table}_tmp STORED AS PARQUET; - ALTER TABLE {table} SET LOCATION '{url}'; + CREATE TEMPORARY TABLE {table}_tmp AS {query_str}; + CREATE EXTERNAL TABLE {table} LIKE {table}_tmp STORED AS PARQUET; + ALTER TABLE {table} SET LOCATION '{url}'; - INSERT OVERWRITE TABLE {table} - SELECT - {columnar_query} - FROM {table}_tmp; - DROP TABLE {table}; - """ + INSERT OVERWRITE TABLE {table} + SELECT + {columnar_query} + FROM {table}_tmp; + DROP TABLE {table}; + """ # Once https://issues.apache.org/jira/browse/HIVE-12860 is resolved. We will prefer the following syntax because it # guarantees cleanup on partial failures. -_HIVE_QUERY_FORMATTER_V2 = \ - """ - CREATE TEMPORARY TABLE {table} AS {query_str}; +_HIVE_QUERY_FORMATTER_V2 = """ + CREATE TEMPORARY TABLE {table} AS {query_str}; - INSERT OVERWRITE DIRECTORY '{url}' STORED AS PARQUET - SELECT {columnar_query} - FROM {table}; - """ + INSERT OVERWRITE DIRECTORY '{url}' STORED AS PARQUET + SELECT {columnar_query} + FROM {table}; + """ # Set location in both parts of this query so in case of a partial failure, we will always have some data backing a # partition. -_WRITE_HIVE_PARTITION_QUERY_FORMATTER = \ - """ - ALTER TABLE {write_table} ADD IF NOT EXISTS {partition_string} LOCATION '{url}'; +_WRITE_HIVE_PARTITION_QUERY_FORMATTER = """ + ALTER TABLE {write_table} ADD IF NOT EXISTS {partition_string} LOCATION '{url}'; - ALTER TABLE {write_table} {partition_string} SET LOCATION '{url}'; - """ + ALTER TABLE {write_table} {partition_string} SET LOCATION '{url}'; + """ def _format_insert_partition_query(table_name, partition_string, remote_location): - table_pieces = table_name.split('.') + table_pieces = table_name.split(".") if len(table_pieces) > 1: # Hive shell commands don't allow us to alter tables and select databases in the table specification. So # we split the table name and use the 'use' command to choose the correct database. prefix = "use {};\n".format(table_pieces[0]) - table_name = '.'.join(table_pieces[1:]) + table_name = ".".join(table_pieces[1:]) else: prefix = "" return prefix + _WRITE_HIVE_PARTITION_QUERY_FORMATTER.format( - write_table=table_name, - partition_string=partition_string, - url=remote_location + write_table=table_name, partition_string=partition_string, url=remote_location ) class _SchemaIO(object): - def __init__(self, schema_instance, local_dir, mode): """ :param Schema schema_instance: @@ -308,7 +308,7 @@

Source code for flytekit.common.types.impl.schema

if index < 0 or index > self.chunk_count: raise _user_exceptions.FlyteValueException( index, - "Attempting to seek to a chunk that is out of range. Allowed range is [0, {}]".format(self.chunk_count) + "Attempting to seek to a chunk that is out of range. Allowed range is [0, {}]".format(self.chunk_count), ) self._index = index @@ -318,19 +318,17 @@

Source code for flytekit.common.types.impl.schema

def __repr__(self): return "{mode} IO Object for {type} @ {location}".format( - type=self._schema.type, - location=self._schema.remote_prefix, - mode=self._mode) + type=self._schema.type, location=self._schema.remote_prefix, mode=self._mode + ) class _SchemaReader(_SchemaIO): - def __init__(self, schema_instance, local_dir): """ :param Schema schema_instance: :param flytekit.common.utils.Directory local_dir: """ - super(_SchemaReader, self).__init__(schema_instance, local_dir, 'Read-Only') + super(_SchemaReader, self).__init__(schema_instance, local_dir, "Read-Only") self.reset_chunks() @_exception_scopes.system_entry_point @@ -358,9 +356,9 @@

Source code for flytekit.common.types.impl.schema

""" df = None - if parquet_engine == 'fastparquet': - from fastparquet import ParquetFile as _ParquetFile + if parquet_engine == "fastparquet": import fastparquet.thrift_structures as _ts + from fastparquet import ParquetFile as _ParquetFile # https://github.com/dask/fastparquet/issues/414#issuecomment-478983811 df = _pd.read_parquet(chunk, columns=columns, engine=parquet_engine, index=False) @@ -368,12 +366,12 @@

Source code for flytekit.common.types.impl.schema

pf = _ParquetFile(chunk) schema_column_dtypes = {l.name: l.type for l in list(pf.schema.schema_elements)} - for idx in df_column_types[df_column_types == 'float16'].index.tolist(): + for idx in df_column_types[df_column_types == "float16"].index.tolist(): # A hacky way to get the string representations of the column types of a parquet schema # Reference: # https://github.com/dask/fastparquet/blob/f4ecc67f50e7bf98b2d0099c9589c615ea4b06aa/fastparquet/schema.py if _ts.parquet_thrift.Type._VALUES_TO_NAMES[schema_column_dtypes[idx]] == "BOOLEAN": - df[idx] = df[idx].astype('object') + df[idx] = df[idx].astype("object") df[idx].replace({0: False, 1: True, _pd.np.nan: None}, inplace=True) else: @@ -406,9 +404,10 @@

Source code for flytekit.common.types.impl.schema

self._access_guard() parquet_engine = _sdk_config.PARQUET_ENGINE.get() - if parquet_engine not in {'fastparquet', 'pyarrow'}: + if parquet_engine not in {"fastparquet", "pyarrow"}: raise _user_exceptions.FlyteAssertion( - "environment variable parquet_engine must be one of 'pyarrow', 'fastparquet', or be unset") + "environment variable parquet_engine must be one of 'pyarrow', 'fastparquet', or be unset" + ) df_out = None if not columns: @@ -426,25 +425,21 @@

Source code for flytekit.common.types.impl.schema

chunk=chunk, columns=columns, parquet_engine=parquet_engine ) # _pd.read_parquet(chunk, columns=columns, engine=parquet_engine) - for chunk in self._chunks[self._index:] + for chunk in self._chunks[self._index :] if _os.path.getsize(chunk) > 0 ] if len(frames) == 1: df_out = frames[0] elif len(frames) > 1: - df_out = _pd.concat( - frames, - copy=True) + df_out = _pd.concat(frames, copy=True) self._index = len(self._chunks) else: while self._index < len(self._chunks) and df_out is None: # Skip empty chunks so the user appears to have a continuous stream of data. if _os.path.getsize(self._chunks[self._index]) > 0: df_out = _SchemaReader._read_parquet_with_type_promotion_override( - chunk=self._chunks[self._index], - columns=columns, - parquet_engine=parquet_engine, - **kwargs) + chunk=self._chunks[self._index], columns=columns, parquet_engine=parquet_engine, **kwargs + ) self._index += 1 if df_out is not None: @@ -463,20 +458,19 @@

Source code for flytekit.common.types.impl.schema

if len(self._schema.type.columns) > 0: # Avoid using pandas.DataFrame.rename() as this function incurs significant memory overhead df_out.columns = [ - user_column_dict[col] if col in user_columns else col - for col in df_out.columns.values] + user_column_dict[col] if col in user_columns else col for col in df_out.columns.values + ] return df_out class _SchemaWriter(_SchemaIO): - def __init__(self, schema_instance, local_dir): """ :param Schema schema_instance: :param flytekit.common.utils.Directory local_dir: :param Text mode: """ - super(_SchemaWriter, self).__init__(schema_instance, local_dir, 'Write-Only') + super(_SchemaWriter, self).__init__(schema_instance, local_dir, "Write-Only") @_exception_scopes.system_entry_point def close(self): @@ -491,7 +485,7 @@

Source code for flytekit.common.types.impl.schema

super(_SchemaWriter, self).close() @_exception_scopes.system_entry_point - def write(self, data_frame, coerce_timestamps='us', allow_truncated_timestamps=False): + def write(self, data_frame, coerce_timestamps="us", allow_truncated_timestamps=False): """ Writes data frame as a chunk to the local directory owned by the Schema object. Will later be uploaded to s3. @@ -508,7 +502,8 @@

Source code for flytekit.common.types.impl.schema

expected_type=_pd.DataFrame, received_type=type(data_frame), received_value=data_frame, - additional_msg="Only pandas DataFrame objects can be written to a Schema object") + additional_msg="Only pandas DataFrame objects can be written to a Schema object", + ) self._schema.compare_dataframe_to_schema(data_frame) all_columns = list(data_frame.columns.values) @@ -521,9 +516,8 @@

Source code for flytekit.common.types.impl.schema

try: filename = self._local_dir.get_named_tempfile(_os.path.join(str(self._index).zfill(6))) data_frame.to_parquet( - filename, - coerce_timestamps=coerce_timestamps, - allow_truncated_timestamps=allow_truncated_timestamps) + filename, coerce_timestamps=coerce_timestamps, allow_truncated_timestamps=allow_truncated_timestamps, + ) if self._index == len(self._chunks): self._chunks.append(filename) self._index += 1 @@ -533,7 +527,6 @@

Source code for flytekit.common.types.impl.schema

class _SchemaBackingMpBlob(_blob_impl.MultiPartBlob): - @property def directory(self): """ @@ -550,17 +543,16 @@

Source code for flytekit.common.types.impl.schema

"specify a path when calling this function." ) self._directory = _utils.AutoDeletingTempDir( - _uuid.uuid4().hex, - tmp_dir=_data_proxy.LocalWorkingDirectoryContext.get().name + _uuid.uuid4().hex, tmp_dir=_data_proxy.LocalWorkingDirectoryContext.get().name, ) self._is_managed = True self._directory.__enter__() - if 'r' in self.mode: + if "r" in self.mode: _data_proxy.Data.get_data(self.remote_location, self.local_path, is_multipart=True) def __exit__(self, exc_type, exc_val, exc_tb): - if 'w' in self.mode: + if "w" in self.mode: _data_proxy.Data.put_data(self.local_path, self.remote_location, is_multipart=True) return super(_SchemaBackingMpBlob, self).__exit__(exc_type, exc_val, exc_tb) @@ -594,10 +586,7 @@

Source code for flytekit.common.types.impl.schema

:rtype: list[flytekit.models.types.SchemaType.SchemaColumn] """ return [ - _type_models.SchemaType.SchemaColumn( - n, - type(self)._LITERAL_TYPE_TO_PROTO_ENUM[v.to_flyte_literal_type()] - ) + _type_models.SchemaType.SchemaColumn(n, type(self)._LITERAL_TYPE_TO_PROTO_ENUM[v.to_flyte_literal_type()]) for n, v in _six.iteritems(self.sdk_columns) ] @@ -608,18 +597,24 @@

Source code for flytekit.common.types.impl.schema

:rtype: SchemaType """ _PROTO_ENUM_TO_SDK_TYPE = { - _type_models.SchemaType.SchemaColumn.SchemaColumnType.INTEGER: - _helpers.get_sdk_type_from_literal_type(_primitives.Integer.to_flyte_literal_type()), - _type_models.SchemaType.SchemaColumn.SchemaColumnType.FLOAT: - _helpers.get_sdk_type_from_literal_type(_primitives.Float.to_flyte_literal_type()), - _type_models.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN: - _helpers.get_sdk_type_from_literal_type(_primitives.Boolean.to_flyte_literal_type()), - _type_models.SchemaType.SchemaColumn.SchemaColumnType.DATETIME: - _helpers.get_sdk_type_from_literal_type(_primitives.Datetime.to_flyte_literal_type()), - _type_models.SchemaType.SchemaColumn.SchemaColumnType.DURATION: - _helpers.get_sdk_type_from_literal_type(_primitives.Timedelta.to_flyte_literal_type()), - _type_models.SchemaType.SchemaColumn.SchemaColumnType.STRING: - _helpers.get_sdk_type_from_literal_type(_primitives.String.to_flyte_literal_type()), + _type_models.SchemaType.SchemaColumn.SchemaColumnType.INTEGER: _helpers.get_sdk_type_from_literal_type( + _primitives.Integer.to_flyte_literal_type() + ), + _type_models.SchemaType.SchemaColumn.SchemaColumnType.FLOAT: _helpers.get_sdk_type_from_literal_type( + _primitives.Float.to_flyte_literal_type() + ), + _type_models.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN: _helpers.get_sdk_type_from_literal_type( + _primitives.Boolean.to_flyte_literal_type() + ), + _type_models.SchemaType.SchemaColumn.SchemaColumnType.DATETIME: _helpers.get_sdk_type_from_literal_type( + _primitives.Datetime.to_flyte_literal_type() + ), + _type_models.SchemaType.SchemaColumn.SchemaColumnType.DURATION: _helpers.get_sdk_type_from_literal_type( + _primitives.Timedelta.to_flyte_literal_type() + ), + _type_models.SchemaType.SchemaColumn.SchemaColumnType.STRING: _helpers.get_sdk_type_from_literal_type( + _primitives.String.to_flyte_literal_type() + ), } return cls([(c.name, _PROTO_ENUM_TO_SDK_TYPE[c.type]) for c in model.columns])
@@ -630,46 +625,55 @@

Source code for flytekit.common.types.impl.schema

raise _user_exceptions.FlyteValueException( column, "When specifying a Schema type with a known set of columns. Each column must be " - "specified as a tuple in the form ('name', type).") + "specified as a tuple in the form ('name', type).", + ) if len(column) != 2: raise _user_exceptions.FlyteValueException( column, "When specifying a Schema type with a known set of columns. Each column must be " - "specified as a tuple in the form ('name', type).") + "specified as a tuple in the form ('name', type).", + ) name, sdk_type = column sdk_type = _helpers.python_std_to_sdk_type(sdk_type) if not isinstance(name, (str, _six.text_type)): - additional_msg = "When specifying a Schema type with a known set of columns, the first element in" \ - " each tuple must be text." + additional_msg = ( + "When specifying a Schema type with a known set of columns, the first element in" + " each tuple must be text." + ) raise _user_exceptions.FlyteTypeException( received_type=type(name), received_value=name, expected_type={str, _six.text_type}, - additional_msg=additional_msg) - - if not isinstance(sdk_type, _base_sdk_types.FlyteSdkType) or sdk_type.to_flyte_literal_type() not in \ - get_supported_literal_types_to_pandas_types(): - additional_msg = \ - "When specifying a Schema type with a known set of columns, the second element of " \ - "each tuple must be a supported type. Failed for column: {name}".format( - name=name) + additional_msg=additional_msg, + ) + + if ( + not isinstance(sdk_type, _base_sdk_types.FlyteSdkType) + or sdk_type.to_flyte_literal_type() not in get_supported_literal_types_to_pandas_types() + ): + additional_msg = ( + "When specifying a Schema type with a known set of columns, the second element of " + "each tuple must be a supported type. Failed for column: {name}".format(name=name) + ) raise _user_exceptions.FlyteTypeException( expected_type=list(get_supported_literal_types_to_pandas_types().keys()), received_type=sdk_type, - additional_msg=additional_msg) + additional_msg=additional_msg, + ) if name in names_seen: - raise ValueError("The column name {name} was specified multiple times when instantiating the " - "Schema.".format(name=name)) + raise ValueError( + "The column name {name} was specified multiple times when instantiating the " + "Schema.".format(name=name) + ) names_seen.add(name) self._sdk_columns = _collections.OrderedDict(columns)
[docs]class Schema(_six.with_metaclass(_sdk_bases.ExtendedSdkType, _literal_models.Schema)): - - def __init__(self, remote_path, mode='rb', schema_type=None): + def __init__(self, remote_path, mode="rb", schema_type=None): """ :param Text remote_path: :param Text mode: @@ -677,10 +681,7 @@

Source code for flytekit.common.types.impl.schema

not specified, the schema will be considered generic. """ self._mp_blob = _SchemaBackingMpBlob(remote_path, mode=mode) - super(Schema, self).__init__( - self._mp_blob.uri, - schema_type or SchemaType() - ) + super(Schema, self).__init__(self._mp_blob.uri, schema_type or SchemaType()) self._io_object = None
[docs] @classmethod @@ -693,7 +694,7 @@

Source code for flytekit.common.types.impl.schema

[docs] @classmethod @_exception_scopes.system_entry_point - def create_at_known_location(cls, known_remote_location, mode='wb', schema_type=None): + def create_at_known_location(cls, known_remote_location, mode="wb", schema_type=None): """ :param Text known_remote_location: The location to which to write the object. Usually an s3 path. :param Text mode: @@ -705,7 +706,7 @@

Source code for flytekit.common.types.impl.schema

[docs] @classmethod @_exception_scopes.system_entry_point - def create_at_any_location(cls, mode='wb', schema_type=None): + def create_at_any_location(cls, mode="wb", schema_type=None): """ :param Text mode: :param SchemaType schema_type: [Optional] If specified, the schema will be forced to conform to this type. If @@ -716,7 +717,7 @@

Source code for flytekit.common.types.impl.schema

[docs] @classmethod @_exception_scopes.system_entry_point - def fetch(cls, remote_path, local_path=None, overwrite=False, mode='rb', schema_type=None): + def fetch(cls, remote_path, local_path=None, overwrite=False, mode="rb", schema_type=None): """ :param Text remote_path: The location from which to fetch the object. Usually an s3 path. :param Text local_path: [Optional] A local path to which to download the object. If specified, the object @@ -768,7 +769,7 @@

Source code for flytekit.common.types.impl.schema

type(t_value), {str, _six.text_type, Schema}, received_value=x, - additional_msg="A Schema object can only be create from a pandas DataFrame or a list of pandas DataFrame." + additional_msg="A Schema object can only be create from a pandas DataFrame or a list of pandas DataFrame.", ) return o else: @@ -776,7 +777,7 @@

Source code for flytekit.common.types.impl.schema

type(t_value), {str, _six.text_type, Schema}, received_value=t_value, - additional_msg="Unable to create Schema from user-provided value." + additional_msg="Unable to create Schema from user-provided value.", )
[docs] @classmethod @@ -793,12 +794,8 @@

Source code for flytekit.common.types.impl.schema

[docs] @classmethod @_exception_scopes.system_entry_point def create_from_hive_query( - cls, - select_query, - stage_query=None, - schema_to_table_name_map=None, - schema_type=None, - known_location=None): + cls, select_query, stage_query=None, schema_to_table_name_map=None, schema_type=None, known_location=None, + ): """ Returns a query that can be submitted to Hive and produce the desired output. It also returns a properly-typed schema object. @@ -814,9 +811,7 @@

Source code for flytekit.common.types.impl.schema

:return: Schema, Text """ schema_object = cls( - known_location or _data_proxy.Data.get_remote_directory(), - mode='wb', - schema_type=schema_type + known_location or _data_proxy.Data.get_remote_directory(), mode="wb", schema_type=schema_type, ) if len(schema_object.type.sdk_columns) > 0: @@ -827,26 +822,31 @@

Source code for flytekit.common.types.impl.schema

columnar_clauses = [] for name, sdk_type in _six.iteritems(schema_object.type.sdk_columns): if sdk_type == _primitives.Float: - columnar_clauses.append("CAST({table_column_name} as double) {schema_name}".format( - table_column_name=schema_to_table_name_map[name], - schema_name=name)) + columnar_clauses.append( + "CAST({table_column_name} as double) {schema_name}".format( + table_column_name=schema_to_table_name_map[name], schema_name=name, + ) + ) else: - columnar_clauses.append("{table_column_name} as {schema_name}".format( - table_column_name=schema_to_table_name_map[name], - schema_name=name)) + columnar_clauses.append( + "{table_column_name} as {schema_name}".format( + table_column_name=schema_to_table_name_map[name], schema_name=name, + ) + ) columnar_query = ",\n\t\t".join(columnar_clauses) else: columnar_query = "*" - stage_query_str = _six.text_type(stage_query or '') + stage_query_str = _six.text_type(stage_query or "") # the stage query should always end with a semicolon - stage_query_str = stage_query_str if stage_query_str.endswith(';') else (stage_query_str + ';') + stage_query_str = stage_query_str if stage_query_str.endswith(";") else (stage_query_str + ";") query = _HIVE_QUERY_FORMATTER.format( url=schema_object.remote_location, stage_query_str=stage_query_str, - query_str=select_query.strip().strip(';'), + query_str=select_query.strip().strip(";"), columnar_query=columnar_query, - table=_uuid.uuid4().hex) + table=_uuid.uuid4().hex, + ) return schema_object, query
@property @@ -916,7 +916,7 @@

Source code for flytekit.common.types.impl.schema

) self._mp_blob.__enter__() - if 'r' in self.mode: + if "r" in self.mode: self._io_object = _SchemaReader(self, self.multipart_blob.directory) else: self._io_object = _SchemaWriter(self, self.multipart_blob.directory) @@ -931,7 +931,7 @@

Source code for flytekit.common.types.impl.schema

return "Schema({columns}) @ {location} ({mode})".format( columns=self.type.columns, location=self.remote_prefix, - mode='read-only' if 'r' in self.mode else 'write-only' + mode="read-only" if "r" in self.mode else "write-only", )
[docs] @_exception_scopes.system_entry_point @@ -947,12 +947,13 @@

Source code for flytekit.common.types.impl.schema

[docs] @_exception_scopes.system_entry_point def get_write_partition_to_hive_table_query( - self, - table_name, - partitions=None, - schema_to_table_name_map=None, - partitions_in_table=False, - append_to_partition=False): + self, + table_name, + partitions=None, + schema_to_table_name_map=None, + partitions_in_table=False, + append_to_partition=False, + ): """ Returns a Hive query string that will update the metatable to point to the data as the new partition. @@ -981,36 +982,41 @@

Source code for flytekit.common.types.impl.schema

expected_type={str, _six.text_type}, received_type=type(partition_name), received_value=partition_name, - additional_msg="All partition names must be type str.") + additional_msg="All partition names must be type str.", + ) if type(partition_value) not in _ALLOWED_PARTITION_TYPES: raise _user_exceptions.FlyteTypeException( expected_type=_ALLOWED_PARTITION_TYPES, received_type=type(partition_value), received_value=partition_value, - additional_msg="Partition {name} has an unsupported type.".format(name=partition_name) + additional_msg="Partition {name} has an unsupported type.".format(name=partition_name), ) # We need the string to be quoted in the query, so let's take repr of it. if isinstance(partition_value, (str, _six.text_type)): partition_value = repr(partition_value) - partition_conditions.append("{partition_name} = {partition_value}".format( - partition_name=partition_name, - partition_value=partition_value)) + partition_conditions.append( + "{partition_name} = {partition_value}".format( + partition_name=partition_name, partition_value=partition_value + ) + ) partition_formatter = "PARTITION (\n\t{conditions}\n)" partition_string = partition_formatter.format(conditions=",\n\t".join(partition_conditions)) if partitions_in_table and partitions: where_clauses = [] for partition_name, partition_value in partitions: - where_clauses.append("\n\t\t{schema_name} = {value_str} AND ".format( - schema_name=table_to_schema_name_map[partition_name], - value_str=partition_value - )) + where_clauses.append( + "\n\t\t{schema_name} = {value_str} AND ".format( + schema_name=table_to_schema_name_map[partition_name], value_str=partition_value, + ) + ) where_string = "WHERE\n\t\t{where_clauses}".format(where_clauses=" AND\n\t\t".join(where_clauses)) if where_string or partitions_in_table: raise _user_exceptions.FlyteAssertion( - "Currently, the partition values should not be present in the schema pushed to Hive.") + "Currently, the partition values should not be present in the schema pushed to Hive." + ) if append_to_partition: raise _user_exceptions.FlyteAssertion( "Currently, partitions can only be overwritten, they cannot be appended." @@ -1021,9 +1027,8 @@

Source code for flytekit.common.types.impl.schema

) return _format_insert_partition_query( - remote_location=self.remote_location, - table_name=table_name, - partition_string=partition_string)
+ remote_location=self.remote_location, table_name=table_name, partition_string=partition_string, + )
[docs] def compare_dataframe_to_schema(self, data_frame, column_subset=None, read=False): """ @@ -1053,9 +1058,7 @@

Source code for flytekit.common.types.impl.schema

additional_msg = "" raise _user_exceptions.FlyteAssertion( "{} was/where requested but could not be found in the schema: {}.{}".format( - failed_columns, - self.type.sdk_columns, - additional_msg + failed_columns, self.type.sdk_columns, additional_msg ) ) @@ -1064,7 +1067,7 @@

Source code for flytekit.common.types.impl.schema

expected_type=self.type.sdk_columns, received_type=data_frame.columns, additional_msg="Mismatch between the data frame's column names {} and schema's column names {} " - "with strict_names=True.".format(all_columns, schema_column_names) + "with strict_names=True.".format(all_columns, schema_column_names), ) # This only iterates if the Schema has specified columns. @@ -1074,25 +1077,27 @@

Source code for flytekit.common.types.impl.schema

# TODO np.issubdtype is deprecated. Replace it if all( - not _np.issubdtype(dtype, allowed_type) - for allowed_type in get_supported_literal_types_to_pandas_types()[literal_type] + not _np.issubdtype(dtype, allowed_type) + for allowed_type in get_supported_literal_types_to_pandas_types()[literal_type] ): if read: read_or_write_msg = "read data frame object from schema" else: read_or_write_msg = "write data frame object to schema" - additional_msg = \ - "Cannot {read_write} because the types do not match. Column " \ - "'{name}' did not pass type checking. Note: If your " \ - "column contains null values, the types might not transition as expected between parquet and " \ - "pandas. For more information, see: " \ + additional_msg = ( + "Cannot {read_write} because the types do not match. Column " + "'{name}' did not pass type checking. Note: If your " + "column contains null values, the types might not transition as expected between parquet and " + "pandas. For more information, see: " "http://arrow.apache.org/docs/python/pandas.html#arrow-pandas-conversion".format( - read_write=read_or_write_msg, - name=name) + read_write=read_or_write_msg, name=name + ) + ) raise _user_exceptions.FlyteTypeException( expected_type=get_supported_literal_types_to_pandas_types()[literal_type], received_type=dtype, - additional_msg=additional_msg)
+ additional_msg=additional_msg, + )
[docs] def cast_to(self, other_type): """ @@ -1106,16 +1111,16 @@

Source code for flytekit.common.types.impl.schema

self.type, other_type, additional_msg="Cannot cast because a required column '{}' was not found.".format(k), - received_value=self + received_value=self, ) - if not isinstance(v, _base_sdk_types.FlyteSdkType) or \ - v.to_flyte_literal_type() != self.type.sdk_columns[k].to_flyte_literal_type(): + if ( + not isinstance(v, _base_sdk_types.FlyteSdkType) + or v.to_flyte_literal_type() != self.type.sdk_columns[k].to_flyte_literal_type() + ): raise _user_exceptions.FlyteTypeException( self.type.sdk_columns[k], v, - additional_msg="Cannot cast because the column type for column '{}' does not match.".format( - k - ) + additional_msg="Cannot cast because the column type for column '{}' does not match.".format(k), ) return Schema(self.remote_location, mode=self.mode, schema_type=other_type)
@@ -1124,21 +1129,19 @@

Source code for flytekit.common.types.impl.schema

""" Upload the schema to the remote location """ - if 'w' not in self.mode: + if "w" not in self.mode: raise _user_exceptions.FlyteAssertion("Cannot upload a read-only schema!") elif not self.local_path: - raise _user_exceptions.FlyteAssertion("The schema is not currently backed by a local directory " - "and therefore cannot be uploaded. Please write to this before " - "attempting an upload.") + raise _user_exceptions.FlyteAssertion( + "The schema is not currently backed by a local directory " + "and therefore cannot be uploaded. Please write to this before " + "attempting an upload." + ) else: # TODO: Introduce system logging # logging.info("Putting {} -> {}".format(self.local_path, self.remote_location)) - _data_proxy.Data.put_data( - self.local_path, - self.remote_location, - is_multipart=True - )
+ _data_proxy.Data.put_data(self.local_path, self.remote_location, is_multipart=True)
diff --git a/_modules/flytekit/common/types/primitives.html b/_modules/flytekit/common/types/primitives.html index 0b7cade216..fda9e63291 100644 --- a/_modules/flytekit/common/types/primitives.html +++ b/_modules/flytekit/common/types/primitives.html @@ -8,7 +8,7 @@ - flytekit.common.types.primitives — Flyte 0.6.0 documentation + flytekit.common.types.primitives — Flyte 0.7.0 documentation @@ -162,21 +162,22 @@

Source code for flytekit.common.types.primitives

 from __future__ import absolute_import
 
+import datetime as _datetime
+import json as _json
+
+import six as _six
+from dateutil import parser as _parser
+from google.protobuf import json_format as _json_format
+from google.protobuf import struct_pb2 as _struct
 from pytimeparse import parse as _parse_duration_string
 
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.types import base_sdk_types as _base_sdk_types
-from flytekit.models import types as _idl_types, literals as _literals
-from dateutil import parser as _parser
-from google.protobuf import json_format as _json_format, struct_pb2 as _struct
-
-import json as _json
-import six as _six
-import datetime as _datetime
+from flytekit.models import literals as _literals
+from flytekit.models import types as _idl_types
 
 
 
[docs]class Integer(_base_sdk_types.FlyteSdkValue): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -186,9 +187,11 @@

Source code for flytekit.common.types.primitives

try: return cls(int(string_value)) except (ValueError, TypeError): - raise _user_exceptions.FlyteTypeException(_six.text_type, int, - additional_msg='String not castable to Integer SDK type:' - ' {}'.format(string_value))
+ raise _user_exceptions.FlyteTypeException( + _six.text_type, + int, + additional_msg="String not castable to Integer SDK type:" " {}".format(string_value), + )
[docs] @classmethod def is_castable_from(cls, other): @@ -232,7 +235,7 @@

Source code for flytekit.common.types.primitives

""" :rtype: Text """ - return 'Integer'
+ return "Integer"
def __init__(self, value): """ @@ -254,7 +257,6 @@

Source code for flytekit.common.types.primitives

[docs]class Float(_base_sdk_types.FlyteSdkValue): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -264,9 +266,11 @@

Source code for flytekit.common.types.primitives

try: return cls(float(string_value)) except ValueError: - raise _user_exceptions.FlyteTypeException(_six.text_type, float, - additional_msg='String not castable to Float SDK type:' - ' {}'.format(string_value))
+ raise _user_exceptions.FlyteTypeException( + _six.text_type, + float, + additional_msg="String not castable to Float SDK type:" " {}".format(string_value), + )
[docs] @classmethod def is_castable_from(cls, other): @@ -310,7 +314,7 @@

Source code for flytekit.common.types.primitives

""" :rtype: Text """ - return 'Float'
+ return "Float"
def __init__(self, value): """ @@ -332,20 +336,19 @@

Source code for flytekit.common.types.primitives

[docs]class Boolean(_base_sdk_types.FlyteSdkValue): -
[docs] @classmethod def from_string(cls, string_value): """ :param Text string_value: :rtype: Boolean """ - if string_value == '1' or string_value.lower() == 'true': + if string_value == "1" or string_value.lower() == "true": return cls(True) - elif string_value == '0' or string_value.lower() == 'false': + elif string_value == "0" or string_value.lower() == "false": return cls(False) - raise _user_exceptions.FlyteTypeException(_six.text_type, bool, - additional_msg='String not castable to Boolean SDK ' - 'type: {}'.format(string_value))
+ raise _user_exceptions.FlyteTypeException( + _six.text_type, bool, additional_msg="String not castable to Boolean SDK " "type: {}".format(string_value), + )
[docs] @classmethod def is_castable_from(cls, other): @@ -389,7 +392,7 @@

Source code for flytekit.common.types.primitives

""" :rtype: Text """ - return 'Boolean'
+ return "Boolean"
def __init__(self, value): """ @@ -411,7 +414,6 @@

Source code for flytekit.common.types.primitives

[docs]class String(_base_sdk_types.FlyteSdkValue): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -420,8 +422,10 @@

Source code for flytekit.common.types.primitives

""" if type(string_value) == dict or type(string_value) == list: raise _user_exceptions.FlyteTypeException( - type(string_value), _six.text_type, - additional_msg='Should not cast native Python type to string {}'.format(string_value)) + type(string_value), + _six.text_type, + additional_msg="Should not cast native Python type to string {}".format(string_value), + ) return cls(string_value)
[docs] @classmethod @@ -467,7 +471,7 @@

Source code for flytekit.common.types.primitives

""" :rtype: Text """ - return 'String'
+ return "String"
def __init__(self, value): """ @@ -488,7 +492,7 @@

Source code for flytekit.common.types.primitives

_TRUNCATE_LENGTH = 100 return "String('{}'{})".format( self.scalar.primitive.string_value[:_TRUNCATE_LENGTH], - " ..." if len(self.scalar.primitive.string_value) > _TRUNCATE_LENGTH else "" + " ..." if len(self.scalar.primitive.string_value) > _TRUNCATE_LENGTH else "", )
[docs] def verbose_string(self): @@ -499,7 +503,6 @@

Source code for flytekit.common.types.primitives

[docs]class Datetime(_base_sdk_types.FlyteSdkValue): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -509,9 +512,11 @@

Source code for flytekit.common.types.primitives

try: python_std_datetime = _parser.parse(string_value) except ValueError: - raise _user_exceptions.FlyteTypeException(_six.text_type, _datetime.datetime, - additional_msg='String not castable to Datetime ' - 'SDK type: {}'.format(string_value)) + raise _user_exceptions.FlyteTypeException( + _six.text_type, + _datetime.datetime, + additional_msg="String not castable to Datetime " "SDK type: {}".format(string_value), + ) return cls.from_python_std(python_std_datetime)
@@ -535,8 +540,9 @@

Source code for flytekit.common.types.primitives

elif type(t_value) != _datetime.datetime: raise _user_exceptions.FlyteTypeException(type(t_value), _datetime.datetime, t_value) elif t_value.tzinfo is None: - raise _user_exceptions.FlyteValueException(t_value, "Datetime objects in Flyte must be timezone aware. " - "tzinfo was found to be None.") + raise _user_exceptions.FlyteValueException( + t_value, "Datetime objects in Flyte must be timezone aware. " "tzinfo was found to be None.", + ) return cls(t_value)
[docs] @classmethod @@ -560,7 +566,7 @@

Source code for flytekit.common.types.primitives

""" :rtype: Text """ - return 'Datetime'
+ return "Datetime"
def __init__(self, value): """ @@ -582,7 +588,6 @@

Source code for flytekit.common.types.primitives

[docs]class Timedelta(_base_sdk_types.FlyteSdkValue): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -591,9 +596,11 @@

Source code for flytekit.common.types.primitives

""" td = _parse_duration_string(string_value) if td is None: - raise _user_exceptions.FlyteTypeException(_six.text_type, _datetime.timedelta, - additional_msg='Could not convert string to' - ' time delta: {}'.format(string_value)) + raise _user_exceptions.FlyteTypeException( + _six.text_type, + _datetime.timedelta, + additional_msg="Could not convert string to" " time delta: {}".format(string_value), + ) return cls.from_python_std(_datetime.timedelta(seconds=td))
[docs] @classmethod @@ -639,7 +646,7 @@

Source code for flytekit.common.types.primitives

""" :rtype: Text """ - return 'Timedelta'
+ return "Timedelta"
def __init__(self, value): """ @@ -661,7 +668,6 @@

Source code for flytekit.common.types.primitives

[docs]class Generic(_base_sdk_types.FlyteSdkValue): -
[docs] @classmethod def from_string(cls, string_value): """ @@ -670,11 +676,8 @@

Source code for flytekit.common.types.primitives

""" try: t = _json_format.Parse(string_value, _struct.Struct()) - except: - raise _user_exceptions.FlyteValueException( - string_value, - "Could not be parsed from JSON." - ) + except Exception: + raise _user_exceptions.FlyteValueException(string_value, "Could not be parsed from JSON.") return cls(t)
[docs] @classmethod @@ -699,11 +702,8 @@

Source code for flytekit.common.types.primitives

try: t = _json.dumps(t_value) - except: - raise _user_exceptions.FlyteValueException( - t_value, - "Is not JSON serializable." - ) + except Exception: + raise _user_exceptions.FlyteValueException(t_value, "Is not JSON serializable.") return cls(_json_format.Parse(t, _struct.Struct()))
@@ -728,7 +728,7 @@

Source code for flytekit.common.types.primitives

""" :rtype: Text """ - return 'Generic'
+ return "Generic"
def __init__(self, value): """ diff --git a/_modules/flytekit/common/types/proto.html b/_modules/flytekit/common/types/proto.html index ea692ec712..415c7e9985 100644 --- a/_modules/flytekit/common/types/proto.html +++ b/_modules/flytekit/common/types/proto.html @@ -8,7 +8,7 @@ - flytekit.common.types.proto — Flyte 0.6.0 documentation + flytekit.common.types.proto — Flyte 0.7.0 documentation @@ -162,13 +162,15 @@

Source code for flytekit.common.types.proto

 from __future__ import absolute_import
 
-from flytekit.common.exceptions import user as _user_exceptions
-from flytekit.common.types import base_sdk_types as _base_sdk_types
-from flytekit.models import types as _idl_types, literals as _literals
-from google.protobuf import reflection as _proto_reflection
-
 import base64 as _base64
+
 import six as _six
+from google.protobuf import reflection as _proto_reflection
+
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.types import base_sdk_types as _base_sdk_types
+from flytekit.models import literals as _literals
+from flytekit.models import types as _idl_types
 
 
 
[docs]def create_protobuf(pb_type): @@ -180,16 +182,16 @@

Source code for flytekit.common.types.proto

         raise _user_exceptions.FlyteTypeException(
             expected_type=_proto_reflection.GeneratedProtocolMessageType,
             received_type=type(pb_type),
-            received_value=pb_type
+            received_value=pb_type,
         )
 
     class _Protobuf(Protobuf):
         _pb_type = pb_type
+
     return _Protobuf
[docs]class ProtobufType(_base_sdk_types.FlyteSdkType): - @property def pb_type(cls): """ @@ -224,10 +226,7 @@

Source code for flytekit.common.types.proto

         data = pb_object.SerializeToString()
         super(Protobuf, self).__init__(
             scalar=_literals.Scalar(
-                binary=_literals.Binary(
-                    value=bytes(data) if _six.PY2 else data,
-                    tag=type(self).tag
-                )
+                binary=_literals.Binary(value=bytes(data) if _six.PY2 else data, tag=type(self).tag)
             )
         )
 
@@ -265,23 +264,14 @@ 

Source code for flytekit.common.types.proto

         elif isinstance(t_value, cls.pb_type):
             return cls(t_value)
         else:
-            raise _user_exceptions.FlyteTypeException(
-                type(t_value),
-                cls.pb_type,
-                received_value=t_value
-            )
+ raise _user_exceptions.FlyteTypeException(type(t_value), cls.pb_type, received_value=t_value)
[docs] @classmethod def to_flyte_literal_type(cls): """ :rtype: flytekit.models.types.LiteralType """ - return _idl_types.LiteralType( - simple=_idl_types.SimpleType.BINARY, - metadata={ - cls.PB_FIELD_KEY: cls.descriptor - } - )
+ return _idl_types.LiteralType(simple=_idl_types.SimpleType.BINARY, metadata={cls.PB_FIELD_KEY: cls.descriptor},)
[docs] @classmethod def promote_from_model(cls, literal_model): @@ -295,7 +285,7 @@

Source code for flytekit.common.types.proto

                 literal_model.scalar.binary.tag,
                 cls.pb_type,
                 received_value=_base64.b64encode(literal_model.scalar.binary.value),
-                additional_msg="Can not deserialize as proto tags don't match."
+                additional_msg="Can not deserialize as proto tags don't match.",
             )
         pb_obj = cls.pb_type()
         pb_obj.ParseFromString(literal_model.scalar.binary.value)
diff --git a/_modules/flytekit/common/types/schema.html b/_modules/flytekit/common/types/schema.html
index e4446984e5..9ff8bf952e 100644
--- a/_modules/flytekit/common/types/schema.html
+++ b/_modules/flytekit/common/types/schema.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.common.types.schema — Flyte 0.6.0 documentation
+  flytekit.common.types.schema — Flyte 0.7.0 documentation
   
 
   
@@ -162,22 +162,22 @@
   

Source code for flytekit.common.types.schema

 from __future__ import absolute_import
 
+import six as _six
+
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.types import base_sdk_types as _base_sdk_types
 from flytekit.common.types.impl import schema as _schema_impl
-from flytekit.models import types as _idl_types, literals as _literals
-
-import six as _six
+from flytekit.models import literals as _literals
+from flytekit.models import types as _idl_types
 
 
 
[docs]class SchemaInstantiator(_base_sdk_types.InstantiableType): -
[docs] def create_at_known_location(cls, location): """ :param Text location: :rtype: flytekit.common.types.impl.schema.Schema """ - return _schema_impl.Schema.create_at_known_location(location, mode='wb', schema_type=cls.schema_type)
+ return _schema_impl.Schema.create_at_known_location(location, mode="wb", schema_type=cls.schema_type)
[docs] def fetch(cls, remote_path, local_path=None): """ @@ -186,20 +186,16 @@

Source code for flytekit.common.types.schema

            this location is NOT managed and the schema will not be cleaned up upon exit.
         :rtype: flytekit.common.types.impl.schema.Schema
         """
-        return _schema_impl.Schema.fetch(remote_path, mode='rb', local_path=local_path, schema_type=cls.schema_type)
+ return _schema_impl.Schema.fetch(remote_path, mode="rb", local_path=local_path, schema_type=cls.schema_type)
[docs] def create(cls): """ :rtype: flytekit.common.types.impl.schema.Schema """ - return _schema_impl.Schema.create_at_any_location(mode='wb', schema_type=cls.schema_type)
+ return _schema_impl.Schema.create_at_any_location(mode="wb", schema_type=cls.schema_type)
[docs] def create_from_hive_query( - cls, - select_query, - stage_query=None, - schema_to_table_name_map=None, - known_location=None + cls, select_query, stage_query=None, schema_to_table_name_map=None, known_location=None, ): """ Returns a query that can be submitted to Hive and produce the desired output. It also returns a properly-typed @@ -218,7 +214,7 @@

Source code for flytekit.common.types.schema

stage_query=stage_query,
             schema_to_table_name_map=schema_to_table_name_map,
             known_location=known_location,
-            schema_type=cls.schema_type
+            schema_type=cls.schema_type,
         )
def __call__(cls, *args, **kwargs): @@ -228,7 +224,7 @@

Source code for flytekit.common.types.schema

        :rtype: flytekit.common.types.impl.schema.Schema
         """
         if not args and not kwargs:
-            return _schema_impl.Schema.create_at_any_location(mode='wb', schema_type=cls.schema_type)
+            return _schema_impl.Schema.create_at_any_location(mode="wb", schema_type=cls.schema_type)
         else:
             return super(SchemaInstantiator, cls).__call__(*args, **kwargs)
 
@@ -248,7 +244,6 @@ 

Source code for flytekit.common.types.schema

[docs]class Schema(_six.with_metaclass(SchemaInstantiator, _base_sdk_types.FlyteSdkValue)):
-
 
[docs] @classmethod def from_string(cls, string_value): """ @@ -321,9 +316,7 @@

Source code for flytekit.common.types.schema

"""
         :rtype: Text
         """
-        return "{}".format(
-            self.scalar.schema,
-        )
+ return "{}".format(self.scalar.schema,)
[docs]def schema_instantiator(columns=None): @@ -335,11 +328,12 @@

Source code for flytekit.common.types.schema

if columns is not None and len(columns) == 0:
         raise _user_exceptions.FlyteValueException(
             columns,
-            "When specifying a Schema type with a known set of columns, a non-empty list must be provided as "
-            "inputs")
+            "When specifying a Schema type with a known set of columns, a non-empty list must be provided as " "inputs",
+        )
 
     class _Schema(_six.with_metaclass(SchemaInstantiator, Schema)):
         _schema_type = _schema_impl.SchemaType(columns=columns)
+
     return _Schema
@@ -348,8 +342,10 @@

Source code for flytekit.common.types.schema

    :param flytekit.models.types.SchemaType schema_type:
     :rtype: SchemaInstantiator
     """
+
     class _Schema(_six.with_metaclass(SchemaInstantiator, Schema)):
         _schema_type = _schema_impl.SchemaType.promote_from_model(schema_type)
+
     return _Schema
diff --git a/_modules/flytekit/common/utils.html b/_modules/flytekit/common/utils.html index fc2cc09002..918be17edc 100644 --- a/_modules/flytekit/common/utils.html +++ b/_modules/flytekit/common/utils.html @@ -8,7 +8,7 @@ - flytekit.common.utils — Flyte 0.6.0 documentation + flytekit.common.utils — Flyte 0.7.0 documentation @@ -165,22 +165,17 @@

Source code for flytekit.common.utils

 import logging as _logging
 import os as _os
 import shutil as _shutil
-from hashlib import sha224 as _sha224
 import tempfile as _tempfile
 import time as _time
+from hashlib import sha224 as _sha224
+from pathlib import Path
 
 import flytekit as _flytekit
 from flytekit.configuration import sdk as _sdk_config
 from flytekit.models.core import identifier as _identifier
 
-try:
-    from pathlib import Path
-except ImportError:
-    from pathlib2 import Path  # python 2 backport
-
 
-def _dnsify(value):
-    # type: (Text) -> Text
+def _dnsify(value):  # type: (str) -> str
     """
     Converts value into a DNS-compliant (RFC1035/RFC1123 DNS_LABEL). The resulting string must only consist of
     alphanumeric (lower-case a-z, and 0-9) and not exceed 63 characters. It's permitted to have '-' character as long
@@ -193,10 +188,10 @@ 

Source code for flytekit.common.utils

     MAX = 63
     HASH_LEN = 10
     if len(value) >= MAX:
-        h = _sha224(value.encode('utf-8')).hexdigest()[:HASH_LEN]
-        value = "{}-{}".format(h, value[-(MAX - HASH_LEN - 1):])
+        h = _sha224(value.encode("utf-8")).hexdigest()[:HASH_LEN]
+        value = "{}-{}".format(h, value[-(MAX - HASH_LEN - 1) :])
     for ch in value:
-        if ch == '_' or ch == '-' or ch == '.':
+        if ch == "_" or ch == "-" or ch == ".":
             # Convert '_' to '-' unless it's the first character, in which case we drop it.
             if res != "" and len(res) < 62:
                 res += "-"
@@ -208,18 +203,18 @@ 

Source code for flytekit.common.utils

             res += ch
         else:
             # Character is upper-case. Add a '-' before it for better readability.
-            if res != "" and res[-1] != '-' and len(res) < 62:
+            if res != "" and res[-1] != "-" and len(res) < 62:
                 res += "-"
             res += ch.lower()
 
-    if res[-1] == '-':
-        res = res[:len(res) - 1]
+    if res[-1] == "-":
+        res = res[: len(res) - 1]
 
     return res
 
 
 
[docs]def load_proto_from_file(pb2_type, path): - with open(path, 'rb') as reader: + with open(path, "rb") as reader: out = pb2_type() out.ParseFromString(reader.read()) return out
@@ -227,7 +222,7 @@

Source code for flytekit.common.utils

 
 
[docs]def write_proto_to_file(proto, path): Path(_os.path.dirname(path)).mkdir(parents=True, exist_ok=True) - with open(path, 'wb') as writer: + with open(path, "wb") as writer: writer.write(proto.SerializeToString())
@@ -236,7 +231,6 @@

Source code for flytekit.common.utils

 
 
 
[docs]class Directory(object): - def __init__(self, path): """ :param Text path: local path of directory @@ -276,7 +270,7 @@

Source code for flytekit.common.utils

         :param bool cleanup: Whether the directory should be cleaned up upon exit
         """
         self._tmp_dir = tmp_dir
-        self._working_dir_prefix = (working_dir_prefix + "_") if working_dir_prefix else ''
+        self._working_dir_prefix = (working_dir_prefix + "_") if working_dir_prefix else ""
         self._cleanup = cleanup
         super(AutoDeletingTempDir, self).__init__(None)
 
@@ -307,7 +301,6 @@ 

Source code for flytekit.common.utils

 
 
 
[docs]class PerformanceTimer(object): - def __init__(self, context_statement): """ :param Text context_statement: the statement to log @@ -318,21 +311,22 @@

Source code for flytekit.common.utils

 
     def __enter__(self):
         _logging.info("Entering timed context: {}".format(self._context_statement))
-        self._start_wall_time = _time.time()
-        self._start_process_time = _time.clock()
+        self._start_wall_time = _time.perf_counter()
+        self._start_process_time = _time.process_time()
 
     def __exit__(self, exc_type, exc_val, exc_tb):
-        end_wall_time = _time.time()
-        end_process_time = _time.clock()
-        _logging.info("Exiting timed context: {} [Wall Time: {}s, Process Time: {}s]".format(
-            self._context_statement,
-            end_wall_time - self._start_wall_time,
-            end_process_time - self._start_process_time
-        ))
+ end_wall_time = _time.perf_counter() + end_process_time = _time.process_time() + _logging.info( + "Exiting timed context: {} [Wall Time: {}s, Process Time: {}s]".format( + self._context_statement, + end_wall_time - self._start_wall_time, + end_process_time - self._start_process_time, + ) + )
[docs]class ExitStack(object): - def __init__(self, entered_stack=None): self._contexts = entered_stack diff --git a/_modules/flytekit/common/workflow.html b/_modules/flytekit/common/workflow.html index 56386f058d..62141a2b21 100644 --- a/_modules/flytekit/common/workflow.html +++ b/_modules/flytekit/common/workflow.html @@ -8,7 +8,7 @@ - flytekit.common.workflow — Flyte 0.6.0 documentation + flytekit.common.workflow — Flyte 0.7.0 documentation @@ -162,29 +162,36 @@

Source code for flytekit.common.workflow

 from __future__ import absolute_import
 
+import datetime as _datetime
 import uuid as _uuid
 
 import six as _six
 from six.moves import queue as _queue
-import datetime as _datetime
 
-from flytekit.common import interface as _interface, nodes as _nodes, sdk_bases as _sdk_bases, \
-    launch_plan as _launch_plan, promise as _promise
+from flytekit.common import constants as _constants
+from flytekit.common import interface as _interface
+from flytekit.common import launch_plan as _launch_plan
+from flytekit.common import nodes as _nodes
+from flytekit.common import promise as _promise
+from flytekit.common import sdk_bases as _sdk_bases
 from flytekit.common.core import identifier as _identifier
-from flytekit.common.exceptions import scopes as _exception_scopes, user as _user_exceptions
-from flytekit.common.mixins import registerable as _registerable, hash as _hash_mixin
+from flytekit.common.exceptions import scopes as _exception_scopes
+from flytekit.common.exceptions import system as _system_exceptions
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.mixins import hash as _hash_mixin
+from flytekit.common.mixins import registerable as _registerable
 from flytekit.common.types import helpers as _type_helpers
 from flytekit.configuration import internal as _internal_config
 from flytekit.engines import loader as _engine_loader
-from flytekit.models import interface as _interface_models, literals as _literal_models, common as _common_models
-from flytekit.models.core import workflow as _workflow_models, identifier as _identifier_model
-from flytekit.common.exceptions import system as _system_exceptions
-from flytekit.common import constants as _constants
+from flytekit.models import common as _common_models
+from flytekit.models import interface as _interface_models
+from flytekit.models import literals as _literal_models
 from flytekit.models.admin import workflow as _admin_workflow_model
+from flytekit.models.core import identifier as _identifier_model
+from flytekit.models.core import workflow as _workflow_models
 
 
 
[docs]class Output(object): - def __init__(self, name, value, sdk_type=None, help=None): """ :param Text name: @@ -202,7 +209,7 @@

Source code for flytekit.common.workflow

         sdk_type = _type_helpers.python_std_to_sdk_type(sdk_type)
 
         self._binding_data = _interface.BindingData.from_python_std(sdk_type.to_flyte_literal_type(), value)
-        self._var = _interface_models.Variable(sdk_type.to_flyte_literal_type(), help or '')
+        self._var = _interface_models.Variable(sdk_type.to_flyte_literal_type(), help or "")
         self._name = name
 
 
[docs] def rename_and_return_reference(self, new_name): @@ -212,8 +219,10 @@

Source code for flytekit.common.workflow

     @staticmethod
     def _infer_type(value):
         # TODO: Infer types
-        raise NotImplementedError("Currently the SDK cannot infer a workflow output type, so please use the type kwarg "
-                                  "when instantiating an output.")
+        raise NotImplementedError(
+            "Currently the SDK cannot infer a workflow output type, so please use the type kwarg "
+            "when instantiating an output."
+        )
 
     @property
     def name(self):
@@ -245,8 +254,18 @@ 

Source code for flytekit.common.workflow

         _registerable.RegisterableEntity,
     )
 ):
-
-    def __init__(self, inputs, outputs, nodes, id=None, metadata=None, metadata_defaults=None, interface=None, output_bindings=None):
+    def __init__(
+        self,
+        inputs,
+        outputs,
+        nodes,
+        id=None,
+        metadata=None,
+        metadata_defaults=None,
+        interface=None,
+        output_bindings=None,
+        disable_default_launch_plan=False,
+    ):
         """
         :param list[flytekit.common.promise.Input] inputs:
         :param list[Output] outputs:
@@ -261,6 +280,7 @@ 

Source code for flytekit.common.workflow

             the interface field must be bound
             in order for the workflow to be validated. A workflow has an implicit dependency on all of its nodes
             to execute successfully in order to bind final outputs.
+        :param bool disable_default_launch_plan: Determines whether to create a default launch plan for the workflow.
 
         """
         for n in nodes:
@@ -273,22 +293,30 @@ 

Source code for flytekit.common.workflow

                     )
 
         # Allow overrides if specified for all the arguments to the parent class constructor
-        id = id if id is not None else _identifier.Identifier(
-            _identifier_model.ResourceType.WORKFLOW,
-            _internal_config.PROJECT.get(),
-            _internal_config.DOMAIN.get(),
-            _uuid.uuid4().hex,
-            _internal_config.VERSION.get()
+        id = (
+            id
+            if id is not None
+            else _identifier.Identifier(
+                _identifier_model.ResourceType.WORKFLOW,
+                _internal_config.PROJECT.get(),
+                _internal_config.DOMAIN.get(),
+                _uuid.uuid4().hex,
+                _internal_config.VERSION.get(),
+            )
         )
         metadata = metadata if metadata is not None else _workflow_models.WorkflowMetadata()
 
-        interface = interface if interface is not None else _interface.TypedInterface(
-            {v.name: v.var for v in inputs},
-            {v.name: v.var for v in outputs}
+        interface = (
+            interface
+            if interface is not None
+            else _interface.TypedInterface({v.name: v.var for v in inputs}, {v.name: v.var for v in outputs})
         )
 
-        output_bindings = output_bindings if output_bindings is not None else \
-            [_literal_models.Binding(v.name, v.binding_data) for v in outputs]
+        output_bindings = (
+            output_bindings
+            if output_bindings is not None
+            else [_literal_models.Binding(v.name, v.binding_data) for v in outputs]
+        )
 
         super(SdkWorkflow, self).__init__(
             id=id,
@@ -300,6 +328,15 @@ 

Source code for flytekit.common.workflow

         )
         self._user_inputs = inputs
         self._upstream_entities = set(n.executable_sdk_object for n in nodes)
+        self._should_create_default_launch_plan = not disable_default_launch_plan
+
+    @property
+    def should_create_default_launch_plan(self):
+        """
+        Determines whether registration flow should create a default launch plan for this workflow or not.
+        :rtype: bool
+        """
+        return self._should_create_default_launch_plan
 
     @property
     def upstream_entities(self):
@@ -347,13 +384,14 @@ 

Source code for flytekit.common.workflow

         result = []
         for n in self.nodes:
             if n.workflow_node is not None and n.workflow_node.sub_workflow_ref is not None:
-                if n.executable_sdk_object is not None and n.executable_sdk_object.entity_type_text == 'Workflow':
+                if n.executable_sdk_object is not None and n.executable_sdk_object.entity_type_text == "Workflow":
                     result.append(n.executable_sdk_object)
                     result.extend(n.executable_sdk_object.get_sub_workflows())
                 else:
                     raise _system_exceptions.FlyteSystemException(
                         "workflow node with subworkflow found but bad executable "
-                        "object {}".format(n.executable_sdk_object))
+                        "object {}".format(n.executable_sdk_object)
+                    )
             # Ignore other node types (branch, task)
 
         return result
@@ -403,8 +441,9 @@

Source code for flytekit.common.workflow

         base_model_non_system_nodes = cls.get_non_system_nodes(base_model.nodes)
         sub_workflows = sub_workflows or {}
         tasks = tasks or {}
-        node_map = {n.id: _nodes.SdkNode.promote_from_model(n, sub_workflows, tasks)
-                    for n in base_model_non_system_nodes}
+        node_map = {
+            n.id: _nodes.SdkNode.promote_from_model(n, sub_workflows, tasks) for n in base_model_non_system_nodes
+        }
 
         # Set upstream nodes for each node
         for n in base_model_non_system_nodes:
@@ -415,7 +454,9 @@ 

Source code for flytekit.common.workflow

 
         # No inputs/outputs specified, see the constructor for more information on the overrides.
         return cls(
-            inputs=None, outputs=None, nodes=list(node_map.values()),
+            inputs=None,
+            outputs=None,
+            nodes=list(node_map.values()),
             id=_identifier.Identifier.promote_from_model(base_model.id),
             metadata=base_model.metadata,
             metadata_defaults=base_model.metadata_defaults,
@@ -432,19 +473,13 @@ 

Source code for flytekit.common.workflow

         :param Text version:
         """
         self.validate()
-        id_to_register = _identifier.Identifier(
-            _identifier_model.ResourceType.WORKFLOW,
-            project,
-            domain,
-            name,
-            version
-        )
+        id_to_register = _identifier.Identifier(_identifier_model.ResourceType.WORKFLOW, project, domain, name, version)
         old_id = self.id
         try:
             self._id = id_to_register
             _engine_loader.get_engine().get_workflow(self).register(id_to_register)
             return _six.text_type(self.id)
-        except:
+        except Exception:
             self._id = old_id
             raise
@@ -457,10 +492,7 @@

Source code for flytekit.common.workflow

         :rtype: flyteidl.admin.workflow_pb2.WorkflowSpec
         """
         sub_workflows = self.get_sub_workflows()
-        return _admin_workflow_model.WorkflowSpec(
-            self,
-            sub_workflows,
-        ).to_flyte_idl()
+ return _admin_workflow_model.WorkflowSpec(self, sub_workflows,).to_flyte_idl()
[docs] @_exception_scopes.system_entry_point def validate(self): @@ -468,17 +500,18 @@

Source code for flytekit.common.workflow

 
 
[docs] @_exception_scopes.system_entry_point def create_launch_plan( - self, - default_inputs=None, - fixed_inputs=None, - schedule=None, - role=None, - notifications=None, - labels=None, - annotations=None, - assumable_iam_role=None, - kubernetes_service_account=None, - cls=None + self, + default_inputs=None, + fixed_inputs=None, + schedule=None, + role=None, + notifications=None, + labels=None, + annotations=None, + assumable_iam_role=None, + kubernetes_service_account=None, + raw_output_data_prefix=None, + cls=None, ): """ This method will create a launch plan object that can execute this workflow. @@ -494,6 +527,8 @@

Source code for flytekit.common.workflow

         class provided should be a subclass of flytekit.common.launch_plan.SdkLaunchPlan.
         :param Text assumable_iam_role: The IAM role to execute the workflow with.
         :param Text kubernetes_service_account: The kubernetes service account to execute the workflow with.
+        :param Text raw_output_data_prefix: Bucket for offloaded data
+
         :rtype: flytekit.common.launch_plan.SdkRunnableLaunchPlan
         """
         # TODO: Actually ensure the parameters conform.
@@ -505,14 +540,16 @@ 

Source code for flytekit.common.workflow

 
         if role:
             assumable_iam_role = role
-        auth_role = _common_models.AuthRole(assumable_iam_role=assumable_iam_role,
-                                            kubernetes_service_account=kubernetes_service_account)
+        auth_role = _common_models.AuthRole(
+            assumable_iam_role=assumable_iam_role, kubernetes_service_account=kubernetes_service_account,
+        )
+
+        raw_output_config = _common_models.RawOutputDataConfig(raw_output_data_prefix or "")
 
         return (cls or _launch_plan.SdkRunnableLaunchPlan)(
             sdk_workflow=self,
             default_inputs={
-                k: user_input.rename_and_return_reference(k)
-                for k, user_input in _six.iteritems(merged_default_inputs)
+                k: user_input.rename_and_return_reference(k) for k, user_input in _six.iteritems(merged_default_inputs)
             },
             fixed_inputs=fixed_inputs,
             schedule=schedule,
@@ -520,6 +557,7 @@ 

Source code for flytekit.common.workflow

             labels=labels,
             annotations=annotations,
             auth_role=auth_role,
+            raw_output_data_config=raw_output_config,
         )
@_exception_scopes.system_entry_point @@ -531,21 +569,19 @@

Source code for flytekit.common.workflow

             )
 
         # Take the default values from the Inputs
-        compiled_inputs = {
-            v.name: v.sdk_default
-            for v in self.user_inputs if not v.sdk_required
-        }
+        compiled_inputs = {v.name: v.sdk_default for v in self.user_inputs if not v.sdk_required}
         compiled_inputs.update(input_map)
 
         bindings, upstream_nodes = self.interface.create_bindings_for_inputs(compiled_inputs)
 
         node = _nodes.SdkNode(
             id=None,
-            metadata=_workflow_models.NodeMetadata("placeholder", _datetime.timedelta(),
-                                                   _literal_models.RetryStrategy(0)),
+            metadata=_workflow_models.NodeMetadata(
+                "placeholder", _datetime.timedelta(), _literal_models.RetryStrategy(0)
+            ),
             upstream_nodes=upstream_nodes,
             bindings=sorted(bindings, key=lambda b: b.var),
-            sdk_workflow=self
+            sdk_workflow=self,
         )
         return node
@@ -590,39 +626,36 @@

Source code for flytekit.common.workflow

         elif isinstance(current_obj, _promise.Input):
             if attribute_name is None or attribute_name not in top_level_attributes:
                 raise _user_exceptions.FlyteValueException(
-                    attribute_name,
-                    "Detected workflow input specified outside of top level."
+                    attribute_name, "Detected workflow input specified outside of top level.",
                 )
             inputs.append(current_obj.rename_and_return_reference(attribute_name))
         elif isinstance(current_obj, Output):
             if attribute_name is None or attribute_name not in top_level_attributes:
                 raise _user_exceptions.FlyteValueException(
-                    attribute_name,
-                    "Detected workflow output specified outside of top level."
+                    attribute_name, "Detected workflow output specified outside of top level.",
                 )
             outputs.append(current_obj.rename_and_return_reference(attribute_name))
         elif isinstance(current_obj, list) or isinstance(current_obj, set) or isinstance(current_obj, tuple):
             for idx, value in enumerate(current_obj):
-                to_visit_objs.put(
-                    (_assign_indexed_attribute_name(attribute_name, idx), value))
+                to_visit_objs.put((_assign_indexed_attribute_name(attribute_name, idx), value))
         elif isinstance(current_obj, dict):
             # Visit dictionary keys.
             for key in current_obj.keys():
-                to_visit_objs.put(
-                    (_assign_indexed_attribute_name(attribute_name, key), key))
+                to_visit_objs.put((_assign_indexed_attribute_name(attribute_name, key), key))
             # Visit dictionary values.
             for key, value in _six.iteritems(current_obj):
-                to_visit_objs.put(
-                    (_assign_indexed_attribute_name(attribute_name, key), value))
+                to_visit_objs.put((_assign_indexed_attribute_name(attribute_name, key), value))
     return inputs, outputs, nodes
 
 
-
[docs]def build_sdk_workflow_from_metaclass(metaclass, on_failure=None, cls=None): +
[docs]def build_sdk_workflow_from_metaclass(metaclass, on_failure=None, disable_default_launch_plan=False, cls=None): """ :param T metaclass: :param cls: This is the class that will be instantiated from the inputs, outputs, and nodes. This will be used by users extending the base Flyte programming model. If set, it must be a subclass of SdkWorkflow. - :param on_failure flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy: [Optional] The execution policy when the workflow detects a failure. + :param flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy on_failure: [Optional] The execution policy + when the workflow detects a failure. + :param bool disable_default_launch_plan: Determines whether to create a default launch plan for the workflow or not. :rtype: SdkWorkflow """ inputs, outputs, nodes = _discover_workflow_components(metaclass) @@ -631,7 +664,8 @@

Source code for flytekit.common.workflow

         inputs=[i for i in sorted(inputs, key=lambda x: x.name)],
         outputs=[o for o in sorted(outputs, key=lambda x: x.name)],
         nodes=[n for n in sorted(nodes, key=lambda x: x.id)],
-        metadata=metadata
+        metadata=metadata,
+        disable_default_launch_plan=disable_default_launch_plan,
     )
diff --git a/_modules/flytekit/common/workflow_execution.html b/_modules/flytekit/common/workflow_execution.html index 2b95186edc..8553378a1f 100644 --- a/_modules/flytekit/common/workflow_execution.html +++ b/_modules/flytekit/common/workflow_execution.html @@ -8,7 +8,7 @@ - flytekit.common.workflow_execution — Flyte 0.6.0 documentation + flytekit.common.workflow_execution — Flyte 0.7.0 documentation @@ -163,7 +163,9 @@

Source code for flytekit.common.workflow_execution

from __future__ import absolute_import import six as _six -from flytekit.common import sdk_bases as _sdk_bases, nodes as _nodes + +from flytekit.common import nodes as _nodes +from flytekit.common import sdk_bases as _sdk_bases from flytekit.common.core import identifier as _core_identifier from flytekit.common.exceptions import user as _user_exceptions from flytekit.common.mixins import artifact as _artifact @@ -174,11 +176,7 @@

Source code for flytekit.common.workflow_execution

[docs]class SdkWorkflowExecution( - _six.with_metaclass( - _sdk_bases.ExtendedSdkType, - _execution_models.Execution, - _artifact.ExecutionArtifact - ) + _six.with_metaclass(_sdk_bases.ExtendedSdkType, _execution_models.Execution, _artifact.ExecutionArtifact,) ): def __init__(self, *args, **kwargs): super(SdkWorkflowExecution, self).__init__(*args, **kwargs) @@ -213,8 +211,9 @@

Source code for flytekit.common.workflow_execution

:rtype: dict[Text, T] or None """ if not self.is_complete: - raise _user_exceptions.FlyteAssertion("Please what until the node execution has completed before " - "requesting the outputs.") + raise _user_exceptions.FlyteAssertion( + "Please what until the node execution has completed before " "requesting the outputs." + ) if self.error: raise _user_exceptions.FlyteAssertion("Outputs could not be found because the execution ended in failure.") @@ -232,8 +231,9 @@

Source code for flytekit.common.workflow_execution

:rtype: flytekit.models.core.execution.ExecutionError or None """ if not self.is_complete: - raise _user_exceptions.FlyteAssertion("Please wait until a workflow has completed before checking for an " - "error.") + raise _user_exceptions.FlyteAssertion( + "Please wait until a workflow has completed before checking for an " "error." + ) return self.closure.error @property @@ -271,11 +271,7 @@

Source code for flytekit.common.workflow_execution

""" return cls.promote_from_model( _engine_loader.get_engine().fetch_workflow_execution( - _core_identifier.WorkflowExecutionIdentifier( - project=project, - domain=domain, - name=name - ) + _core_identifier.WorkflowExecutionIdentifier(project=project, domain=domain, name=name) ) )
@@ -302,10 +298,7 @@

Source code for flytekit.common.workflow_execution

:rtype: dict[Text, flytekit.common.nodes.SdkNodeExecution] """ models = _engine_loader.get_engine().get_workflow_execution(self).get_node_executions(filters=filters) - return { - k: _nodes.SdkNodeExecution.promote_from_model(v) - for k, v in _six.iteritems(models) - }
+ return {k: _nodes.SdkNodeExecution.promote_from_model(v) for k, v in _six.iteritems(models)}
[docs] def terminate(self, cause): """ diff --git a/_modules/flytekit/configuration.html b/_modules/flytekit/configuration.html index 527ae422d8..83f96f9260 100644 --- a/_modules/flytekit/configuration.html +++ b/_modules/flytekit/configuration.html @@ -8,7 +8,7 @@ - flytekit.configuration — Flyte 0.6.0 documentation + flytekit.configuration — Flyte 0.7.0 documentation @@ -161,14 +161,16 @@

Source code for flytekit.configuration

 from __future__ import absolute_import
+
 import logging as _logging
 import os as _os
+
 import six as _six
 
 try:
     import pathlib as _pathlib
 except ImportError:
-    import pathlib2 as _pathlib # python 2 backport
+    import pathlib2 as _pathlib  # python 2 backport
 
 
 
[docs]def set_flyte_config_file(config_file_path): @@ -177,6 +179,7 @@

Source code for flytekit.configuration

     """
     import flytekit.configuration.common as _common
     import flytekit.configuration.internal as _internal
+
     if config_file_path is not None:
         config_file_path = _os.path.abspath(config_file_path)
         if not _pathlib.Path(config_file_path).is_file():
@@ -189,15 +192,14 @@ 

Source code for flytekit.configuration

 
 
 
[docs]class TemporaryConfiguration(object): - def __init__(self, new_config_path, internal_overrides=None): """ :param Text new_config_path: """ import flytekit.configuration.common as _common + self._internal_overrides = { - _common.format_section_key('internal', k): v - for k, v in _six.iteritems(internal_overrides or {}) + _common.format_section_key("internal", k): v for k, v in _six.iteritems(internal_overrides or {}) } self._new_config_path = new_config_path self._old_config_path = None @@ -206,10 +208,7 @@

Source code for flytekit.configuration

     def __enter__(self):
         import flytekit.configuration.internal as _internal
 
-        self._old_internals = {
-            k: _os.environ.get(k)
-            for k in _six.iterkeys(self._internal_overrides)
-        }
+        self._old_internals = {k: _os.environ.get(k) for k in _six.iterkeys(self._internal_overrides)}
         self._old_config_path = _os.environ.get(_internal.CONFIGURATION_PATH.env_var)
         _os.environ.update(self._internal_overrides)
         set_flyte_config_file(self._new_config_path)
diff --git a/_modules/flytekit/configuration/common.html b/_modules/flytekit/configuration/common.html
index 81610beebc..4be8a15570 100644
--- a/_modules/flytekit/configuration/common.html
+++ b/_modules/flytekit/configuration/common.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.configuration.common — Flyte 0.6.0 documentation
+  flytekit.configuration.common — Flyte 0.7.0 documentation
   
 
   
@@ -165,9 +165,9 @@ 

Source code for flytekit.configuration.common

from __future__ import absolute_import import abc as _abc +import configparser as _configparser import os as _os -import configparser as _configparser import six as _six from flytekit.common.exceptions import user as _user_exceptions @@ -179,11 +179,10 @@

Source code for flytekit.configuration.common

:param Text key: :rtype: Text """ - return 'FLYTE_{section}_{key}'.format(section=section.upper(), key=key.upper())
+ return "FLYTE_{section}_{key}".format(section=section.upper(), key=key.upper())
[docs]class FlyteConfigurationFile(object): - def __init__(self, location=None): """ This singleton is initialized on module load with empty location. If pyflyte is called with @@ -199,9 +198,11 @@

Source code for flytekit.configuration.common

if self._config is None and self._location: config = _configparser.ConfigParser() config.read(self._location) - if config.has_section('internal'): - raise _user_exceptions.FlyteAssertion("The config file '{}' cannot contain a section for internal " - "only configurations.".format(self._location)) + if config.has_section("internal"): + raise _user_exceptions.FlyteAssertion( + "The config file '{}' cannot contain a section for internal " + "only configurations.".format(self._location) + ) self._config = config
[docs] def get_string(self, section, key, default=None): @@ -215,7 +216,7 @@

Source code for flytekit.configuration.common

if self._config is not None: try: return self._config.get(section, key, fallback=default) - except: + except Exception: pass return default
@@ -230,7 +231,7 @@

Source code for flytekit.configuration.common

if self._config is not None: try: return self._config.getint(section, key, fallback=default) - except: + except Exception: pass return default
@@ -245,7 +246,7 @@

Source code for flytekit.configuration.common

if self._config is not None: try: return self._config.getboolean(section, key, fallback=default) - except: + except Exception: pass return default
@@ -253,12 +254,11 @@

Source code for flytekit.configuration.common

""" :param Text location: """ - self._location = location or _os.environ.get('FLYTE_INTERNAL_CONFIGURATION_PATH') + self._location = location or _os.environ.get("FLYTE_INTERNAL_CONFIGURATION_PATH") self._config = None
class _FlyteConfigurationPatcher(object): - def __init__(self, new_value, config): """ :param Text new_value: @@ -291,13 +291,12 @@

Source code for flytekit.configuration.common

:rtype: Text """ if _os.path.isfile(location): - with open(location, 'r') as f: - return f.read().replace('\n', '') + with open(location, "r") as f: + return f.read().replace("\n", "") return None class _FlyteConfigurationEntry(_six.with_metaclass(_abc.ABCMeta, object)): - def __init__(self, section, key, default=None, validator=None, fallback=None): self._section = section self._key = key @@ -364,22 +363,14 @@

Source code for flytekit.configuration.common

class _FlyteRequiredConfigurationEntry(_FlyteConfigurationEntry): - def __init__(self, section, key, validator=None): - super(_FlyteRequiredConfigurationEntry, self).__init__( - section, - key, - validator=self._validate_not_null - ) + super(_FlyteRequiredConfigurationEntry, self).__init__(section, key, validator=self._validate_not_null) self._extra_validator = validator def _validate_not_null(self, val): if val is None: raise _user_exceptions.FlyteAssertion( - "No configuration set for [{}] {}. This is a required configuration.".format( - self._section, - self._key - ) + "No configuration set for [{}] {}. This is a required configuration.".format(self._section, self._key) ) if self._extra_validator: self._extra_validator(val) @@ -411,7 +402,7 @@

Source code for flytekit.configuration.common

return CONFIGURATION_SINGLETON.get_bool(self._section, self._key, default=self._default) else: # Because bool('False') is True, compare to the same values that ConfigParser uses - if val.lower() in ['false', '0', 'off', 'no']: + if val.lower() in ["false", "0", "off", "no"]: return False return True
@@ -423,7 +414,7 @@

Source code for flytekit.configuration.common

val = CONFIGURATION_SINGLETON.get_string(self._section, self._key) if val is None: return self._default - return val.split(',')
+ return val.split(",")
[docs]class FlyteRequiredStringConfigurationEntry(_FlyteRequiredConfigurationEntry): @@ -457,7 +448,7 @@

Source code for flytekit.configuration.common

val = CONFIGURATION_SINGLETON.get_string(self._section, self._key) if val is None: return self._default - return val.split(',')
+ return val.split(",")
CONFIGURATION_SINGLETON = FlyteConfigurationFile() diff --git a/_modules/flytekit/configuration/internal.html b/_modules/flytekit/configuration/internal.html index e63c538f85..8a998864d3 100644 --- a/_modules/flytekit/configuration/internal.html +++ b/_modules/flytekit/configuration/internal.html @@ -8,7 +8,7 @@ - flytekit.configuration.internal — Flyte 0.6.0 documentation + flytekit.configuration.internal — Flyte 0.7.0 documentation @@ -168,39 +168,40 @@

Source code for flytekit.configuration.internal

< from flytekit.configuration import common as _common_config -IMAGE = _common_config.FlyteRequiredStringConfigurationEntry('internal', 'image') +IMAGE = _common_config.FlyteRequiredStringConfigurationEntry("internal", "image") # This configuration option specifies the path to the file that holds the configuration options. Don't worry, # there will not be cycles because the parsing of the configuration file intentionally will not read and settings # in the [internal] section. # The default, if you want to use it, should be a file called flytekit.config, located in wherever your python # interpreter originates. -CONFIGURATION_PATH = _common_config.FlyteStringConfigurationEntry('internal', 'configuration_path', - default='flytekit.config') +CONFIGURATION_PATH = _common_config.FlyteStringConfigurationEntry( + "internal", "configuration_path", default="flytekit.config" +) # Project, Domain and Version represent the values at registration time. -PROJECT = _common_config.FlyteStringConfigurationEntry('internal', 'project', default="") -DOMAIN = _common_config.FlyteStringConfigurationEntry('internal', 'domain', default="") -NAME = _common_config.FlyteStringConfigurationEntry('internal', 'name', default="") -VERSION = _common_config.FlyteStringConfigurationEntry('internal', 'version', default="") +PROJECT = _common_config.FlyteStringConfigurationEntry("internal", "project", default="") +DOMAIN = _common_config.FlyteStringConfigurationEntry("internal", "domain", default="") +NAME = _common_config.FlyteStringConfigurationEntry("internal", "name", default="") +VERSION = _common_config.FlyteStringConfigurationEntry("internal", "version", default="") # Project, Domain and Version represent the values at registration time. -TASK_PROJECT = _common_config.FlyteStringConfigurationEntry('internal', 'task_project', default="") -TASK_DOMAIN = _common_config.FlyteStringConfigurationEntry('internal', 'task_domain', default="") -TASK_NAME = _common_config.FlyteStringConfigurationEntry('internal', 'task_name', default="") -TASK_VERSION = _common_config.FlyteStringConfigurationEntry('internal', 'task_version', default="") +TASK_PROJECT = _common_config.FlyteStringConfigurationEntry("internal", "task_project", default="") +TASK_DOMAIN = _common_config.FlyteStringConfigurationEntry("internal", "task_domain", default="") +TASK_NAME = _common_config.FlyteStringConfigurationEntry("internal", "task_name", default="") +TASK_VERSION = _common_config.FlyteStringConfigurationEntry("internal", "task_version", default="") # Execution project and domain represent the values passed by execution engine at runtime. -EXECUTION_PROJECT = _common_config.FlyteStringConfigurationEntry('internal', 'execution_project', default="") -EXECUTION_DOMAIN = _common_config.FlyteStringConfigurationEntry('internal', 'execution_domain', default="") -EXECUTION_WORKFLOW = _common_config.FlyteStringConfigurationEntry('internal', 'execution_workflow', default="") -EXECUTION_LAUNCHPLAN = _common_config.FlyteStringConfigurationEntry('internal', 'execution_launchplan', default="") -EXECUTION_NAME = _common_config.FlyteStringConfigurationEntry('internal', 'execution_id', default="") +EXECUTION_PROJECT = _common_config.FlyteStringConfigurationEntry("internal", "execution_project", default="") +EXECUTION_DOMAIN = _common_config.FlyteStringConfigurationEntry("internal", "execution_domain", default="") +EXECUTION_WORKFLOW = _common_config.FlyteStringConfigurationEntry("internal", "execution_workflow", default="") +EXECUTION_LAUNCHPLAN = _common_config.FlyteStringConfigurationEntry("internal", "execution_launchplan", default="") +EXECUTION_NAME = _common_config.FlyteStringConfigurationEntry("internal", "execution_id", default="") # This is another layer of logging level, which can be set by propeller, and can override the SDK configuration if # necessary. (See the sdk.py version of this as well.) -LOGGING_LEVEL = _common_config.FlyteIntegerConfigurationEntry('internal', 'logging_level') +LOGGING_LEVEL = _common_config.FlyteIntegerConfigurationEntry("internal", "logging_level") -_IMAGE_VERSION_REGEX = '.*:(.+)' +_IMAGE_VERSION_REGEX = ".*:(.+)"
[docs]def look_up_version_from_image_tag(tag): @@ -216,14 +217,13 @@

Source code for flytekit.configuration.internal

< :param Text tag: e.g. somedocker.com/myimage:someversion123 :rtype: Text """ - if tag is None or tag == '': - raise Exception('Bad input for image tag {}'.format(tag)) + if tag is None or tag == "": + raise Exception("Bad input for image tag {}".format(tag)) m = re.match(_IMAGE_VERSION_REGEX, tag) if m is not None: return m.group(1) - raise Exception('Could not parse image version from configuration. Did you set it in the' - 'Dockerfile?')
+ raise Exception("Could not parse image version from configuration. Did you set it in the" "Dockerfile?")
diff --git a/_modules/flytekit/contrib/notebook/helper.html b/_modules/flytekit/contrib/notebook/helper.html index a0cceb5436..5ec48bc455 100644 --- a/_modules/flytekit/contrib/notebook/helper.html +++ b/_modules/flytekit/contrib/notebook/helper.html @@ -8,7 +8,7 @@ - flytekit.contrib.notebook.helper — Flyte 0.6.0 documentation + flytekit.contrib.notebook.helper — Flyte 0.7.0 documentation @@ -160,11 +160,14 @@

Source code for flytekit.contrib.notebook.helper

-from flytekit.common.types.helpers import pack_python_std_map_to_literal_map as _packer
-from flytekit.contrib.notebook.supported_types import notebook_types_map as _notebook_types_map
+import os as _os
+
 import six as _six
-from pyspark import SparkConf, SparkContext
-import os as _os
+
+from flytekit.common.types.helpers import pack_python_std_map_to_literal_map as _packer
+from flytekit.contrib.notebook.supported_types import notebook_types_map as _notebook_types_map
+from flytekit.plugins import pyspark as _pyspark
+
 
 
[docs]def record_outputs(outputs=None): """ @@ -177,7 +180,10 @@

Source code for flytekit.contrib.notebook.helper

t = type(v) if t not in _notebook_types_map: raise ValueError( - "Currently only primitive types {} are supported for recording from notebook".format(_notebook_types_map)) + "Currently only primitive types {} are supported for recording from notebook".format( + _notebook_types_map + ) + ) tm[k] = _notebook_types_map[t] return _packer(outputs, tm).to_flyte_idl()
@@ -185,18 +191,18 @@

Source code for flytekit.contrib.notebook.helper

# TODO: Support Client Mode
[docs]def get_spark_context(spark_conf): """ - outputs: SparkContext - Returns appropriate SparkContext based on whether invoked via a Notebook or a Flyte workflow. + outputs: SparkContext + Returns appropriate SparkContext based on whether invoked via a Notebook or a Flyte workflow. """ # We run in cluster-mode in Flyte. # Ref https://github.com/lyft/flyteplugins/blob/master/go/tasks/v1/flytek8s/k8s_resource_adds.go#L46 if "FLYTE_INTERNAL_EXECUTION_ID" in _os.environ: - return SparkContext() + return _pyspark.SparkContext() # Add system spark-conf for local/notebook based execution. spark_conf.add(("spark.master", "local")) - conf = SparkConf().setAll(spark_conf) - return SparkContext(conf=conf)
+ conf = _pyspark.SparkConf().setAll(spark_conf) + return _pyspark.SparkContext(conf=conf)
diff --git a/_modules/flytekit/contrib/notebook/tasks.html b/_modules/flytekit/contrib/notebook/tasks.html index a905d9b26c..397029e0e5 100644 --- a/_modules/flytekit/contrib/notebook/tasks.html +++ b/_modules/flytekit/contrib/notebook/tasks.html @@ -8,7 +8,7 @@ - flytekit.contrib.notebook.tasks — Flyte 0.6.0 documentation + flytekit.contrib.notebook.tasks — Flyte 0.7.0 documentation @@ -160,49 +160,59 @@

Source code for flytekit.contrib.notebook.tasks

-import os as _os
-import json as _json
-import papermill as _pm
-from google.protobuf import text_format as _text_format, json_format as _json_format
+import datetime as _datetime
 import importlib as _importlib
-import datetime as _datetime
+import inspect as _inspect
+import json as _json
+import os as _os
 import sys as _sys
+
+import papermill as _pm
 import six as _six
+from google.protobuf import json_format as _json_format
+from google.protobuf import text_format as _text_format
+
 from flytekit import __version__
 from flytekit.bin import entrypoint as _entrypoint
-from flytekit.sdk.types import Types as _Types
-from flytekit.common.types import helpers as _type_helpers, primitives as _primitives
-from flytekit.common import constants as _constants, sdk_bases as _sdk_bases, interface as _interface2
-from flytekit.common.exceptions import scopes as _exception_scopes, user as _user_exceptions
-from flytekit.common.tasks import sdk_runnable as _sdk_runnable, spark_task as _spark_task,\
-    output as _task_output, task as _base_tasks
-from flytekit.models import literals as _literal_models, task as _task_models, interface as _interface
+from flytekit.common import constants as _constants
+from flytekit.common import interface as _interface2
+from flytekit.common.exceptions import scopes as _exception_scopes
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.tasks import output as _task_output
+from flytekit.common.tasks import sdk_runnable as _sdk_runnable
+from flytekit.common.tasks import spark_task as _spark_task
+from flytekit.common.tasks import task as _base_tasks
+from flytekit.common.types import helpers as _type_helpers
+from flytekit.contrib.notebook.supported_types import notebook_types_map as _notebook_types_map
 from flytekit.engines import loader as _engine_loader
-import inspect as _inspect
+from flytekit.models import interface as _interface
+from flytekit.models import literals as _literal_models
+from flytekit.models import task as _task_models
 from flytekit.sdk.spark_types import SparkType as _spark_type
-from flytekit.contrib.notebook.supported_types import notebook_types_map as _notebook_types_map
+from flytekit.sdk.types import Types as _Types
+
+OUTPUT_NOTEBOOK = "output_notebook"
 
-OUTPUT_NOTEBOOK = 'output_notebook'
-
[docs]def python_notebook( - notebook_path='', - inputs={}, - outputs={}, - cache_version='', - retries=0, - deprecated='', - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - cache=False, - timeout=None, - environment=None, - cls=None, +
[docs]def python_notebook( + notebook_path="", + inputs={}, + outputs={}, + cache_version="", + retries=0, + deprecated="", + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + cache=False, + timeout=None, + environment=None, + cls=None, ): """ Decorator to create a Python Notebook Task definition. @@ -210,25 +220,26 @@

Source code for flytekit.contrib.notebook.tasks

< :rtype: SdkNotebookTask """ return SdkNotebookTask( - notebook_path=notebook_path, - inputs=inputs, - outputs=outputs, - task_type=_constants.SdkTaskType.PYTHON_TASK, - discovery_version=cache_version, - retries=retries, - deprecated=deprecated, - storage_request=storage_request, - cpu_request=cpu_request, - gpu_request=gpu_request, - memory_request=memory_request, - storage_limit=storage_limit, - cpu_limit=cpu_limit, - gpu_limit=gpu_limit, - memory_limit=memory_limit, - discoverable=cache, - timeout=timeout or _datetime.timedelta(seconds=0), - environment=environment, - custom={})
+ notebook_path=notebook_path, + inputs=inputs, + outputs=outputs, + task_type=_constants.SdkTaskType.PYTHON_TASK, + discovery_version=cache_version, + retries=retries, + deprecated=deprecated, + storage_request=storage_request, + cpu_request=cpu_request, + gpu_request=gpu_request, + memory_request=memory_request, + storage_limit=storage_limit, + cpu_limit=cpu_limit, + gpu_limit=gpu_limit, + memory_limit=memory_limit, + discoverable=cache, + timeout=timeout or _datetime.timedelta(seconds=0), + environment=environment, + custom={}, + )
[docs]class SdkNotebookTask(_base_tasks.SdkTask): @@ -239,26 +250,26 @@

Source code for flytekit.contrib.notebook.tasks

< """ def __init__( - self, - notebook_path, - inputs, - outputs, - task_type, - discovery_version, - retries, - deprecated, - storage_request, - cpu_request, - gpu_request, - memory_request, - storage_limit, - cpu_limit, - gpu_limit, - memory_limit, - discoverable, - timeout, - environment, - custom + self, + notebook_path, + inputs, + outputs, + task_type, + discovery_version, + retries, + deprecated, + storage_request, + cpu_request, + gpu_request, + memory_request, + storage_limit, + cpu_limit, + gpu_limit, + memory_limit, + discoverable, + timeout, + environment, + custom, ): if _os.path.isabs(notebook_path) is False: @@ -274,15 +285,13 @@

Source code for flytekit.contrib.notebook.tasks

< _task_models.TaskMetadata( discoverable, _task_models.RuntimeMetadata( - _task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, - __version__, - 'notebook' + _task_models.RuntimeMetadata.RuntimeType.FLYTE_SDK, __version__, "notebook", ), timeout, _literal_models.RetryStrategy(retries), False, discovery_version, - deprecated + deprecated, ), _interface2.TypedInterface({}, {}), custom, @@ -295,8 +304,8 @@

Source code for flytekit.contrib.notebook.tasks

< cpu_limit=cpu_limit, gpu_limit=gpu_limit, memory_limit=memory_limit, - environment=environment - ) + environment=environment, + ), ) # Add Inputs if inputs is not None: @@ -307,8 +316,9 @@

Source code for flytekit.contrib.notebook.tasks

< outputs(self) # Add a Notebook output as a Blob. - self.interface.outputs.update(output_notebook=_interface.Variable(_Types.Blob.to_flyte_literal_type(), OUTPUT_NOTEBOOK)) - + self.interface.outputs.update( + output_notebook=_interface.Variable(_Types.Blob.to_flyte_literal_type(), OUTPUT_NOTEBOOK) + ) def _validate_inputs(self, inputs): """ @@ -316,7 +326,7 @@

Source code for flytekit.contrib.notebook.tasks

< :raises: flytekit.common.exceptions.user.FlyteValidationException """ for k, v in _six.iteritems(inputs): - sdk_type =_type_helpers.get_sdk_type_from_literal_type(v.type) + sdk_type = _type_helpers.get_sdk_type_from_literal_type(v.type) if sdk_type not in _notebook_types_map.values(): raise _user_exceptions.FlyteValidationException( "Input Type '{}' not supported. Only Primitives are supported for notebook.".format(sdk_type) @@ -335,7 +345,8 @@

Source code for flytekit.contrib.notebook.tasks

< if k == OUTPUT_NOTEBOOK: raise ValueError( - "{} is a reserved output keyword. Please use a different output name.".format(OUTPUT_NOTEBOOK)) + "{} is a reserved output keyword. Please use a different output name.".format(OUTPUT_NOTEBOOK) + ) sdk_type = _type_helpers.get_sdk_type_from_literal_type(v.type) if sdk_type not in _notebook_types_map.values(): @@ -374,11 +385,18 @@

Source code for flytekit.contrib.notebook.tasks

< :returns: Depends on the behavior of the specific task in the unit engine. """ - return _engine_loader.get_engine('unit').get_task(self).execute( - _type_helpers.pack_python_std_map_to_literal_map(input_map, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) - for k, v in _six.iteritems(self.interface.inputs) - }) + return ( + _engine_loader.get_engine("unit") + .get_task(self) + .execute( + _type_helpers.pack_python_std_map_to_literal_map( + input_map, + { + k: _type_helpers.get_sdk_type_from_literal_type(v.type) + for k, v in _six.iteritems(self.interface.inputs) + }, + ) + ) )
[docs] @_exception_scopes.system_entry_point @@ -389,11 +407,18 @@

Source code for flytekit.contrib.notebook.tasks

< :rtype: dict[Text, T] :returns: The output produced by this task in Python standard format. """ - return _engine_loader.get_engine('local').get_task(self).execute( - _type_helpers.pack_python_std_map_to_literal_map(input_map, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) - for k, v in _six.iteritems(self.interface.inputs) - }) + return ( + _engine_loader.get_engine("local") + .get_task(self) + .execute( + _type_helpers.pack_python_std_map_to_literal_map( + input_map, + { + k: _type_helpers.get_sdk_type_from_literal_type(v.type) + for k, v in _six.iteritems(self.interface.inputs) + }, + ) + ) )
[docs] @_exception_scopes.system_entry_point @@ -408,27 +433,24 @@

Source code for flytekit.contrib.notebook.tasks

< working directory (with the names provided), which will in turn allow Flyte Propeller to push along the workflow. Where as local engine will merely feed the outputs directly into the next node. """ - inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std(inputs, { - k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs) - }) + inputs_dict = _type_helpers.unpack_literal_map_to_sdk_python_std( + inputs, + {k: _type_helpers.get_sdk_type_from_literal_type(v.type) for k, v in _six.iteritems(self.interface.inputs)}, + ) input_notebook_path = self._notebook_path # Execute Notebook via Papermill. - output_notebook_path = input_notebook_path.split(".ipynb")[0] + '-out.ipynb' - _pm.execute_notebook( - input_notebook_path, - output_notebook_path, - parameters=inputs_dict - ) + output_notebook_path = input_notebook_path.split(".ipynb")[0] + "-out.ipynb" + _pm.execute_notebook(input_notebook_path, output_notebook_path, parameters=inputs_dict) # Parse Outputs from Notebook. outputs = None with open(output_notebook_path) as json_file: data = _json.load(json_file) - for p in data['cells']: - meta = p['metadata'] + for p in data["cells"]: + meta = p["metadata"] if "outputs" in meta["tags"]: - outputs = ' '.join(p['outputs'][0]['data']['text/plain']) + outputs = " ".join(p["outputs"][0]["data"]["text/plain"]) if outputs is not None: dict = _literal_models._literals_pb2.LiteralMap() @@ -436,15 +458,14 @@

Source code for flytekit.contrib.notebook.tasks

< # Add output_notebook as an output to the task. output_notebook = _task_output.OutputReference( - _type_helpers.get_sdk_type_from_literal_type(_Types.Blob.to_flyte_literal_type())) + _type_helpers.get_sdk_type_from_literal_type(_Types.Blob.to_flyte_literal_type()) + ) output_notebook.set(output_notebook_path) output_literal_map = _literal_models.LiteralMap.from_flyte_idl(dict) output_literal_map.literals[OUTPUT_NOTEBOOK] = output_notebook.sdk_value - return { - _constants.OUTPUT_FILE_NAME: output_literal_map - }
+ return {_constants.OUTPUT_FILE_NAME: output_literal_map}
@property def container(self): @@ -469,21 +490,24 @@

Source code for flytekit.contrib.notebook.tasks

< "--inputs", "{{.input}}", "--output-prefix", - "{{.outputPrefix}}"] + "{{.outputPrefix}}", + "--raw-output-data-prefix", + "{{.rawOutputDataPrefix}}", + ] return self._container def _get_container_definition( - self, - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - environment=None, - **kwargs + self, + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + environment=None, + **kwargs ): """ :param Text storage_request: @@ -506,61 +530,29 @@

Source code for flytekit.contrib.notebook.tasks

< requests = [] if storage_request: requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.STORAGE, - storage_request - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.STORAGE, storage_request) ) if cpu_request: - requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.CPU, - cpu_request - ) - ) + requests.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.CPU, cpu_request)) if gpu_request: - requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.GPU, - gpu_request - ) - ) + requests.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.GPU, gpu_request)) if memory_request: requests.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.MEMORY, - memory_request - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.MEMORY, memory_request) ) limits = [] if storage_limit: limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.STORAGE, - storage_limit - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.STORAGE, storage_limit) ) if cpu_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.CPU, - cpu_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.CPU, cpu_limit)) if gpu_limit: - limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.GPU, - gpu_limit - ) - ) + limits.append(_task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.GPU, gpu_limit)) if memory_limit: limits.append( - _task_models.Resources.ResourceEntry( - _task_models.Resources.ResourceName.MEMORY, - memory_limit - ) + _task_models.Resources.ResourceEntry(_task_models.Resources.ResourceName.MEMORY, memory_limit) ) return _sdk_runnable.SdkRunnableContainer( @@ -568,45 +560,45 @@

Source code for flytekit.contrib.notebook.tasks

< args=[], resources=_task_models.Resources(limits=limits, requests=requests), env=environment, - config={} + config={}, )
[docs]def spark_notebook( - notebook_path, - inputs={}, - outputs={}, - spark_conf=None, - cache_version='', - retries=0, - deprecated='', - cache=False, - timeout=None, - environment=None, + notebook_path, + inputs={}, + outputs={}, + spark_conf=None, + cache_version="", + retries=0, + deprecated="", + cache=False, + timeout=None, + environment=None, ): """ Decorator to create a Notebook spark task. This task will connect to a Spark cluster, configure the environment, and then execute the code within the notebook_path as the Spark driver program. """ return SdkNotebookSparkTask( - notebook_path=notebook_path, - inputs=inputs, - outputs=outputs, - spark_conf=spark_conf, - discovery_version=cache_version, - retries=retries, - deprecated=deprecated, - discoverable=cache, - timeout=timeout or _datetime.timedelta(seconds=0), - environment=environment or {}, - )
+ notebook_path=notebook_path, + inputs=inputs, + outputs=outputs, + spark_conf=spark_conf, + discovery_version=cache_version, + retries=retries, + deprecated=deprecated, + discoverable=cache, + timeout=timeout or _datetime.timedelta(seconds=0), + environment=environment or {}, + )
def _find_instance_module(): frame = _inspect.currentframe() while frame: - if frame.f_code.co_name == '<module>': - return frame.f_globals['__name__'] + if frame.f_code.co_name == "<module>": + return frame.f_globals["__name__"] frame = frame.f_back return None @@ -619,40 +611,40 @@

Source code for flytekit.contrib.notebook.tasks

< """ def __init__( - self, - notebook_path, - inputs, - outputs, - spark_conf, - discovery_version, - retries, - deprecated, - discoverable, - timeout, - environment=None, + self, + notebook_path, + inputs, + outputs, + spark_conf, + discovery_version, + retries, + deprecated, + discoverable, + timeout, + environment=None, ): spark_exec_path = _os.path.abspath(_entrypoint.__file__) - if spark_exec_path.endswith('.pyc'): + if spark_exec_path.endswith(".pyc"): spark_exec_path = spark_exec_path[:-1] if spark_conf is None: # Parse spark_conf from notebook if not set at task_level. with open(notebook_path) as json_file: data = _json.load(json_file) - for p in data['cells']: - meta = p['metadata'] + for p in data["cells"]: + meta = p["metadata"] if "tags" in meta: if "conf" in meta["tags"]: - sc_str = ' '.join(p["source"]) + sc_str = " ".join(p["source"]) ldict = {} - exec (sc_str, globals(), ldict) - spark_conf = ldict['spark_conf'] + exec(sc_str, globals(), ldict) + spark_conf = ldict["spark_conf"] spark_job = _task_models.SparkJob( spark_conf=spark_conf, - main_class= "", - spark_type= _spark_type.PYTHON, + main_class="", + spark_type=_spark_type.PYTHON, hadoop_conf={}, application_file="local://" + spark_exec_path, executor_path=_sys.executable, @@ -680,11 +672,7 @@

Source code for flytekit.contrib.notebook.tasks

< _json_format.MessageToDict(spark_job), ) - def _get_container_definition( - self, - environment=None, - **kwargs - ): + def _get_container_definition(self, environment=None, **kwargs): """ :rtype: flytekit.models.task.Container """ @@ -694,7 +682,7 @@

Source code for flytekit.contrib.notebook.tasks

< args=[], resources=_task_models.Resources(limits=[], requests=[]), env=environment or {}, - config={} + config={}, )
diff --git a/_modules/flytekit/contrib/sensors/base_sensor.html b/_modules/flytekit/contrib/sensors/base_sensor.html index b3c6b8b23c..3f3c7e4567 100644 --- a/_modules/flytekit/contrib/sensors/base_sensor.html +++ b/_modules/flytekit/contrib/sensors/base_sensor.html @@ -8,7 +8,7 @@ - flytekit.contrib.sensors.base_sensor — Flyte 0.6.0 documentation + flytekit.contrib.sensors.base_sensor — Flyte 0.7.0 documentation @@ -164,16 +164,15 @@

Source code for flytekit.contrib.sensors.base_sensor

import abc as _abc import datetime as _datetime +import logging as _logging import sys as _sys import time as _time import traceback as _traceback import six as _six -import logging as _logging
[docs]class Sensor(_six.with_metaclass(_abc.ABCMeta, object)): - def __init__(self, evaluation_interval=None, max_failures=0): """ :param datetime.timedelta evaluation_interval: This is the time to wait between evaluation attempts of this diff --git a/_modules/flytekit/contrib/sensors/impl.html b/_modules/flytekit/contrib/sensors/impl.html index 73a99cc708..0749f97afa 100644 --- a/_modules/flytekit/contrib/sensors/impl.html +++ b/_modules/flytekit/contrib/sensors/impl.html @@ -8,7 +8,7 @@ - flytekit.contrib.sensors.impl — Flyte 0.6.0 documentation + flytekit.contrib.sensors.impl — Flyte 0.7.0 documentation @@ -162,19 +162,12 @@

Source code for flytekit.contrib.sensors.impl

 from __future__ import absolute_import
 
-from flytekit.plugins import hmsclient as _hmsclient
 from flytekit.contrib.sensors.base_sensor import Sensor as _Sensor
+from flytekit.plugins import hmsclient as _hmsclient
 
 
 class _HiveSensor(_Sensor):
-
-    def __init__(
-        self,
-        host,
-        port,
-        schema='default',
-        **kwargs
-    ):
+    def __init__(self, host, port, schema="default", **kwargs):
         """
         :param Text host:
         :param Text port:
@@ -190,14 +183,7 @@ 

Source code for flytekit.contrib.sensors.impl

[docs]class HiveTableSensor(_HiveSensor): - - def __init__( - self, - table_name, - host, - port, - **kwargs - ): + def __init__(self, table_name, host, port, **kwargs): """ :param Text host: The host for the Hive metastore Thrift service. :param Text port: The port for the Hive metastore Thrift Service @@ -205,11 +191,7 @@

Source code for flytekit.contrib.sensors.impl

:param **kwargs: See _HiveSensor and flytekit.contrib.sensors.base_sensor.Sensor for more parameters. """ - super(HiveTableSensor, self).__init__( - host, - port, - **kwargs - ) + super(HiveTableSensor, self).__init__(host, port, **kwargs) self._table_name = table_name def _do_poll(self): @@ -225,15 +207,7 @@

Source code for flytekit.contrib.sensors.impl

[docs]class HiveNamedPartitionSensor(_HiveSensor): - - def __init__( - self, - table_name, - partition_names, - host, - port, - **kwargs - ): + def __init__(self, table_name, partition_names, host, port, **kwargs): """ This class allows sensing for a specific named Hive Partition. This is the preferred partition sensing operator because it is more efficient than evaluating a filter expression. @@ -263,15 +237,7 @@

Source code for flytekit.contrib.sensors.impl

[docs]class HiveFilteredPartitionSensor(_HiveSensor): - - def __init__( - self, - table_name, - partition_filter, - host, - port, - **kwargs - ): + def __init__(self, table_name, partition_filter, host, port, **kwargs): """ This class allows sensing for any Hive partition that matches a filter expression. It is recommended that the user should use HiveNamedPartitionSensor instead when possible because it is a more efficient API. @@ -284,11 +250,7 @@

Source code for flytekit.contrib.sensors.impl

:param **kwargs: See _HiveSensor and flytekit.contrib.sensors.base_sensor.Sensor for more parameters. """ - super(HiveFilteredPartitionSensor, self).__init__( - host, - port, - **kwargs - ) + super(HiveFilteredPartitionSensor, self).__init__(host, port, **kwargs) self._table_name = table_name self._partition_filter = partition_filter @@ -298,10 +260,7 @@

Source code for flytekit.contrib.sensors.impl

""" with self._hive_metastore_client as client: partitions = client.get_partitions_by_filter( - db_name=self._schema, - tbl_name=self._table_name, - filter=self._partition_filter, - max_parts=1, + db_name=self._schema, tbl_name=self._table_name, filter=self._partition_filter, max_parts=1, ) if partitions: return True, None diff --git a/_modules/flytekit/contrib/sensors/task.html b/_modules/flytekit/contrib/sensors/task.html index 15e6e1fa02..01aa6ef8a4 100644 --- a/_modules/flytekit/contrib/sensors/task.html +++ b/_modules/flytekit/contrib/sensors/task.html @@ -8,7 +8,7 @@ - flytekit.contrib.sensors.task — Flyte 0.6.0 documentation + flytekit.contrib.sensors.task — Flyte 0.7.0 documentation @@ -161,6 +161,7 @@

Source code for flytekit.contrib.sensors.task

 from __future__ import absolute_import
+
 from flytekit.common import constants as _common_constants
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.tasks import sdk_runnable as _sdk_runnable
@@ -173,8 +174,7 @@ 

Source code for flytekit.contrib.sensors.task

if sensor is not None: if not isinstance(sensor, _Sensor): raise _user_exceptions.FlyteTypeException( - received_type=type(sensor), - expected_type=_Sensor, + received_type=type(sensor), expected_type=_Sensor, ) succeeded = sensor.sense() if not succeeded: @@ -185,7 +185,7 @@

Source code for flytekit.contrib.sensors.task

_task_function=None, retries=0, interruptible=None, - deprecated='', + deprecated="", storage_request=None, cpu_request=None, gpu_request=None, @@ -258,6 +258,7 @@

Source code for flytekit.contrib.sensors.task

otherwise mimic the behavior. :rtype: SensorTask """ + def wrapper(fn): return (SensorTask or cls)( task_function=fn, @@ -276,7 +277,7 @@

Source code for flytekit.contrib.sensors.task

timeout=timeout, environment=environment, custom={}, - discovery_version='', + discovery_version="", discoverable=False, ) diff --git a/_modules/flytekit/engines/common.html b/_modules/flytekit/engines/common.html index 47446b62f4..0437147e85 100644 --- a/_modules/flytekit/engines/common.html +++ b/_modules/flytekit/engines/common.html @@ -8,7 +8,7 @@ - flytekit.engines.common — Flyte 0.6.0 documentation + flytekit.engines.common — Flyte 0.7.0 documentation @@ -163,7 +163,9 @@

Source code for flytekit.engines.common

 from __future__ import absolute_import
 
 import abc as _abc
+
 import six as _six
+
 from flytekit.models import common as _common_models
 
 
@@ -172,6 +174,7 @@ 

Source code for flytekit.engines.common

     This class must be implemented for any engine to create, interact with, and execute workflows using the
     FlyteKit SDK.
     """
+
     def __init__(self, sdk_workflow):
         """
         :param flytekit.common.workflow.SdkWorkflow sdk_workflow:
@@ -250,7 +253,6 @@ 

Source code for flytekit.engines.common

 
 
 
[docs]class BaseNodeExecution(_six.with_metaclass(_common_models.FlyteABCMeta, object)): - def __init__(self, node_execution): """ :param flytekit.common.nodes.SdkNodeExecution node_execution: @@ -301,7 +303,6 @@

Source code for flytekit.engines.common

 
 
 
[docs]class BaseTaskExecution(_six.with_metaclass(_common_models.FlyteABCMeta, object)): - def __init__(self, task_exec): """ :param flytekit.common.tasks.executions.SdkTaskExecution task_exec: @@ -346,7 +347,6 @@

Source code for flytekit.engines.common

 
 
 
[docs]class BaseLaunchPlanLauncher(_six.with_metaclass(_common_models.FlyteABCMeta, object)): - def __init__(self, sdk_launch_plan): """ :param flytekit.common.launch_plan.SdkLaunchPlan sdk_launch_plan: @@ -369,8 +369,16 @@

Source code for flytekit.engines.common

         pass
[docs] @_abc.abstractmethod - def launch(self, project, domain, name, inputs, notification_overrides=None, label_overrides=None, - annotation_overrides=None): + def launch( + self, + project, + domain, + name, + inputs, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Registers the launch plan and returns the identifier. :param Text project: @@ -424,8 +432,17 @@

Source code for flytekit.engines.common

         pass
[docs] @_abc.abstractmethod - def launch(self, project, domain, name=None, inputs=None, notification_overrides=None, - label_overrides=None, annotation_overrides=None, auth_role=None): + def launch( + self, + project, + domain, + name=None, + inputs=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + auth_role=None, + ): """ Executes the task as a single task execution and returns the identifier. :param Text project: @@ -541,12 +558,13 @@

Source code for flytekit.engines.common

 
 
 
[docs]class EngineContext(object): - def __init__(self, execution_date, tmp_dir, stats, execution_id, logging): + def __init__(self, execution_date, tmp_dir, stats, execution_id, logging, raw_output_data_prefix=None): self._stats = stats self._execution_date = execution_date self._working_directory = tmp_dir self._execution_id = execution_id self._logging = logging + self._raw_output_data_prefix = raw_output_data_prefix @property def stats(self): @@ -581,7 +599,11 @@

Source code for flytekit.engines.common

         """
         :rtype: flytekit.models.core.identifier.WorkflowExecutionIdentifier
         """
-        return self._execution_id
+ return self._execution_id + + @property + def raw_output_data_prefix(self) -> str: + return self._raw_output_data_prefix
diff --git a/_modules/flytekit/engines/flyte/engine.html b/_modules/flytekit/engines/flyte/engine.html index e7808cb0de..57fd946ba6 100644 --- a/_modules/flytekit/engines/flyte/engine.html +++ b/_modules/flytekit/engines/flyte/engine.html @@ -8,7 +8,7 @@ - flytekit.engines.flyte.engine — Flyte 0.6.0 documentation + flytekit.engines.flyte.engine — Flyte 0.7.0 documentation @@ -166,27 +166,34 @@

Source code for flytekit.engines.flyte.engine

import os as _os import traceback as _traceback from datetime import datetime as _datetime -from deprecated import deprecated as _deprecated import six as _six +from deprecated import deprecated as _deprecated from flyteidl.core import literals_pb2 as _literals_pb2 from flytekit import __version__ as _api_version from flytekit.clients.friendly import SynchronousFlyteClient as _SynchronousFlyteClient -from flytekit.clients.helpers import iterate_node_executions as _iterate_node_executions, iterate_task_executions as \ - _iterate_task_executions -from flytekit.common import utils as _common_utils, constants as _constants -from flytekit.common.exceptions import user as _user_exceptions, scopes as _exception_scopes -from flytekit.configuration import ( - platform as _platform_config, internal as _internal_config, sdk as _sdk_config, auth as _auth_config, -) +from flytekit.clients.helpers import iterate_node_executions as _iterate_node_executions +from flytekit.clients.helpers import iterate_task_executions as _iterate_task_executions +from flytekit.common import constants as _constants +from flytekit.common import utils as _common_utils +from flytekit.common.exceptions import scopes as _exception_scopes +from flytekit.common.exceptions import user as _user_exceptions +from flytekit.configuration import auth as _auth_config +from flytekit.configuration import internal as _internal_config +from flytekit.configuration import platform as _platform_config +from flytekit.configuration import sdk as _sdk_config from flytekit.engines import common as _common_engine from flytekit.interfaces.data import data_proxy as _data_proxy from flytekit.interfaces.stats.taggable import get_stats as _get_stats -from flytekit.models import task as _task_models, execution as _execution_models, \ - literals as _literals, common as _common_models -from flytekit.models.admin import common as _common, workflow as _workflow_model -from flytekit.models.core import errors as _error_models, identifier as _identifier +from flytekit.models import common as _common_models +from flytekit.models import execution as _execution_models +from flytekit.models import literals as _literals +from flytekit.models import task as _task_models +from flytekit.models.admin import common as _common +from flytekit.models.admin import workflow as _workflow_model +from flytekit.models.core import errors as _error_models +from flytekit.models.core import identifier as _identifier class _FlyteClientManager(object): @@ -208,7 +215,6 @@

Source code for flytekit.engines.flyte.engine

[docs]class FlyteEngineFactory(_common_engine.BaseExecutionEngineFactory): -
[docs] def get_workflow(self, sdk_workflow): """ :param flytekit.common.workflow.SdkWorkflow sdk_workflow: @@ -257,8 +263,7 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.execution.Execution """ return _FlyteClientManager( - _platform_config.URL.get(), - insecure=_platform_config.INSECURE.get() + _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.get_execution(wf_exec_id)
[docs] def fetch_task(self, task_id): @@ -268,8 +273,7 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.task.Task """ return _FlyteClientManager( - _platform_config.URL.get(), - insecure=_platform_config.INSECURE.get() + _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.get_task(task_id)
[docs] def fetch_latest_task(self, named_task): @@ -281,9 +285,7 @@

Source code for flytekit.engines.flyte.engine

task_list, _ = _FlyteClientManager( _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.list_tasks_paginated( - named_task, - limit=1, - sort_by=_common.Sort("created_at", _common.Sort.Direction.DESCENDING), + named_task, limit=1, sort_by=_common.Sort("created_at", _common.Sort.Direction.DESCENDING), ) return task_list[0] if task_list else None
@@ -295,18 +297,14 @@

Source code for flytekit.engines.flyte.engine

""" if launch_plan_id.version: return _FlyteClientManager( - _platform_config.URL.get(), - insecure=_platform_config.INSECURE.get() + _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.get_launch_plan(launch_plan_id) else: named_entity_id = _common_models.NamedEntityIdentifier( - launch_plan_id.project, - launch_plan_id.domain, - launch_plan_id.name + launch_plan_id.project, launch_plan_id.domain, launch_plan_id.name ) return _FlyteClientManager( - _platform_config.URL.get(), - insecure=_platform_config.INSECURE.get() + _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.get_active_launch_plan(named_entity_id)
[docs] def fetch_workflow(self, workflow_id): @@ -316,33 +314,46 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.admin.workflow.Workflow """ return _FlyteClientManager( - _platform_config.URL.get(), - insecure=_platform_config.INSECURE.get() + _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.get_workflow(workflow_id)
[docs]class FlyteLaunchPlan(_common_engine.BaseLaunchPlanLauncher): -
[docs] def register(self, identifier): client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client try: - client.create_launch_plan( - identifier, - self.sdk_launch_plan - ) + client.create_launch_plan(identifier, self.sdk_launch_plan) except _user_exceptions.FlyteEntityAlreadyExistsException: pass
-
[docs] @_deprecated(reason="Use launch instead", version='0.9.0') - def execute(self, project, domain, name, inputs, notification_overrides=None, label_overrides=None, - annotation_overrides=None): +
[docs] @_deprecated(reason="Use launch instead", version="0.9.0") + def execute( + self, + project, + domain, + name, + inputs, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Deprecated. Use launch instead. """ - return self.launch(project, domain, name, inputs, notification_overrides, label_overrides, annotation_overrides)
- -
[docs] def launch(self, project, domain, name, inputs, notification_overrides=None, label_overrides=None, - annotation_overrides=None): + return self.launch( + project, domain, name, inputs, notification_overrides, label_overrides, annotation_overrides, + )
+ +
[docs] def launch( + self, + project, + domain, + name, + inputs, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + ): """ Creates a workflow execution using parameters specified in the launch plan. :param Text project: @@ -355,13 +366,11 @@

Source code for flytekit.engines.flyte.engine

:param flytekit.models.common.Annotations annotation_overrides: :rtype: flytekit.models.execution.Execution """ - disable_all = (notification_overrides == []) + disable_all = notification_overrides == [] if disable_all: notification_overrides = None else: - notification_overrides = _execution_models.NotificationList( - notification_overrides or [] - ) + notification_overrides = _execution_models.NotificationList(notification_overrides or []) disable_all = None try: @@ -374,8 +383,8 @@

Source code for flytekit.engines.flyte.engine

self.sdk_launch_plan.id, _execution_models.ExecutionMetadata( _execution_models.ExecutionMetadata.ExecutionMode.MANUAL, - 'sdk', # TODO: get principle - 0 # TODO: Detect nesting + "sdk", # TODO: get principle + 0, # TODO: Detect nesting ), notifications=notification_overrides, disable_all=disable_all, @@ -394,39 +403,25 @@

Source code for flytekit.engines.flyte.engine

:param int state: Enum value from flytekit.models.launch_plan.LaunchPlanState """ return _FlyteClientManager( - _platform_config.URL.get(), - insecure=_platform_config.INSECURE.get() + _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.update_launch_plan(identifier, state)
[docs]class FlyteWorkflow(_common_engine.BaseWorkflowExecutor): -
[docs] def register(self, identifier): client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client try: sub_workflows = self.sdk_workflow.get_sub_workflows() - return client.create_workflow( - identifier, - _workflow_model.WorkflowSpec( - self.sdk_workflow, - sub_workflows, - ) - ) + return client.create_workflow(identifier, _workflow_model.WorkflowSpec(self.sdk_workflow, sub_workflows,),) except _user_exceptions.FlyteEntityAlreadyExistsException: pass
[docs]class FlyteTask(_common_engine.BaseTaskExecutor): -
[docs] def register(self, identifier): client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client try: - client.create_task( - identifier, - _task_models.TaskSpec( - self.sdk_task - ) - ) + client.create_task(identifier, _task_models.TaskSpec(self.sdk_task)) except _user_exceptions.FlyteEntityAlreadyExistsException: pass
@@ -437,11 +432,11 @@

Source code for flytekit.engines.flyte.engine

:param dict[Text, Text] context: :rtype: dict[Text, flytekit.models.common.FlyteIdlEntity] """ - with _common_utils.AutoDeletingTempDir("engine_dir") as temp_dir: with _common_utils.AutoDeletingTempDir("task_dir") as task_dir: with _data_proxy.LocalWorkingDirectoryContext(task_dir): - with _data_proxy.RemoteDataContext(): + raw_output_data_prefix = context.get("raw_output_data_prefix", None) + with _data_proxy.RemoteDataContext(raw_output_data_prefix_override=raw_output_data_prefix): output_file_dict = dict() # This sets the logging level for user code and is the only place an sdk setting gets @@ -456,7 +451,7 @@

Source code for flytekit.engines.flyte.engine

execution_id=_identifier.WorkflowExecutionIdentifier( project=_internal_config.EXECUTION_PROJECT.get(), domain=_internal_config.EXECUTION_DOMAIN.get(), - name=_internal_config.EXECUTION_NAME.get() + name=_internal_config.EXECUTION_NAME.get(), ), execution_date=_datetime.utcnow(), stats=_get_stats( @@ -466,29 +461,28 @@

Source code for flytekit.engines.flyte.engine

"{}.{}.{}.user_stats".format( _internal_config.TASK_PROJECT.get() or _internal_config.PROJECT.get(), _internal_config.TASK_DOMAIN.get() or _internal_config.DOMAIN.get(), - _internal_config.TASK_NAME.get() or _internal_config.NAME.get() + _internal_config.TASK_NAME.get() or _internal_config.NAME.get(), ), tags={ - 'exec_project': _internal_config.EXECUTION_PROJECT.get(), - 'exec_domain': _internal_config.EXECUTION_DOMAIN.get(), - 'exec_workflow': _internal_config.EXECUTION_WORKFLOW.get(), - 'exec_launchplan': _internal_config.EXECUTION_LAUNCHPLAN.get(), - 'api_version': _api_version - } + "exec_project": _internal_config.EXECUTION_PROJECT.get(), + "exec_domain": _internal_config.EXECUTION_DOMAIN.get(), + "exec_workflow": _internal_config.EXECUTION_WORKFLOW.get(), + "exec_launchplan": _internal_config.EXECUTION_LAUNCHPLAN.get(), + "api_version": _api_version, + }, ), logging=_logging, - tmp_dir=task_dir + tmp_dir=task_dir, + raw_output_data_prefix=context["raw_output_data_prefix"] + if "raw_output_data_prefix" in context + else None, ), - inputs + inputs, ) except _exception_scopes.FlyteScopedException as e: _logging.error("!!! Begin Error Captured by Flyte !!!") output_file_dict[_constants.ERROR_FILE_NAME] = _error_models.ErrorDocument( - _error_models.ContainerError( - e.error_code, - e.verbose_message, - e.kind - ) + _error_models.ContainerError(e.error_code, e.verbose_message, e.kind) ) _logging.error(e.verbose_message) _logging.error("!!! End Error Captured by Flyte !!!") @@ -497,23 +491,29 @@

Source code for flytekit.engines.flyte.engine

exc_str = _traceback.format_exc() output_file_dict[_constants.ERROR_FILE_NAME] = _error_models.ErrorDocument( _error_models.ContainerError( - "SYSTEM:Unknown", - exc_str, - _error_models.ContainerError.Kind.RECOVERABLE + "SYSTEM:Unknown", exc_str, _error_models.ContainerError.Kind.RECOVERABLE, ) ) _logging.error(exc_str) _logging.error("!!! End Error Captured by Flyte !!!") finally: for k, v in _six.iteritems(output_file_dict): - _common_utils.write_proto_to_file( - v.to_flyte_idl(), - _os.path.join(temp_dir.name, k) - ) - _data_proxy.Data.put_data(temp_dir.name, context['output_prefix'], is_multipart=True)
- -
[docs] def launch(self, project, domain, name=None, inputs=None, notification_overrides=None, label_overrides=None, - annotation_overrides=None, auth_role=None): + _common_utils.write_proto_to_file(v.to_flyte_idl(), _os.path.join(temp_dir.name, k)) + _data_proxy.Data.put_data( + temp_dir.name, context["output_prefix"], is_multipart=True, + )
+ +
[docs] def launch( + self, + project, + domain, + name=None, + inputs=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + auth_role=None, + ): """ Executes the task as a single task execution and returns the identifier. :param Text project: @@ -527,13 +527,11 @@

Source code for flytekit.engines.flyte.engine

:param flytekit.models.common.AuthRole auth_role: :rtype: flytekit.models.execution.Execution """ - disable_all = (notification_overrides == []) + disable_all = notification_overrides == [] if disable_all: notification_overrides = None else: - notification_overrides = _execution_models.NotificationList( - notification_overrides or [] - ) + notification_overrides = _execution_models.NotificationList(notification_overrides or []) disable_all = None if not auth_role: @@ -541,11 +539,14 @@

Source code for flytekit.engines.flyte.engine

kubernetes_service_account = _auth_config.KUBERNETES_SERVICE_ACCOUNT.get() if not (assumable_iam_role or kubernetes_service_account): - _logging.warning("Using deprecated `role` from config. " - "Please update your config to use `assumable_iam_role` instead") + _logging.warning( + "Using deprecated `role` from config. " + "Please update your config to use `assumable_iam_role` instead" + ) assumable_iam_role = _sdk_config.ROLE.get() - auth_role = _common_models.AuthRole(assumable_iam_role=assumable_iam_role, - kubernetes_service_account=kubernetes_service_account) + auth_role = _common_models.AuthRole( + assumable_iam_role=assumable_iam_role, kubernetes_service_account=kubernetes_service_account, + ) try: # TODO(katrogan): Add handling to register the underlying task if it's not already. @@ -558,8 +559,8 @@

Source code for flytekit.engines.flyte.engine

self.sdk_task.id, _execution_models.ExecutionMetadata( _execution_models.ExecutionMetadata.ExecutionMode.MANUAL, - 'sdk', # TODO: get principle - 0 # TODO: Detect nesting + "sdk", # TODO: get principle + 0, # TODO: Detect nesting ), notifications=notification_overrides, disable_all=disable_all, @@ -575,7 +576,6 @@

Source code for flytekit.engines.flyte.engine

[docs]class FlyteWorkflowExecution(_common_engine.BaseWorkflowExecution): -
[docs] def get_node_executions(self, filters=None): """ :param list[flytekit.models.filters.Filter] filters: @@ -583,8 +583,7 @@

Source code for flytekit.engines.flyte.engine

""" client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client return { - v.id.node_id: v - for v in _iterate_node_executions(client, self.sdk_workflow_execution.id, filters=filters) + v.id.node_id: v for v in _iterate_node_executions(client, self.sdk_workflow_execution.id, filters=filters) }
[docs] def sync(self): @@ -599,11 +598,16 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.literals.LiteralMap """ client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client - url_blob = client.get_execution_data(self.sdk_workflow_execution.id) - if url_blob.inputs.bytes > 0: + execution_data = client.get_execution_data(self.sdk_workflow_execution.id) + + # Inputs are returned inline unless they are too big, in which case a url blob pointing to them is returned. + if bool(execution_data.full_inputs.literals): + return execution_data.full_inputs + + if execution_data.inputs.bytes > 0: with _common_utils.AutoDeletingTempDir() as t: tmp_name = _os.path.join(t.name, "inputs.pb") - _data_proxy.Data.get_data(url_blob.inputs.url, tmp_name) + _data_proxy.Data.get_data(execution_data.inputs.url, tmp_name) return _literals.LiteralMap.from_flyte_idl( _common_utils.load_proto_from_file(_literals_pb2.LiteralMap, tmp_name) ) @@ -614,11 +618,16 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.literals.LiteralMap """ client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client - url_blob = client.get_execution_data(self.sdk_workflow_execution.id) - if url_blob.outputs.bytes > 0: + execution_data = client.get_execution_data(self.sdk_workflow_execution.id) + + # Outputs are returned inline unless they are too big, in which case a url blob pointing to them is returned. + if bool(execution_data.full_outputs.literals): + return execution_data.full_outputs + + if execution_data.outputs.bytes > 0: with _common_utils.AutoDeletingTempDir() as t: tmp_name = _os.path.join(t.name, "outputs.pb") - _data_proxy.Data.get_data(url_blob.outputs.url, tmp_name) + _data_proxy.Data.get_data(execution_data.outputs.url, tmp_name) return _literals.LiteralMap.from_flyte_idl( _common_utils.load_proto_from_file(_literals_pb2.LiteralMap, tmp_name) ) @@ -629,13 +638,11 @@

Source code for flytekit.engines.flyte.engine

:param Text cause: """ _FlyteClientManager( - _platform_config.URL.get(), - insecure=_platform_config.INSECURE.get() + _platform_config.URL.get(), insecure=_platform_config.INSECURE.get() ).client.terminate_execution(self.sdk_workflow_execution.id, cause)
[docs]class FlyteNodeExecution(_common_engine.BaseNodeExecution): -
[docs] def get_task_executions(self): """ :rtype: list[flytekit.common.tasks.executions.SdkTaskExecution] @@ -654,11 +661,16 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.literals.LiteralMap """ client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client - url_blob = client.get_node_execution_data(self.sdk_node_execution.id) - if url_blob.inputs.bytes > 0: + execution_data = client.get_node_execution_data(self.sdk_node_execution.id) + + # Inputs are returned inline unless they are too big, in which case a url blob pointing to them is returned. + if bool(execution_data.full_inputs.literals): + return execution_data.full_inputs + + if execution_data.inputs.bytes > 0: with _common_utils.AutoDeletingTempDir() as t: tmp_name = _os.path.join(t.name, "inputs.pb") - _data_proxy.Data.get_data(url_blob.inputs.url, tmp_name) + _data_proxy.Data.get_data(execution_data.inputs.url, tmp_name) return _literals.LiteralMap.from_flyte_idl( _common_utils.load_proto_from_file(_literals_pb2.LiteralMap, tmp_name) ) @@ -669,11 +681,16 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.literals.LiteralMap """ client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client - url_blob = client.get_node_execution_data(self.sdk_node_execution.id) - if url_blob.outputs.bytes > 0: + execution_data = client.get_node_execution_data(self.sdk_node_execution.id) + + # Outputs are returned inline unless they are too big, in which case a url blob pointing to them is returned. + if bool(execution_data.full_outputs.literals): + return execution_data.full_outputs + + if execution_data.outputs.bytes > 0: with _common_utils.AutoDeletingTempDir() as t: tmp_name = _os.path.join(t.name, "outputs.pb") - _data_proxy.Data.get_data(url_blob.outputs.url, tmp_name) + _data_proxy.Data.get_data(execution_data.outputs.url, tmp_name) return _literals.LiteralMap.from_flyte_idl( _common_utils.load_proto_from_file(_literals_pb2.LiteralMap, tmp_name) ) @@ -688,17 +705,21 @@

Source code for flytekit.engines.flyte.engine

[docs]class FlyteTaskExecution(_common_engine.BaseTaskExecution): -
[docs] def get_inputs(self): """ :rtype: flytekit.models.literals.LiteralMap """ client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client - url_blob = client.get_task_execution_data(self.sdk_task_execution.id) - if url_blob.inputs.bytes > 0: + execution_data = client.get_task_execution_data(self.sdk_task_execution.id) + + # Inputs are returned inline unless they are too big, in which case a url blob pointing to them is returned. + if bool(execution_data.full_inputs.literals): + return execution_data.full_inputs + + if execution_data.inputs.bytes > 0: with _common_utils.AutoDeletingTempDir() as t: tmp_name = _os.path.join(t.name, "inputs.pb") - _data_proxy.Data.get_data(url_blob.inputs.url, tmp_name) + _data_proxy.Data.get_data(execution_data.inputs.url, tmp_name) return _literals.LiteralMap.from_flyte_idl( _common_utils.load_proto_from_file(_literals_pb2.LiteralMap, tmp_name) ) @@ -709,11 +730,16 @@

Source code for flytekit.engines.flyte.engine

:rtype: flytekit.models.literals.LiteralMap """ client = _FlyteClientManager(_platform_config.URL.get(), insecure=_platform_config.INSECURE.get()).client - url_blob = client.get_task_execution_data(self.sdk_task_execution.id) - if url_blob.outputs.bytes > 0: + execution_data = client.get_task_execution_data(self.sdk_task_execution.id) + + # Inputs are returned inline unless they are too big, in which case a url blob pointing to them is returned. + if bool(execution_data.full_outputs.literals): + return execution_data.full_outputs + + if execution_data.outputs.bytes > 0: with _common_utils.AutoDeletingTempDir() as t: tmp_name = _os.path.join(t.name, "outputs.pb") - _data_proxy.Data.get_data(url_blob.outputs.url, tmp_name) + _data_proxy.Data.get_data(execution_data.outputs.url, tmp_name) return _literals.LiteralMap.from_flyte_idl( _common_utils.load_proto_from_file(_literals_pb2.LiteralMap, tmp_name) ) @@ -735,9 +761,7 @@

Source code for flytekit.engines.flyte.engine

return { v.id.node_id: v for v in _iterate_node_executions( - client, - task_execution_identifier=self.sdk_task_execution.id, - filters=filters + client, task_execution_identifier=self.sdk_task_execution.id, filters=filters, ) }
diff --git a/_modules/flytekit/engines/loader.html b/_modules/flytekit/engines/loader.html index 535c7cba08..ff8e956203 100644 --- a/_modules/flytekit/engines/loader.html +++ b/_modules/flytekit/engines/loader.html @@ -8,7 +8,7 @@ - flytekit.engines.loader — Flyte 0.6.0 documentation + flytekit.engines.loader — Flyte 0.7.0 documentation @@ -161,14 +161,16 @@

Source code for flytekit.engines.loader

 from __future__ import absolute_import
-from flytekit.common.exceptions import user as _user_exceptions, scopes as _exception_scopes
-from flytekit.configuration import sdk as _sdk_config
+
 import importlib as _importlib
 
+from flytekit.common.exceptions import scopes as _exception_scopes
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.configuration import sdk as _sdk_config
 
 _ENGINE_NAME_TO_MODULES_CACHE = {
-    'flyte': ('flytekit.engines.flyte.engine', 'FlyteEngineFactory', None),
-    'unit': ('flytekit.engines.unit.engine', 'UnitTestEngineFactory', None),
+    "flyte": ("flytekit.engines.flyte.engine", "FlyteEngineFactory", None),
+    "unit": ("flytekit.engines.unit.engine", "UnitTestEngineFactory", None),
     # 'local': ('flytekit.engines.local.engine', 'EngineObjectFactory', None)
 }
 
@@ -185,9 +187,8 @@ 

Source code for flytekit.engines.loader

         raise _user_exceptions.FlyteValueException(
             engine_name,
             "Could not load an engine with the identifier '{}'.  Known engines are: {}".format(
-                engine_name,
-                list(_ENGINE_NAME_TO_MODULES_CACHE.keys())
-            )
+                engine_name, list(_ENGINE_NAME_TO_MODULES_CACHE.keys())
+            ),
         )
 
     module_path, attr, engine_impl = _ENGINE_NAME_TO_MODULES_CACHE[engine_name]
@@ -198,9 +199,7 @@ 

Source code for flytekit.engines.loader

             raise _user_exceptions.FlyteValueException(
                 module,
                 "Failed to load the engine because the attribute named '{}' could not be found"
-                "in the module '{}'.".format(
-                    attr, module_path
-                )
+                "in the module '{}'.".format(attr, module_path),
             )
 
         engine_impl = getattr(module, attr)()
diff --git a/_modules/flytekit/engines/unit/engine.html b/_modules/flytekit/engines/unit/engine.html
index 9c90773069..82dbbfce4b 100644
--- a/_modules/flytekit/engines/unit/engine.html
+++ b/_modules/flytekit/engines/unit/engine.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.engines.unit.engine — Flyte 0.6.0 documentation
+  flytekit.engines.unit.engine — Flyte 0.7.0 documentation
   
 
   
@@ -164,26 +164,29 @@ 

Source code for flytekit.engines.unit.engine

import logging as _logging
 import os as _os
+from datetime import datetime as _datetime
 
 import six as _six
-from datetime import datetime as _datetime
+from flyteidl.plugins import qubole_pb2 as _qubole_pb2
+from google.protobuf.json_format import ParseDict as _ParseDict
 from six import moves as _six_moves
 
-from google.protobuf.json_format import ParseDict as _ParseDict
-from flyteidl.plugins import qubole_pb2 as _qubole_pb2
-from flytekit.common import constants as _sdk_constants, utils as _common_utils
-from flytekit.common.exceptions import user as _user_exceptions, system as _system_exception
+from flytekit.common import constants as _sdk_constants
+from flytekit.common import utils as _common_utils
+from flytekit.common.exceptions import system as _system_exception
+from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.common.types import helpers as _type_helpers
 from flytekit.configuration import TemporaryConfiguration as _TemporaryConfiguration
 from flytekit.engines import common as _common_engine
 from flytekit.engines.unit.mock_stats import MockStats
 from flytekit.interfaces.data import data_proxy as _data_proxy
-from flytekit.models import literals as _literals, array_job as _array_job, qubole as _qubole_models
+from flytekit.models import array_job as _array_job
+from flytekit.models import literals as _literals
+from flytekit.models import qubole as _qubole_models
 from flytekit.models.core.identifier import WorkflowExecutionIdentifier
 
 
 
[docs]class UnitTestEngineFactory(_common_engine.BaseExecutionEngineFactory): -
[docs] def get_task(self, sdk_task): """ :param flytekit.common.tasks.task.SdkTask sdk_task: @@ -205,9 +208,7 @@

Source code for flytekit.engines.unit.engine

return HiveTask(sdk_task)
         else:
             raise _user_exceptions.FlyteAssertion(
-                "Unit tests are not currently supported for tasks of type: {}".format(
-                    sdk_task.type
-                )
+                "Unit tests are not currently supported for tasks of type: {}".format(sdk_task.type)
             )
[docs] def get_workflow(self, _): @@ -250,8 +251,7 @@

Source code for flytekit.engines.unit.engine

        :rtype: dict[Text,flytekit.models.common.FlyteIdlEntity]
         """
         with _TemporaryConfiguration(
-            _os.path.join(_os.path.dirname(__file__), 'unit.config'),
-            internal_overrides={'image': 'unit_image'}
+            _os.path.join(_os.path.dirname(__file__), "unit.config"), internal_overrides={"image": "unit_image"},
         ):
             with _common_utils.AutoDeletingTempDir("unit_test_dir") as working_directory:
                 with _data_proxy.LocalWorkingDirectoryContext(working_directory):
@@ -265,17 +265,13 @@ 

Source code for flytekit.engines.unit.engine

with _common_utils.AutoDeletingTempDir("user_dir") as user_working_directory:
             return self.sdk_task.execute(
                 _common_engine.EngineContext(
-                    execution_id=WorkflowExecutionIdentifier(
-                        project='unit_test',
-                        domain='unit_test',
-                        name='unit_test'
-                    ),
+                    execution_id=WorkflowExecutionIdentifier(project="unit_test", domain="unit_test", name="unit_test"),
                     execution_date=_datetime.utcnow(),
                     stats=MockStats(),
                     logging=_logging,  # TODO: A mock logging object that we can read later.
-                    tmp_dir=user_working_directory
+                    tmp_dir=user_working_directory,
                 ),
-                inputs
+                inputs,
             )
 
     def _transform_for_user_output(self, outputs):
@@ -290,8 +286,17 @@ 

Source code for flytekit.engines.unit.engine

[docs]    def register(self, identifier, version):
         raise _user_exceptions.FlyteAssertion("You cannot register unit test tasks.")
-
[docs] def launch(self, project, domain, name=None, inputs=None, notification_overrides=None, label_overrides=None, - annotation_overrides=None, auth_role=None): +
[docs] def launch( + self, + project, + domain, + name=None, + inputs=None, + notification_overrides=None, + label_overrides=None, + annotation_overrides=None, + auth_role=None, + ): raise _user_exceptions.FlyteAssertion("You cannot launch unit test tasks.")
@@ -305,15 +310,13 @@

Source code for flytekit.engines.unit.engine

literal_map = outputs[_sdk_constants.OUTPUT_FILE_NAME]
         return {
             name: _type_helpers.get_sdk_value_from_literal(
-                literal_map.literals[name],
-                sdk_type=_type_helpers.get_sdk_type_from_literal_type(variable.type)
+                literal_map.literals[name], sdk_type=_type_helpers.get_sdk_type_from_literal_type(variable.type),
             ).to_python_std()
             for name, variable in _six.iteritems(self.sdk_task.interface.outputs)
         }
[docs]class DynamicTask(ReturnOutputsTask): - def __init__(self, *args, **kwargs): self._has_workflow_node = False super(DynamicTask, self).__init__(*args, **kwargs) @@ -341,10 +344,12 @@

Source code for flytekit.engines.unit.engine

for future_node in futures.nodes:
                 if future_node.workflow_node is not None:
                     # TODO: implement proper unit testing for launchplan and subworkflow nodes somehow
-                    _logging.warning("A workflow node has been detected in the output of the dynamic task. The "
-                                     "Flytekit unit test engine is incomplete for dynamic tasks that return launch "
-                                     "plans or subworkflows. The generated dynamic job spec will be returned but "
-                                     "they will not be run.")
+                    _logging.warning(
+                        "A workflow node has been detected in the output of the dynamic task. The "
+                        "Flytekit unit test engine is incomplete for dynamic tasks that return launch "
+                        "plans or subworkflows. The generated dynamic job spec will be returned but "
+                        "they will not be run."
+                    )
                     # For now, just return the output of the parent task
                     self._has_workflow_node = True
                     return results
@@ -364,7 +369,9 @@ 

Source code for flytekit.engines.unit.engine

if inputs_path not in results:
                         raise _system_exception.FlyteSystemAssertion(
                             "dynamic task hasn't generated expected inputs document [{}] found {}".format(
-                                future_node.id, list(results.keys())))
+                                future_node.id, list(results.keys())
+                            )
+                        )
                     sub_task_output = UnitTestEngineFactory().get_task(task).execute(results[inputs_path])
                 sub_task_outputs[future_node.id] = sub_task_output
 
@@ -388,19 +395,20 @@ 

Source code for flytekit.engines.unit.engine

array_job = _array_job.ArrayJob.from_dict(task.custom)
         outputs = {}
         for job_index in _six_moves.range(0, array_job.size):
-            inputs_path = _os.path.join(root_input_path, _six.text_type(job_index), _sdk_constants.INPUT_FILE_NAME)
+            inputs_path = _os.path.join(root_input_path, _six.text_type(job_index), _sdk_constants.INPUT_FILE_NAME,)
             if inputs_path not in array_inputs:
                 raise _system_exception.FlyteSystemAssertion(
-                    "dynamic task hasn't generated expected inputs document [{}].".format(inputs_path))
+                    "dynamic task hasn't generated expected inputs document [{}].".format(inputs_path)
+                )
 
             input_proto = array_inputs[inputs_path]
             # All outputs generated by the same array job will have the same key in sub_task_outputs,
             # they will, however, differ in the var names; they will be on the format [<job_index>].<var_name>
             # e.g. [1].out1
             for key, val in _six.iteritems(
-                    ReturnOutputsTask(
-                        task.assign_type_and_return(_sdk_constants.SdkTaskType.PYTHON_TASK)  # TODO: This is weird
-                    ).execute(input_proto)
+                ReturnOutputsTask(
+                    task.assign_type_and_return(_sdk_constants.SdkTaskType.PYTHON_TASK)  # TODO: This is weird
+                ).execute(input_proto)
             ):
                 outputs["[{}].{}".format(job_index, key)] = val
         return outputs
@@ -418,27 +426,37 @@

Source code for flytekit.engines.unit.engine

if binding_data.scalar:
             return _literals.Literal(scalar=binding_data.scalar)
         elif binding_data.collection:
-            return _literals.Literal(collection=_literals.LiteralCollection(
-                [DynamicTask.fulfil_bindings(sub_binding_data, fulfilled_promises) for sub_binding_data in
-                 binding_data.collection.bindings]))
+            return _literals.Literal(
+                collection=_literals.LiteralCollection(
+                    [
+                        DynamicTask.fulfil_bindings(sub_binding_data, fulfilled_promises)
+                        for sub_binding_data in binding_data.collection.bindings
+                    ]
+                )
+            )
         elif binding_data.promise:
             if binding_data.promise.node_id not in fulfilled_promises:
                 raise _system_exception.FlyteSystemAssertion(
-                    "Expecting output of node [{}] but that hasn't been produced.".format(binding_data.promise.node_id))
+                    "Expecting output of node [{}] but that hasn't been produced.".format(binding_data.promise.node_id)
+                )
             node_output = fulfilled_promises[binding_data.promise.node_id]
             if binding_data.promise.var not in node_output:
                 raise _system_exception.FlyteSystemAssertion(
                     "Expecting output [{}] of node [{}] but that hasn't been produced.".format(
-                        binding_data.promise.var,
-                        binding_data.promise.node_id))
+                        binding_data.promise.var, binding_data.promise.node_id
+                    )
+                )
 
             return binding_data.promise.sdk_type.from_python_std(node_output[binding_data.promise.var])
         elif binding_data.map:
-            return _literals.Literal(map=_literals.LiteralMap(
-                {
-                    k: DynamicTask.fulfil_bindings(sub_binding_data, fulfilled_promises) for k, sub_binding_data in
-                    _six.iteritems(binding_data.map.bindings)
-                }))
+ return _literals.Literal( + map=_literals.LiteralMap( + { + k: DynamicTask.fulfil_bindings(sub_binding_data, fulfilled_promises) + for k, sub_binding_data in _six.iteritems(binding_data.map.bindings) + } + ) + )
[docs]class HiveTask(DynamicTask): @@ -458,9 +476,7 @@

Source code for flytekit.engines.unit.engine

for t in futures.tasks
             }
             for node in futures.nodes:
-                queries.append(
-                    task_ids_to_defs[node.task_node.reference_id.name].query.query
-                )
+                queries.append(task_ids_to_defs[node.task_node.reference_id.name].query.query)
             return queries
         else:
             return []
diff --git a/_modules/flytekit/engines/unit/mock_stats.html b/_modules/flytekit/engines/unit/mock_stats.html index 6bf920f56c..5f0a3567b5 100644 --- a/_modules/flytekit/engines/unit/mock_stats.html +++ b/_modules/flytekit/engines/unit/mock_stats.html @@ -8,7 +8,7 @@ - flytekit.engines.unit.mock_stats — Flyte 0.6.0 documentation + flytekit.engines.unit.mock_stats — Flyte 0.7.0 documentation @@ -162,8 +162,8 @@

Source code for flytekit.engines.unit.mock_stats

 from __future__ import absolute_import
 
-import logging
 import datetime as _datetime
+import logging
 
 
 
[docs]class MockStats(object): diff --git a/_modules/flytekit/interfaces/data/common.html b/_modules/flytekit/interfaces/data/common.html index 266c70f960..ab75795917 100644 --- a/_modules/flytekit/interfaces/data/common.html +++ b/_modules/flytekit/interfaces/data/common.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.common — Flyte 0.6.0 documentation + flytekit.interfaces.data.common — Flyte 0.7.0 documentation @@ -161,7 +161,9 @@

Source code for flytekit.interfaces.data.common

 from __future__ import absolute_import
+
 import abc as _abc
+
 import six as _six
 
 
diff --git a/_modules/flytekit/interfaces/data/data_proxy.html b/_modules/flytekit/interfaces/data/data_proxy.html
index a9493108c4..4b7dc0b458 100644
--- a/_modules/flytekit/interfaces/data/data_proxy.html
+++ b/_modules/flytekit/interfaces/data/data_proxy.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.interfaces.data.data_proxy — Flyte 0.6.0 documentation
+  flytekit.interfaces.data.data_proxy — Flyte 0.7.0 documentation
   
 
   
@@ -162,14 +162,17 @@
   

Source code for flytekit.interfaces.data.data_proxy

 from __future__ import absolute_import
 
-from flytekit.configuration import sdk as _sdk_config, platform as _platform_config
-from flytekit.interfaces.data.s3 import s3proxy as _s3proxy
+import six as _six
+
+from flytekit.common import constants as _constants
+from flytekit.common import utils as _common_utils
+from flytekit.common.exceptions import user as _user_exception
+from flytekit.configuration import platform as _platform_config
+from flytekit.configuration import sdk as _sdk_config
 from flytekit.interfaces.data.gcs import gcs_proxy as _gcs_proxy
-from flytekit.interfaces.data.local import local_file_proxy as _local_file_proxy
 from flytekit.interfaces.data.http import http_data_proxy as _http_data_proxy
-from flytekit.common.exceptions import user as _user_exception
-from flytekit.common import utils as _common_utils, constants as _constants
-import six as _six
+from flytekit.interfaces.data.local import local_file_proxy as _local_file_proxy
+from flytekit.interfaces.data.s3 import s3proxy as _s3proxy
 
 
 
[docs]class LocalWorkingDirectoryContext(object): @@ -223,23 +226,23 @@

Source code for flytekit.interfaces.data.data_proxy

[docs]class RemoteDataContext(_OutputDataContext): _CLOUD_PROVIDER_TO_PROXIES = { - _constants.CloudProvider.AWS: _s3proxy.AwsS3Proxy(), - _constants.CloudProvider.GCP: _gcs_proxy.GCSProxy(), + _constants.CloudProvider.AWS: _s3proxy.AwsS3Proxy, + _constants.CloudProvider.GCP: _gcs_proxy.GCSProxy, } - def __init__(self, cloud_provider=None): + def __init__(self, cloud_provider=None, raw_output_data_prefix_override=None): """ :param Optional[Text] cloud_provider: From flytekit.common.constants.CloudProvider enum """ cloud_provider = cloud_provider or _platform_config.CLOUD_PROVIDER.get() - proxy = type(self)._CLOUD_PROVIDER_TO_PROXIES.get(cloud_provider, None) - if proxy is None: + proxy_class = type(self)._CLOUD_PROVIDER_TO_PROXIES.get(cloud_provider, None) + if proxy_class is None: raise _user_exception.FlyteAssertion( "Configured cloud provider is not supported for data I/O. Received: {}, expected one of: {}".format( - cloud_provider, - list(type(self)._CLOUD_PROVIDER_TO_PROXIES.keys()) + cloud_provider, list(type(self)._CLOUD_PROVIDER_TO_PROXIES.keys()) ) ) + proxy = proxy_class(raw_output_data_prefix_override) super(RemoteDataContext, self).__init__(proxy)
@@ -294,7 +297,7 @@

Source code for flytekit.interfaces.data.data_proxy

remote_path=remote_path, local_path=local_path, is_multipart=is_multipart, - error_string=_six.text_type(ex) + error_string=_six.text_type(ex), ) )
@@ -319,7 +322,7 @@

Source code for flytekit.interfaces.data.data_proxy

remote_path=remote_path, local_path=local_path, is_multipart=is_multipart, - error_string=_six.text_type(ex) + error_string=_six.text_type(ex), ) )
diff --git a/_modules/flytekit/interfaces/data/gcs/gcs_proxy.html b/_modules/flytekit/interfaces/data/gcs/gcs_proxy.html index 59b206f175..36b1705992 100644 --- a/_modules/flytekit/interfaces/data/gcs/gcs_proxy.html +++ b/_modules/flytekit/interfaces/data/gcs/gcs_proxy.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.gcs.gcs_proxy — Flyte 0.6.0 documentation + flytekit.interfaces.data.gcs.gcs_proxy — Flyte 0.7.0 documentation @@ -166,12 +166,11 @@

Source code for flytekit.interfaces.data.gcs.gcs_proxy

import sys as _sys import uuid as _uuid +from flytekit.common.exceptions.user import FlyteUserException as _FlyteUserException from flytekit.configuration import gcp as _gcp_config from flytekit.interfaces import random as _flyte_random from flytekit.interfaces.data import common as _common_data from flytekit.tools import subprocess as _subprocess -from flytekit.common.exceptions.user import FlyteUserException as _FlyteUserException - if _sys.version_info >= (3,): from shutil import which as _which @@ -191,6 +190,19 @@

Source code for flytekit.interfaces.data.gcs.gcs_proxy

[docs]class GCSProxy(_common_data.DataProxy): _GS_UTIL_CLI = "gsutil" + def __init__(self, raw_output_data_prefix_override: str = None): + """ + :param raw_output_data_prefix_override: Instead of relying on the AWS or GCS configuration (see + S3_SHARD_FORMATTER for AWS and GCS_PREFIX for GCP) setting when computing the shard + path (_get_shard_path), use this prefix instead as a base. This code assumes that the + path passed in is correct. That is, an S3 path won't be passed in when running on GCP. + """ + self._raw_output_data_prefix_override = raw_output_data_prefix_override + + @property + def raw_output_data_prefix_override(self) -> str: + return self._raw_output_data_prefix_override + @staticmethod def _check_binary(): """ @@ -278,19 +290,18 @@

Source code for flytekit.interfaces.data.gcs.gcs_proxy

GCSProxy._check_binary() cmd = self._maybe_with_gsutil_parallelism( - "cp", - "-r", - _amend_path(local_path), - remote_path if remote_path.endswith("/") else remote_path + "/" + "cp", "-r", _amend_path(local_path), remote_path if remote_path.endswith("/") else remote_path + "/", ) return _update_cmd_config_and_execute(cmd)
-
[docs] def get_random_path(self): +
[docs] def get_random_path(self) -> str: """ - :rtype: Text + If this object was created with a raw output data prefix, usually set by Propeller/Plugins at execution time + and piped all the way here, it will be used instead of referencing the GCS_PREFIX configuration. """ key = _uuid.UUID(int=_flyte_random.random.getrandbits(128)).hex - return _os.path.join(_gcp_config.GCS_PREFIX.get(), key)
+ prefix = self.raw_output_data_prefix_override or _gcp_config.GCS_PREFIX.get() + return _os.path.join(prefix, key)
[docs] def get_random_directory(self): """ diff --git a/_modules/flytekit/interfaces/data/http/http_data_proxy.html b/_modules/flytekit/interfaces/data/http/http_data_proxy.html index 883e9818ab..b4fdb7839b 100644 --- a/_modules/flytekit/interfaces/data/http/http_data_proxy.html +++ b/_modules/flytekit/interfaces/data/http/http_data_proxy.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.http.http_data_proxy — Flyte 0.6.0 documentation + flytekit.interfaces.data.http.http_data_proxy — Flyte 0.7.0 documentation @@ -163,8 +163,9 @@

Source code for flytekit.interfaces.data.http.http_data_proxy

from __future__ import absolute_import import requests as _requests -from flytekit.interfaces.data import common as _common_data + from flytekit.common.exceptions import user as _user_exceptions +from flytekit.interfaces.data import common as _common_data
[docs]class HttpFileProxy(_common_data.DataProxy): @@ -179,14 +180,15 @@

Source code for flytekit.interfaces.data.http.http_data_proxy

:rtype bool: whether the file exists or not """ rsp = _requests.head(path) - allowed_codes = {type(self)._HTTP_OK, type(self)._HTTP_NOT_FOUND, type(self)._HTTP_FORBIDDEN} + allowed_codes = { + type(self)._HTTP_OK, + type(self)._HTTP_NOT_FOUND, + type(self)._HTTP_FORBIDDEN, + } if rsp.status_code not in allowed_codes: raise _user_exceptions.FlyteValueException( rsp.status_code, - "Data at {} could not be checked for existence. Expected one of: {}".format( - path, - allowed_codes - ) + "Data at {} could not be checked for existence. Expected one of: {}".format(path, allowed_codes), ) return rsp.status_code == type(self)._HTTP_OK
@@ -207,9 +209,9 @@

Source code for flytekit.interfaces.data.http.http_data_proxy

if rsp.status_code != type(self)._HTTP_OK: raise _user_exceptions.FlyteValueException( rsp.status_code, - "Request for data @ {} failed. Expected status code {}".format(from_path, type(self)._HTTP_OK) + "Request for data @ {} failed. Expected status code {}".format(from_path, type(self)._HTTP_OK), ) - with open(to_path, 'wb') as writer: + with open(to_path, "wb") as writer: writer.write(rsp.content)
[docs] def upload(self, from_path, to_path): diff --git a/_modules/flytekit/interfaces/data/local/local_file_proxy.html b/_modules/flytekit/interfaces/data/local/local_file_proxy.html index e9209d6d35..d58dd68a88 100644 --- a/_modules/flytekit/interfaces/data/local/local_file_proxy.html +++ b/_modules/flytekit/interfaces/data/local/local_file_proxy.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.local.local_file_proxy — Flyte 0.6.0 documentation + flytekit.interfaces.data.local.local_file_proxy — Flyte 0.7.0 documentation @@ -166,8 +166,9 @@

Source code for flytekit.interfaces.data.local.local_file_proxy

import uuid as _uuid from distutils import dir_util as _dir_util from shutil import copyfile as _copyfile -from flytekit.interfaces.data import common as _common_data + from flytekit.interfaces import random as _flyte_random +from flytekit.interfaces.data import common as _common_data def _make_local_path(path): @@ -180,7 +181,6 @@

Source code for flytekit.interfaces.data.local.local_file_proxy

[docs]class LocalFileProxy(_common_data.DataProxy): - def __init__(self, sandbox): """ :param Text sandbox: diff --git a/_modules/flytekit/interfaces/data/s3/s3proxy.html b/_modules/flytekit/interfaces/data/s3/s3proxy.html index 9d92963772..0cc05c9a82 100644 --- a/_modules/flytekit/interfaces/data/s3/s3proxy.html +++ b/_modules/flytekit/interfaces/data/s3/s3proxy.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.s3.s3proxy — Flyte 0.6.0 documentation + flytekit.interfaces.data.s3.s3proxy — Flyte 0.7.0 documentation @@ -162,19 +162,23 @@

Source code for flytekit.interfaces.data.s3.s3proxy

 from __future__ import absolute_import
 
+import logging
 import os as _os
 import re as _re
 import string as _string
 import sys as _sys
+import time
 import uuid as _uuid
-from six import moves as _six_moves, text_type as _text_type
+from typing import Dict, List
 
+from six import moves as _six_moves
+from six import text_type as _text_type
+
+from flytekit.common.exceptions.user import FlyteUserException as _FlyteUserException
 from flytekit.configuration import aws as _aws_config
 from flytekit.interfaces import random as _flyte_random
 from flytekit.interfaces.data import common as _common_data
 from flytekit.tools import subprocess as _subprocess
-from flytekit.common.exceptions.user import FlyteUserException as _FlyteUserException
-
 
 if _sys.version_info >= (3,):
     from shutil import which as _which
@@ -182,9 +186,12 @@ 

Source code for flytekit.interfaces.data.s3.s3proxy

from distutils.spawn import find_executable as _which -def _update_cmd_config_and_execute(cmd): +def _update_cmd_config_and_execute(cmd: List[str]): env = _os.environ.copy() + if _aws_config.ENABLE_DEBUG.get(): + cmd.insert(1, "--debug") + if _aws_config.S3_ENDPOINT.get() is not None: cmd.insert(1, _aws_config.S3_ENDPOINT.get()) cmd.insert(1, _aws_config.S3_ENDPOINT_ARG_NAME) @@ -195,20 +202,55 @@

Source code for flytekit.interfaces.data.s3.s3proxy

if _aws_config.S3_SECRET_ACCESS_KEY.get() is not None: env[_aws_config.S3_SECRET_ACCESS_KEY_ENV_NAME] = _aws_config.S3_SECRET_ACCESS_KEY.get() - return _subprocess.check_call(cmd, env=env) + retry = 0 + try: + return _subprocess.check_call(cmd, env=env) + except Exception as e: + logging.error("Exception when trying to execute {}, reason: {}", cmd, str(e)) + retry += 1 + if retry > _aws_config.RETRIES: + raise + secs = _aws_config.BACKOFF_SECONDS + logging.info("Sleeping before retrying again, after {} seconds".format(secs)) + time.sleep(secs) + logging.info("Retrying again") + + +def _extra_args(extra_args: Dict[str, str]) -> List[str]: + cmd = [] + if "ContentType" in extra_args: + cmd += ["--content-type", extra_args["ContentType"]] + if "ContentEncoding" in extra_args: + cmd += ["--content-encoding", extra_args["ContentEncoding"]] + if "ACL" in extra_args: + cmd += ["--acl", extra_args["ACL"]] + return cmd
[docs]class AwsS3Proxy(_common_data.DataProxy): _AWS_CLI = "aws" _SHARD_CHARACTERS = [_text_type(x) for x in _six_moves.range(10)] + list(_string.ascii_lowercase) + def __init__(self, raw_output_data_prefix_override: str = None): + """ + :param raw_output_data_prefix_override: Instead of relying on the AWS or GCS configuration (see + S3_SHARD_FORMATTER for AWS and GCS_PREFIX for GCP) setting when computing the shard + path (_get_shard_path), use this prefix instead as a base. This code assumes that the + path passed in is correct. That is, an S3 path won't be passed in when running on GCP. + """ + self._raw_output_data_prefix_override = raw_output_data_prefix_override + + @property + def raw_output_data_prefix_override(self) -> str: + return self._raw_output_data_prefix_override + @staticmethod def _check_binary(): """ Make sure that the AWS cli is present """ if not _which(AwsS3Proxy._AWS_CLI): - raise _FlyteUserException('AWS CLI not found at Please install.') + raise _FlyteUserException("AWS CLI not found at Please install.") @staticmethod def _split_s3_path_to_bucket_and_key(path): @@ -216,9 +258,9 @@

Source code for flytekit.interfaces.data.s3.s3proxy

:param Text path: :rtype: (Text, Text) """ - path = path[len("s3://"):] - first_slash = path.index('/') - return path[:first_slash], path[first_slash + 1:] + path = path[len("s3://") :] + first_slash = path.index("/") + return path[:first_slash], path[first_slash + 1 :]
[docs] def exists(self, remote_path): """ @@ -231,7 +273,15 @@

Source code for flytekit.interfaces.data.s3.s3proxy

raise ValueError("Not an S3 ARN. Please use FQN (S3 ARN) of the format s3://...") bucket, file_path = self._split_s3_path_to_bucket_and_key(remote_path) - cmd = [AwsS3Proxy._AWS_CLI, "s3api", "head-object", "--bucket", bucket, "--key", file_path] + cmd = [ + AwsS3Proxy._AWS_CLI, + "s3api", + "head-object", + "--bucket", + bucket, + "--key", + file_path, + ] try: _update_cmd_config_and_execute(cmd) return True @@ -240,7 +290,7 @@

Source code for flytekit.interfaces.data.s3.s3proxy

# the http status code: "An error occurred (404) when calling the HeadObject operation: Not Found" # This is a best effort for returning if the object does not exist by searching # for existence of (404) in the error message. This should not be needed when we get off the cli and use lib - if _re.search('(404)', _text_type(ex)): + if _re.search("(404)", _text_type(ex)): return False else: raise ex
@@ -278,16 +328,11 @@

Source code for flytekit.interfaces.data.s3.s3proxy

AwsS3Proxy._check_binary() extra_args = { - 'ACL': 'bucket-owner-full-control', + "ACL": "bucket-owner-full-control", } cmd = [AwsS3Proxy._AWS_CLI, "s3", "cp"] - if "ContentType" in extra_args: - cmd += ["--content-type", extra_args["ContentType"]] - if "ContentEncoding" in extra_args: - cmd += ["--content-encoding", extra_args["ContentEncoding"]] - if "ACL" in extra_args: - cmd += ["--acl", extra_args["ACL"]] + cmd.extend(_extra_args(extra_args)) cmd += [file_path, to_path] return _update_cmd_config_and_execute(cmd)
@@ -298,7 +343,7 @@

Source code for flytekit.interfaces.data.s3.s3proxy

:param Text remote_path: """ extra_args = { - 'ACL': 'bucket-owner-full-control', + "ACL": "bucket-owner-full-control", } if not remote_path.startswith("s3://"): @@ -306,12 +351,7 @@

Source code for flytekit.interfaces.data.s3.s3proxy

AwsS3Proxy._check_binary() cmd = [AwsS3Proxy._AWS_CLI, "s3", "cp", "--recursive"] - if "ContentType" in extra_args: - cmd += ["--content-type", extra_args["ContentType"]] - if "ContentEncoding" in extra_args: - cmd += ["--content-encoding", extra_args["ContentEncoding"]] - if "ACL" in extra_args: - cmd += ["--acl", extra_args["ACL"]] + cmd.extend(_extra_args(extra_args)) cmd += [local_path, remote_path] return _update_cmd_config_and_execute(cmd)
@@ -332,10 +372,14 @@

Source code for flytekit.interfaces.data.s3.s3proxy

""" return self.get_random_path() + "/"
- def _get_shard_path(self): + def _get_shard_path(self) -> str: """ - :rtype: Text + If this object was created with a raw output data prefix, usually set by Propeller/Plugins at execution time + and piped all the way here, it will be used instead of referencing the S3 shard configuration. """ + if self.raw_output_data_prefix_override: + return self.raw_output_data_prefix_override + shard = "" for _ in _six_moves.range(_aws_config.S3_SHARD_STRING_LENGTH.get()): shard += _flyte_random.random.choice(self._SHARD_CHARACTERS) diff --git a/_modules/flytekit/interfaces/random.html b/_modules/flytekit/interfaces/random.html index c8b839f0ca..261326efcd 100644 --- a/_modules/flytekit/interfaces/random.html +++ b/_modules/flytekit/interfaces/random.html @@ -8,7 +8,7 @@ - flytekit.interfaces.random — Flyte 0.6.0 documentation + flytekit.interfaces.random — Flyte 0.7.0 documentation @@ -161,6 +161,7 @@

Source code for flytekit.interfaces.random

 from __future__ import absolute_import
+
 import random as _random
 
 random = _random.Random()
diff --git a/_modules/flytekit/interfaces/stats/client.html b/_modules/flytekit/interfaces/stats/client.html
index 1ef1227eb3..528745e30f 100644
--- a/_modules/flytekit/interfaces/stats/client.html
+++ b/_modules/flytekit/interfaces/stats/client.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.interfaces.stats.client — Flyte 0.6.0 documentation
+  flytekit.interfaces.stats.client — Flyte 0.7.0 documentation
   
 
   
@@ -172,10 +172,11 @@ 

Source code for flytekit.interfaces.stats.client

from flytekit.configuration import statsd as _statsd_config RESERVED_TAG_WORDS = frozenset( - ['asg', 'az', 'backend', 'canary', 'host', 'period', 'region', 'shard', 'window', 'source']) + ["asg", "az", "backend", "canary", "host", "period", "region", "shard", "window", "source"] +) # TODO should this be a whitelist instead? -FORBIDDEN_TAG_VALUE_CHARACTERS = re.compile('[|.:]') +FORBIDDEN_TAG_VALUE_CHARACTERS = re.compile("[|.:]") _stats_client = None @@ -201,29 +202,31 @@

Source code for flytekit.interfaces.stats.client

for extendable_func in self.EXTENDABLE_FUNC: base_func = getattr(self._client, extendable_func) if base_func: - setattr(self, - extendable_func, - self._create_wrapped_function(base_func)) + setattr(self, extendable_func, self._create_wrapped_function(base_func)) def _create_wrapped_function(self, base_func): if self._scope_prefix: + def name_wrap(stat, *args, **kwargs): - tags = kwargs.pop('tags', {}) - if kwargs.pop('per_host', False): - tags['_f'] = 'i' + tags = kwargs.pop("tags", {}) + if kwargs.pop("per_host", False): + tags["_f"] = "i" if bool(tags): stat = self._serialize_tags(stat, tags) return base_func(self._p_with_prefix(stat), *args, **kwargs) + else: + def name_wrap(stat, *args, **kwargs): - tags = kwargs.pop('tags', {}) - if kwargs.pop('per_host', False): - tags['_f'] = 'i' + tags = kwargs.pop("tags", {}) + if kwargs.pop("per_host", False): + tags["_f"] = "i" if bool(tags): stat = self._serialize_tags(stat, tags) return base_func(stat, *args, **kwargs) + return name_wrap
[docs] def get_stats(self, name): @@ -235,8 +238,7 @@

Source code for flytekit.interfaces.stats.client

return ScopeableStatsProxy(self._client, prefix)
[docs] def pipeline(self): - return ScopeableStatsProxy(self._client.pipeline(), - self._scope_prefix)
+ return ScopeableStatsProxy(self._client.pipeline(), self._scope_prefix)
def _p_with_prefix(self, name): if name is None: @@ -247,7 +249,7 @@

Source code for flytekit.interfaces.stats.client

if sys.version_info >= (3, 7): return name.isascii() try: - return name and name.encode('ascii') + return name and name.encode("ascii") except UnicodeEncodeError: return False @@ -263,7 +265,7 @@

Source code for flytekit.interfaces.stats.client

# if the tags fail sanity check we will not serialize the tags, and simply return the metric. if not self._is_ascii(key): return stat - tag = FORBIDDEN_TAG_VALUE_CHARACTERS.sub('_', str(tags[key])) + tag = FORBIDDEN_TAG_VALUE_CHARACTERS.sub("_", str(tags[key])) if tag != "": metric += ".__{0}={1}".format(key, tag) except UnicodeEncodeError: @@ -279,8 +281,7 @@

Source code for flytekit.interfaces.stats.client

return getattr(self._client, name) def __enter__(self): - return ScopeableStatsProxy(self._client.__enter__(), - self._scope_prefix) + return ScopeableStatsProxy(self._client.__enter__(), self._scope_prefix) def __exit__(self, exc_type, exc_value, traceback): self._client.__exit__(exc_type, exc_value, traceback)
@@ -294,6 +295,8 @@

Source code for flytekit.interfaces.stats.client

def _get_stats_client(): global _stats_client + if _statsd_config.DISABLED.get() is True: + _stats_client = DummyStatsClient() if _stats_client is None: _stats_client = statsd.StatsClient(_statsd_config.HOST.get(), _statsd_config.PORT.get()) return _stats_client @@ -305,6 +308,16 @@

Source code for flytekit.interfaces.stats.client

[docs]def get_stats(prefix): return get_base_stats(prefix)
+ + +
[docs]class DummyStatsClient(statsd.StatsClient): + """A dummy client for statsd.""" + + def __init__(self, host="localhost", port=8125, prefix=None, maxudpsize=512, ipv6=False): + super().__init__(host, port, prefix, maxudpsize, ipv6) + + def _send(self, data): + pass
diff --git a/_modules/flytekit/interfaces/stats/taggable.html b/_modules/flytekit/interfaces/stats/taggable.html index 54d96b65c1..cb9eb4a69b 100644 --- a/_modules/flytekit/interfaces/stats/taggable.html +++ b/_modules/flytekit/interfaces/stats/taggable.html @@ -8,7 +8,7 @@ - flytekit.interfaces.stats.taggable — Flyte 0.6.0 documentation + flytekit.interfaces.stats.taggable — Flyte 0.7.0 documentation @@ -176,25 +176,29 @@

Source code for flytekit.interfaces.stats.taggable

def _create_wrapped_function(self, base_func): if self._scope_prefix: + def name_wrap(stat, *args, **kwargs): - tags = kwargs.pop('tags', {}) + tags = kwargs.pop("tags", {}) tags.update(self._tags) - if kwargs.pop('per_host', False): - tags['_f'] = 'i' + if kwargs.pop("per_host", False): + tags["_f"] = "i" if bool(tags): stat = self._serialize_tags(stat, tags) return base_func(self._p_with_prefix(stat), *args, **kwargs) + else: + def name_wrap(stat, *args, **kwargs): - tags = kwargs.pop('tags', {}) + tags = kwargs.pop("tags", {}) tags.update(self._tags) - if kwargs.pop('per_host', False): - tags['_f'] = 'i' + if kwargs.pop("per_host", False): + tags["_f"] = "i" if bool(tags): stat = self._serialize_tags(stat, tags) return base_func(stat, *args, **kwargs) + return name_wrap
[docs] def clear_tags(self): @@ -205,17 +209,13 @@

Source code for flytekit.interfaces.stats.taggable

[docs] def pipeline(self): return TaggableStats( - self._client.pipeline(), - self._full_prefix, - prefix=self._scope_prefix, - tags=dict(self._tags))
+ self._client.pipeline(), self._full_prefix, prefix=self._scope_prefix, tags=dict(self._tags), + )
def __enter__(self): return TaggableStats( - self._client.__enter__(), - self._full_prefix, - prefix=self._scope_prefix, - tags=dict(self._tags)) + self._client.__enter__(), self._full_prefix, prefix=self._scope_prefix, tags=dict(self._tags), + )
[docs] def get_stats(self, name, copy_tags=True): if not self._scope_prefix or self._scope_prefix == "": @@ -224,7 +224,7 @@

Source code for flytekit.interfaces.stats.taggable

prefix = self._scope_prefix + "." + name if self._full_prefix: - full_prefix = self._full_prefix + '.' + prefix + full_prefix = self._full_prefix + "." + prefix else: full_prefix = prefix diff --git a/_modules/flytekit/models/admin/common.html b/_modules/flytekit/models/admin/common.html index 03a1228fd7..8b9aab11a2 100644 --- a/_modules/flytekit/models/admin/common.html +++ b/_modules/flytekit/models/admin/common.html @@ -8,7 +8,7 @@ - flytekit.models.admin.common — Flyte 0.6.0 documentation + flytekit.models.admin.common — Flyte 0.7.0 documentation @@ -162,12 +162,12 @@

Source code for flytekit.models.admin.common

 from __future__ import absolute_import
 
-from flytekit.models import common as _common
 from flyteidl.admin import common_pb2 as _common_pb2
 
+from flytekit.models import common as _common
+
 
 
[docs]class Sort(_common.FlyteIdlEntity): -
[docs] class Direction(object): DESCENDING = _common_pb2.Sort.DESCENDING ASCENDING = _common_pb2.Sort.ASCENDING
@@ -215,18 +215,22 @@

Source code for flytekit.models.admin.common

        :rtype: Sort
         """
         text = text.strip()
-        if text[-1] != ')':
-            raise ValueError("Could not parse string.  Must be in format 'asc(key)' or 'desc(key)'.  '{}' did not "
-                             "end with ')'.".format(text))
+        if text[-1] != ")":
+            raise ValueError(
+                "Could not parse string.  Must be in format 'asc(key)' or 'desc(key)'.  '{}' did not "
+                "end with ')'.".format(text)
+            )
         if text.startswith("asc("):
             direction = Sort.Direction.ASCENDING
-            key = text[len("asc("):-1].strip()
+            key = text[len("asc(") : -1].strip()
         elif text.startswith("desc("):
             direction = Sort.Direction.DESCENDING
-            key = text[len("desc("):-1].strip()
+            key = text[len("desc(") : -1].strip()
         else:
-            raise ValueError("Could not parse string.  Must be in format 'asc(key)' or 'desc(key)'.  '{}' did not "
-                             "start with 'asc(' or 'desc'.".format(text))
+            raise ValueError(
+                "Could not parse string.  Must be in format 'asc(key)' or 'desc(key)'.  '{}' did not "
+                "start with 'asc(' or 'desc'.".format(text)
+            )
         return cls(key=key, direction=direction)
diff --git a/_modules/flytekit/models/admin/task_execution.html b/_modules/flytekit/models/admin/task_execution.html index d370fd7716..28bea1dde5 100644 --- a/_modules/flytekit/models/admin/task_execution.html +++ b/_modules/flytekit/models/admin/task_execution.html @@ -8,7 +8,7 @@ - flytekit.models.admin.task_execution — Flyte 0.6.0 documentation + flytekit.models.admin.task_execution — Flyte 0.7.0 documentation @@ -161,14 +161,18 @@

Source code for flytekit.models.admin.task_execution

 from __future__ import absolute_import
-from flytekit.models import common as _common
-from flytekit.models.core import identifier as _identifier, execution as _execution
+
 from flyteidl.admin import task_execution_pb2 as _task_execution_pb2
 
+from flytekit.models import common as _common
+from flytekit.models.core import execution as _execution
+from flytekit.models.core import identifier as _identifier
+
 
 
[docs]class TaskExecutionClosure(_common.FlyteIdlEntity): - - def __init__(self, phase, logs, started_at, duration, created_at, updated_at, output_uri=None, error=None): + def __init__( + self, phase, logs, started_at, duration, created_at, updated_at, output_uri=None, error=None, + ): """ :param int phase: Enum value from flytekit.models.core.execution.TaskExecutionPhase :param list[flytekit.models.core.execution.TaskLog] logs: List of all logs associated with the execution. @@ -255,7 +259,7 @@

Source code for flytekit.models.admin.task_execution

phase=self.phase, logs=[l.to_flyte_idl() for l in self.logs], output_uri=self.output_uri, - error=self.error.to_flyte_idl() if self.error is not None else None + error=self.error.to_flyte_idl() if self.error is not None else None, ) p.started_at.FromDatetime(self.started_at) p.created_at.FromDatetime(self.created_at) @@ -277,12 +281,11 @@

Source code for flytekit.models.admin.task_execution

started_at=p.started_at.ToDatetime(), created_at=p.created_at.ToDatetime(), updated_at=p.updated_at.ToDatetime(), - duration=p.duration.ToTimedelta() + duration=p.duration.ToTimedelta(), )
[docs]class TaskExecution(_common.FlyteIdlEntity): - def __init__(self, id, input_uri, closure, is_parent): """ :param flytekit.models.core.identifier.TaskExecutionIdentifier id: @@ -331,7 +334,7 @@

Source code for flytekit.models.admin.task_execution

id=self.id.to_flyte_idl(), input_uri=self.input_uri, closure=self.closure.to_flyte_idl(), - is_parent=self.is_parent + is_parent=self.is_parent, )
[docs] @classmethod diff --git a/_modules/flytekit/models/admin/workflow.html b/_modules/flytekit/models/admin/workflow.html index 489f5299ae..88ffd0dcd1 100644 --- a/_modules/flytekit/models/admin/workflow.html +++ b/_modules/flytekit/models/admin/workflow.html @@ -8,7 +8,7 @@ - flytekit.models.admin.workflow — Flyte 0.6.0 documentation + flytekit.models.admin.workflow — Flyte 0.7.0 documentation @@ -161,13 +161,16 @@

Source code for flytekit.models.admin.workflow

 from __future__ import absolute_import
-from flytekit.models import common as _common
-from flytekit.models.core import compiler as _compiler_models, identifier as _identifier, workflow as _core_workflow
+
 from flyteidl.admin import workflow_pb2 as _admin_workflow
 
+from flytekit.models import common as _common
+from flytekit.models.core import compiler as _compiler_models
+from flytekit.models.core import identifier as _identifier
+from flytekit.models.core import workflow as _core_workflow
 
-
[docs]class WorkflowSpec(_common.FlyteIdlEntity): +
[docs]class WorkflowSpec(_common.FlyteIdlEntity): def __init__(self, template, sub_workflows): """ This object fully encapsulates the specification of a workflow @@ -196,8 +199,7 @@

Source code for flytekit.models.admin.workflow

:rtype: flyteidl.admin.workflow_pb2.WorkflowSpec """ return _admin_workflow.WorkflowSpec( - template=self._template.to_flyte_idl(), - sub_workflows=[s.to_flyte_idl() for s in self._sub_workflows], + template=self._template.to_flyte_idl(), sub_workflows=[s.to_flyte_idl() for s in self._sub_workflows], )

[docs] @classmethod @@ -206,17 +208,14 @@

Source code for flytekit.models.admin.workflow

:param pb2_object: flyteidl.admin.workflow_pb2.WorkflowSpec :rtype: WorkflowSpec """ - return cls(_core_workflow.WorkflowTemplate.from_flyte_idl(pb2_object.template), - [_core_workflow.WorkflowTemplate.from_flyte_idl(s) for s in pb2_object.sub_workflows])

+ return cls( + _core_workflow.WorkflowTemplate.from_flyte_idl(pb2_object.template), + [_core_workflow.WorkflowTemplate.from_flyte_idl(s) for s in pb2_object.sub_workflows], + )
[docs]class Workflow(_common.FlyteIdlEntity): - - def __init__( - self, - id, - closure - ): + def __init__(self, id, closure): """ :param flytekit.models.core.identifier.Identifier id: :param WorkflowClosure closure: @@ -242,10 +241,7 @@

Source code for flytekit.models.admin.workflow

""" :rtype: flyteidl.admin.workflow_pb2.Workflow """ - return _admin_workflow.Workflow( - id=self.id.to_flyte_idl(), - closure=self.closure.to_flyte_idl() - )

+ return _admin_workflow.Workflow(id=self.id.to_flyte_idl(), closure=self.closure.to_flyte_idl())
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -255,12 +251,11 @@

Source code for flytekit.models.admin.workflow

""" return cls( id=_identifier.Identifier.from_flyte_idl(pb2_object.id), - closure=WorkflowClosure.from_flyte_idl(pb2_object.closure) + closure=WorkflowClosure.from_flyte_idl(pb2_object.closure), )

[docs]class WorkflowClosure(_common.FlyteIdlEntity): - def __init__(self, compiled_workflow): """ :param flytekit.models.core.compiler.CompiledWorkflowClosure compiled_workflow: @@ -278,9 +273,7 @@

Source code for flytekit.models.admin.workflow

""" :rtype: flyteidl.admin.workflow_pb2.WorkflowClosure """ - return _admin_workflow.WorkflowClosure( - compiled_workflow=self.compiled_workflow.to_flyte_idl() - )

+ return _admin_workflow.WorkflowClosure(compiled_workflow=self.compiled_workflow.to_flyte_idl())
[docs] @classmethod def from_flyte_idl(cls, p): @@ -288,9 +281,7 @@

Source code for flytekit.models.admin.workflow

:param flyteidl.admin.workflow_pb2.WorkflowClosure p: :rtype: WorkflowClosure """ - return cls( - compiled_workflow=_compiler_models.CompiledWorkflowClosure.from_flyte_idl(p.compiled_workflow) - )

+ return cls(compiled_workflow=_compiler_models.CompiledWorkflowClosure.from_flyte_idl(p.compiled_workflow))
diff --git a/_modules/flytekit/models/array_job.html b/_modules/flytekit/models/array_job.html index 9245f29a2c..3153872821 100644 --- a/_modules/flytekit/models/array_job.html +++ b/_modules/flytekit/models/array_job.html @@ -8,7 +8,7 @@ - flytekit.models.array_job — Flyte 0.6.0 documentation + flytekit.models.array_job — Flyte 0.7.0 documentation @@ -171,7 +171,6 @@

Source code for flytekit.models.array_job

 
 
 
[docs]class ArrayJob(_common.FlyteCustomIdlEntity): - def __init__(self, parallelism, size, min_successes): """ Initializes a new ArrayJob. @@ -226,11 +225,9 @@

Source code for flytekit.models.array_job

         """
         :rtype: dict[T, Text]
         """
-        return _json_format.MessageToDict(_array_job.ArrayJob(
-            parallelism=self.parallelism,
-            size=self.size,
-            min_successes=self.min_successes
-        ))
+ return _json_format.MessageToDict( + _array_job.ArrayJob(parallelism=self.parallelism, size=self.size, min_successes=self.min_successes,) + )
[docs] @classmethod def from_dict(cls, idl_dict): @@ -240,11 +237,7 @@

Source code for flytekit.models.array_job

         """
         pb2_object = _json_format.Parse(_json.dumps(idl_dict), _array_job.ArrayJob())
 
-        return cls(
-            parallelism=pb2_object.parallelism,
-            size=pb2_object.size,
-            min_successes=pb2_object.min_successes
-        )
+ return cls(parallelism=pb2_object.parallelism, size=pb2_object.size, min_successes=pb2_object.min_successes,)
diff --git a/_modules/flytekit/models/common.html b/_modules/flytekit/models/common.html index 4184f8537f..b425f1bfda 100644 --- a/_modules/flytekit/models/common.html +++ b/_modules/flytekit/models/common.html @@ -8,7 +8,7 @@ - flytekit.models.common — Flyte 0.6.0 documentation + flytekit.models.common — Flyte 0.7.0 documentation @@ -167,7 +167,8 @@

Source code for flytekit.models.common

 
 import six as _six
 from flyteidl.admin import common_pb2 as _common_pb2
-from google.protobuf import json_format as _json_format, struct_pb2 as _struct
+from google.protobuf import json_format as _json_format
+from google.protobuf import struct_pb2 as _struct
 
 
 
[docs]class FlyteABCMeta(_abc.ABCMeta): @@ -178,7 +179,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class FlyteType(FlyteABCMeta): - def __repr__(cls): return cls.short_class_string() @@ -203,10 +203,8 @@

Source code for flytekit.models.common

 
 
 
[docs]class FlyteIdlEntity(_six.with_metaclass(FlyteType, object)): - def __eq__(self, other): - return isinstance(other, FlyteIdlEntity) and \ - other.to_flyte_idl() == self.to_flyte_idl() + return isinstance(other, FlyteIdlEntity) and other.to_flyte_idl() == self.to_flyte_idl() def __ne__(self, other): return not (self == other) @@ -242,7 +240,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class FlyteCustomIdlEntity(FlyteIdlEntity): -
[docs] @classmethod def from_flyte_idl(cls, idl_object): """ @@ -269,7 +266,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class NamedEntityIdentifier(FlyteIdlEntity): - def __init__(self, project, domain, name=None): """ :param Text project: The name of the project in which this entity lives. @@ -311,11 +307,7 @@

Source code for flytekit.models.common

         """
 
         # We use the kwarg constructor of the protobuf and setting name=None is equivalent to not setting it at all
-        return _common_pb2.NamedEntityIdentifier(
-            project=self.project,
-            domain=self.domain,
-            name=self.name
-        )
+ return _common_pb2.NamedEntityIdentifier(project=self.project, domain=self.domain, name=self.name)
[docs] @classmethod def from_flyte_idl(cls, idl_object): @@ -327,7 +319,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class EmailNotification(FlyteIdlEntity): - def __init__(self, recipients_email): """ :param list[Text] recipients_email: @@ -357,7 +348,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class SlackNotification(FlyteIdlEntity): - def __init__(self, recipients_email): """ :param list[Text] recipients_email: @@ -387,7 +377,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class PagerDutyNotification(FlyteIdlEntity): - def __init__(self, recipients_email): """ :param list[Text] recipients_email: @@ -417,7 +406,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class Notification(FlyteIdlEntity): - def __init__(self, phases, email=None, pager_duty=None, slack=None): """ Represents a structure for notifications based on execution status. @@ -469,7 +457,7 @@

Source code for flytekit.models.common

             phases=self.phases,
             email=self.email.to_flyte_idl() if self.email else None,
             pager_duty=self.pager_duty.to_flyte_idl() if self.pager_duty else None,
-            slack=self.slack.to_flyte_idl() if self.slack else None
+            slack=self.slack.to_flyte_idl() if self.slack else None,
         )
[docs] @classmethod @@ -503,9 +491,7 @@

Source code for flytekit.models.common

         """
         :rtype: dict[Text, Text]
         """
-        return _common_pb2.Labels(
-            values={k: v for k, v in _six.iteritems(self.values)}
-        )
+ return _common_pb2.Labels(values={k: v for k, v in _six.iteritems(self.values)})
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -533,9 +519,7 @@

Source code for flytekit.models.common

         """
         :rtype: _common_pb2.Annotations
         """
-        return _common_pb2.Annotations(
-            values={k: v for k, v in _six.iteritems(self.values)}
-        )
+ return _common_pb2.Annotations(values={k: v for k, v in _six.iteritems(self.values)})
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -547,7 +531,6 @@

Source code for flytekit.models.common

 
 
 
[docs]class UrlBlob(FlyteIdlEntity): - def __init__(self, url, bytes): """ :param Text url: @@ -631,11 +614,32 @@

Source code for flytekit.models.common

         """
         return cls(
             assumable_iam_role=pb2_object.assumable_iam_role if pb2_object.HasField("assumable_iam_role") else None,
-            kubernetes_service_account=pb2_object.kubernetes_service_account if
-            pb2_object.HasField("kubernetes_service_account") else None,
+            kubernetes_service_account=pb2_object.kubernetes_service_account
+            if pb2_object.HasField("kubernetes_service_account")
+            else None,
         )
+
[docs]class RawOutputDataConfig(FlyteIdlEntity): + def __init__(self, output_location_prefix): + """ + :param Text output_location_prefix: Location of offloaded data for things like S3, etc. + """ + self._output_location_prefix = output_location_prefix + + @property + def output_location_prefix(self): + return self._output_location_prefix + +
[docs] def to_flyte_idl(self): + """ + :rtype: flyteidl.admin.common_pb2.Auth + """ + return _common_pb2.RawOutputDataConfig(output_location_prefix=self.output_location_prefix)
+ +
[docs] @classmethod + def from_flyte_idl(cls, pb2): + return cls(output_location_prefix=pb2.output_location_prefix)
diff --git a/_modules/flytekit/models/core/compiler.html b/_modules/flytekit/models/core/compiler.html index 59ff0551c6..c8d3d6edd5 100644 --- a/_modules/flytekit/models/core/compiler.html +++ b/_modules/flytekit/models/core/compiler.html @@ -8,7 +8,7 @@ - flytekit.models.core.compiler — Flyte 0.6.0 documentation + flytekit.models.core.compiler — Flyte 0.7.0 documentation @@ -162,15 +162,14 @@

Source code for flytekit.models.core.compiler

 from __future__ import absolute_import
 
+import six as _six
 from flyteidl.core import compiler_pb2 as _compiler_pb2
+
 from flytekit.models import common as _common
 from flytekit.models.core import workflow as _core_workflow_models
 
-import six as _six
-
 
 
[docs]class ConnectionSet(_common.FlyteIdlEntity): -
[docs] class IdList(_common.FlyteIdlEntity): def __init__(self, ids): """ @@ -227,7 +226,7 @@

Source code for flytekit.models.core.compiler

""" return _compiler_pb2.ConnectionSet( upstream={k: v.to_flyte_idl() for k, v in _six.iteritems(self.upstream)}, - downstream={k: v.to_flyte_idl() for k, v in _six.iteritems(self.upstream)} + downstream={k: v.to_flyte_idl() for k, v in _six.iteritems(self.upstream)}, )
[docs] @classmethod @@ -238,12 +237,11 @@

Source code for flytekit.models.core.compiler

""" return cls( upstream={k: ConnectionSet.IdList.from_flyte_idl(v) for k, v in _six.iteritems(p.upstream)}, - downstream={k: ConnectionSet.IdList.from_flyte_idl(v) for k, v in _six.iteritems(p.downstream)} + downstream={k: ConnectionSet.IdList.from_flyte_idl(v) for k, v in _six.iteritems(p.downstream)}, )
[docs]class CompiledWorkflow(_common.FlyteIdlEntity): - def __init__(self, template, connections): """ :param flytekit.models.core.workflow.WorkflowTemplate template: @@ -271,8 +269,7 @@

Source code for flytekit.models.core.compiler

:rtype: flyteidl.core.compiler_pb2.CompiledWorkflow """ return _compiler_pb2.CompiledWorkflow( - template=self.template.to_flyte_idl(), - connections=self.connections.to_flyte_idl() + template=self.template.to_flyte_idl(), connections=self.connections.to_flyte_idl(), )
[docs] @classmethod @@ -283,13 +280,12 @@

Source code for flytekit.models.core.compiler

""" return cls( template=_core_workflow_models.WorkflowTemplate.from_flyte_idl(p.template), - connections=ConnectionSet.from_flyte_idl(p.connections) + connections=ConnectionSet.from_flyte_idl(p.connections), )
# TODO: properly sort out the model code and remove one of these duplicate CompiledTasks
[docs]class CompiledTask(_common.FlyteIdlEntity): - def __init__(self, template): """ :param TODO template: @@ -307,9 +303,7 @@

Source code for flytekit.models.core.compiler

""" :rtype: flyteidl.core.compiler_pb2.CompiledTask """ - return _compiler_pb2.CompiledTask( - template=self.template # TODO: .to_flyte_idl() - )
+ return _compiler_pb2.CompiledTask(template=self.template) # TODO: .to_flyte_idl()
[docs] @classmethod def from_flyte_idl(cls, p): @@ -322,7 +316,6 @@

Source code for flytekit.models.core.compiler

[docs]class CompiledWorkflowClosure(_common.FlyteIdlEntity): - def __init__(self, primary, sub_workflows, tasks): """ :param CompiledWorkflow primary: @@ -361,7 +354,7 @@

Source code for flytekit.models.core.compiler

return _compiler_pb2.CompiledWorkflowClosure( primary=self.primary.to_flyte_idl(), sub_workflows=[s.to_flyte_idl() for s in self.sub_workflows], - tasks=[t.to_flyte_idl() for t in self.tasks] + tasks=[t.to_flyte_idl() for t in self.tasks], )
[docs] @classmethod @@ -373,10 +366,11 @@

Source code for flytekit.models.core.compiler

# This import is here to prevent a circular dependency issue. # TODO: properly sort out the model code and remove the duplicate CompiledTask from flytekit.models.task import CompiledTask as _CompiledTask + return cls( primary=CompiledWorkflow.from_flyte_idl(p.primary), sub_workflows=[CompiledWorkflow.from_flyte_idl(s) for s in p.sub_workflows], - tasks=[_CompiledTask.from_flyte_idl(t) for t in p.tasks] + tasks=[_CompiledTask.from_flyte_idl(t) for t in p.tasks], )
diff --git a/_modules/flytekit/models/core/condition.html b/_modules/flytekit/models/core/condition.html index cf6e0cada4..0ca6c10c11 100644 --- a/_modules/flytekit/models/core/condition.html +++ b/_modules/flytekit/models/core/condition.html @@ -8,7 +8,7 @@ - flytekit.models.core.condition — Flyte 0.6.0 documentation + flytekit.models.core.condition — Flyte 0.7.0 documentation @@ -164,7 +164,8 @@

Source code for flytekit.models.core.condition

from flyteidl.core import condition_pb2 as _condition -from flytekit.models import common as _common, literals as _literals +from flytekit.models import common as _common +from flytekit.models import literals as _literals

[docs]class ComparisonExpression(_common.FlyteIdlEntity): @@ -221,15 +222,19 @@

Source code for flytekit.models.core.condition

""" :rtype: flyteidl.core.condition_pb2.ComparisonExpression """ - return _condition.ComparisonExpression(operator=self.operator, - left_value=self.left_value.to_flyte_idl(), - right_value=self.right_value.to_flyte_idl())

+ return _condition.ComparisonExpression( + operator=self.operator, + left_value=self.left_value.to_flyte_idl(), + right_value=self.right_value.to_flyte_idl(), + )
[docs] @classmethod def from_flyte_idl(cls, pb2_object): - return cls(operator=pb2_object.operator, - left_value=Operand.from_flyte_idl(pb2_object.left_value), - right_value=Operand.from_flyte_idl(pb2_object.right_value))
+ return cls( + operator=pb2_object.operator, + left_value=Operand.from_flyte_idl(pb2_object.left_value), + right_value=Operand.from_flyte_idl(pb2_object.right_value), + )
[docs]class ConjunctionExpression(_common.FlyteIdlEntity): @@ -277,15 +282,19 @@

Source code for flytekit.models.core.condition

""" :rtype: flyteidl.core.condition_pb2.ConjunctionExpression """ - return _condition.ConjunctionExpression(operator=self.operator, - left_expression=self.left_expression.to_flyte_idl(), - right_expression=self.right_expression.to_flyte_idl())

+ return _condition.ConjunctionExpression( + operator=self.operator, + left_expression=self.left_expression.to_flyte_idl(), + right_expression=self.right_expression.to_flyte_idl(), + )
[docs] @classmethod def from_flyte_idl(cls, pb2_object): - return cls(operator=pb2_object.operator, - left_expression=BooleanExpression.from_flyte_idl(pb2_object.left_expression), - right_expression=BooleanExpression.from_flyte_idl(pb2_object.right_expression))
+ return cls( + operator=pb2_object.operator, + left_expression=BooleanExpression.from_flyte_idl(pb2_object.left_expression), + right_expression=BooleanExpression.from_flyte_idl(pb2_object.right_expression), + )
[docs]class Operand(_common.FlyteIdlEntity): @@ -319,14 +328,18 @@

Source code for flytekit.models.core.condition

""" :rtype: flyteidl.core.condition_pb2.Operand """ - return _condition.Operand(primitive=self.primitive.to_flyte_idl() if self.primitive else None, - var=self.var if self.var else None)

+ return _condition.Operand( + primitive=self.primitive.to_flyte_idl() if self.primitive else None, var=self.var if self.var else None, + )
[docs] @classmethod def from_flyte_idl(cls, pb2_object): - return cls(primitive=_literals.Primitive.from_flyte_idl(pb2_object.primitive) if pb2_object.HasField( - 'primitive') else None, - var=pb2_object.var if pb2_object.HasField('var') else None)
+ return cls( + primitive=_literals.Primitive.from_flyte_idl(pb2_object.primitive) + if pb2_object.HasField("primitive") + else None, + var=pb2_object.var if pb2_object.HasField("var") else None, + )
[docs]class BooleanExpression(_common.FlyteIdlEntity): @@ -362,15 +375,21 @@

Source code for flytekit.models.core.condition

""" :rtype: flyteidl.core.condition_pb2.BooleanExpression """ - return _condition.BooleanExpression(conjunction=self.conjunction.to_flyte_idl() if self.conjunction else None, - comparison=self.comparison.to_flyte_idl() if self.comparison else None)

+ return _condition.BooleanExpression( + conjunction=self.conjunction.to_flyte_idl() if self.conjunction else None, + comparison=self.comparison.to_flyte_idl() if self.comparison else None, + )
[docs] @classmethod def from_flyte_idl(cls, pb2_object): - return cls(conjunction=ConjunctionExpression.from_flyte_idl( - pb2_object.conjunction) if pb2_object.HasField('conjunction') else None, - comparison=ComparisonExpression.from_flyte_idl( - pb2_object.comparison) if pb2_object.HasField('comparison') else None)
+ return cls( + conjunction=ConjunctionExpression.from_flyte_idl(pb2_object.conjunction) + if pb2_object.HasField("conjunction") + else None, + comparison=ComparisonExpression.from_flyte_idl(pb2_object.comparison) + if pb2_object.HasField("comparison") + else None, + )
diff --git a/_modules/flytekit/models/core/errors.html b/_modules/flytekit/models/core/errors.html index 6c54fde6e3..6d0045ca74 100644 --- a/_modules/flytekit/models/core/errors.html +++ b/_modules/flytekit/models/core/errors.html @@ -8,7 +8,7 @@ - flytekit.models.core.errors — Flyte 0.6.0 documentation + flytekit.models.core.errors — Flyte 0.7.0 documentation @@ -161,12 +161,13 @@

Source code for flytekit.models.core.errors

 from __future__ import absolute_import
-from flytekit.models import common as _common
+
 from flyteidl.core import errors_pb2 as _errors_pb2
 
+from flytekit.models import common as _common
+
 
 
[docs]class ContainerError(_common.FlyteIdlEntity): -
[docs] class Kind(object): NON_RECOVERABLE = _errors_pb2.ContainerError.NON_RECOVERABLE RECOVERABLE = _errors_pb2.ContainerError.RECOVERABLE
@@ -218,7 +219,6 @@

Source code for flytekit.models.core.errors

 
 
 
[docs]class ErrorDocument(_common.FlyteIdlEntity): - def __init__(self, error): """ :param ContainerError error: diff --git a/_modules/flytekit/models/core/execution.html b/_modules/flytekit/models/core/execution.html index b72e2683a7..3463ae6d5a 100644 --- a/_modules/flytekit/models/core/execution.html +++ b/_modules/flytekit/models/core/execution.html @@ -8,7 +8,7 @@ - flytekit.models.core.execution — Flyte 0.6.0 documentation + flytekit.models.core.execution — Flyte 0.7.0 documentation @@ -161,7 +161,9 @@

Source code for flytekit.models.core.execution

 from __future__ import absolute_import
+
 from flyteidl.core import execution_pb2 as _execution_pb2
+
 from flytekit.models import common as _common
 
 
@@ -274,7 +276,6 @@ 

Source code for flytekit.models.core.execution

[docs]class ExecutionError(_common.FlyteIdlEntity): - def __init__(self, code, message, error_uri): """ :param Text code: @@ -310,11 +311,7 @@

Source code for flytekit.models.core.execution

""" :rtype: flyteidl.core.execution_pb2.ExecutionError """ - return _execution_pb2.ExecutionError( - code=self.code, - message=self.message, - error_uri=self.error_uri, - )

+ return _execution_pb2.ExecutionError(code=self.code, message=self.message, error_uri=self.error_uri,)
[docs] @classmethod def from_flyte_idl(cls, p): @@ -322,15 +319,10 @@

Source code for flytekit.models.core.execution

:param flyteidl.core.execution_pb2.ExecutionError p: :rtype: ExecutionError """ - return cls( - code=p.code, - message=p.message, - error_uri=p.error_uri, - )

+ return cls(code=p.code, message=p.message, error_uri=p.error_uri,)
[docs]class TaskLog(_common.FlyteIdlEntity): -
[docs] class MessageFormat(object): UNKNOWN = _execution_pb2.TaskLog.UNKNOWN CSV = _execution_pb2.TaskLog.CSV @@ -381,11 +373,7 @@

Source code for flytekit.models.core.execution

""" :rtype: flyteidl.core.execution_pb2.TaskLog """ - p = _execution_pb2.TaskLog( - uri=self.uri, - name=self.name, - message_format=self.message_format - ) + p = _execution_pb2.TaskLog(uri=self.uri, name=self.name, message_format=self.message_format) p.ttl.FromTimedelta(self.ttl) return p

@@ -395,12 +383,7 @@

Source code for flytekit.models.core.execution

:param flyteidl.core.execution_pb2.TaskLog p: :rtype: TaskLog """ - return cls( - uri=p.uri, - name=p.name, - message_format=p.message_format, - ttl=p.ttl.ToTimedelta() - )

+ return cls(uri=p.uri, name=p.name, message_format=p.message_format, ttl=p.ttl.ToTimedelta(),)
diff --git a/_modules/flytekit/models/core/identifier.html b/_modules/flytekit/models/core/identifier.html index a89bd96100..7e89084a4d 100644 --- a/_modules/flytekit/models/core/identifier.html +++ b/_modules/flytekit/models/core/identifier.html @@ -8,7 +8,7 @@ - flytekit.models.core.identifier — Flyte 0.6.0 documentation + flytekit.models.core.identifier — Flyte 0.7.0 documentation @@ -161,9 +161,11 @@

Source code for flytekit.models.core.identifier

 from __future__ import absolute_import
-from flytekit.models import common as _common_models
+
 from flyteidl.core import identifier_pb2 as _identifier_pb2
 
+from flytekit.models import common as _common_models
+
 
 
[docs]class ResourceType(object): UNSPECIFIED = _identifier_pb2.UNSPECIFIED @@ -173,7 +175,6 @@

Source code for flytekit.models.core.identifier

<
[docs]class Identifier(_common_models.FlyteIdlEntity): - def __init__(self, resource_type, project, domain, name, version): """ :param int resource_type: enum value from ResourceType @@ -233,7 +234,7 @@

Source code for flytekit.models.core.identifier

< project=self.project, domain=self.domain, name=self.name, - version=self.version + version=self.version, )
[docs] @classmethod @@ -242,13 +243,7 @@

Source code for flytekit.models.core.identifier

< :param flyteidl.core.identifier_pb2.Identifier p: :rtype: Identifier """ - return cls( - resource_type=p.resource_type, - project=p.project, - domain=p.domain, - name=p.name, - version=p.version - )
+ return cls(resource_type=p.resource_type, project=p.project, domain=p.domain, name=p.name, version=p.version,)
[docs]class WorkflowExecutionIdentifier(_common_models.FlyteIdlEntity): @@ -287,11 +282,7 @@

Source code for flytekit.models.core.identifier

< """ :rtype: flyteidl.core.identifier_pb2.WorkflowExecutionIdentifier """ - return _identifier_pb2.WorkflowExecutionIdentifier( - project=self.project, - domain=self.domain, - name=self.name, - )
+ return _identifier_pb2.WorkflowExecutionIdentifier(project=self.project, domain=self.domain, name=self.name,)
[docs] @classmethod def from_flyte_idl(cls, p): @@ -299,15 +290,10 @@

Source code for flytekit.models.core.identifier

< :param flyteidl.core.identifier_pb2.WorkflowExecutionIdentifier p: :rtype: WorkflowExecutionIdentifier """ - return cls( - project=p.project, - domain=p.domain, - name=p.name, - )
+ return cls(project=p.project, domain=p.domain, name=p.name,)
[docs]class NodeExecutionIdentifier(_common_models.FlyteIdlEntity): - def __init__(self, node_id, execution_id): """ :param Text node_id: @@ -335,8 +321,7 @@

Source code for flytekit.models.core.identifier

< :rtype: flyteidl.core.identifier_pb2.NodeExecutionIdentifier """ return _identifier_pb2.NodeExecutionIdentifier( - node_id=self.node_id, - execution_id=self.execution_id.to_flyte_idl(), + node_id=self.node_id, execution_id=self.execution_id.to_flyte_idl(), )
[docs] @classmethod @@ -345,14 +330,10 @@

Source code for flytekit.models.core.identifier

< :param flyteidl.core.identifier_pb2.NodeExecutionIdentifier p: :rtype: NodeExecutionIdentifier """ - return cls( - node_id=p.node_id, - execution_id=WorkflowExecutionIdentifier.from_flyte_idl(p.execution_id), - )
+ return cls(node_id=p.node_id, execution_id=WorkflowExecutionIdentifier.from_flyte_idl(p.execution_id),)
[docs]class TaskExecutionIdentifier(_common_models.FlyteIdlEntity): - def __init__(self, task_id, node_execution_id, retry_attempt): """ :param Identifier task_id: The identifier for the task that is executing @@ -391,7 +372,7 @@

Source code for flytekit.models.core.identifier

< return _identifier_pb2.TaskExecutionIdentifier( task_id=self.task_id.to_flyte_idl(), node_execution_id=self.node_execution_id.to_flyte_idl(), - retry_attempt=self.retry_attempt + retry_attempt=self.retry_attempt, )
[docs] @classmethod @@ -403,7 +384,7 @@

Source code for flytekit.models.core.identifier

< return cls( task_id=Identifier.from_flyte_idl(proto.task_id), node_execution_id=NodeExecutionIdentifier.from_flyte_idl(proto.node_execution_id), - retry_attempt=proto.retry_attempt + retry_attempt=proto.retry_attempt, )
diff --git a/_modules/flytekit/models/core/types.html b/_modules/flytekit/models/core/types.html index cd5c21630c..52d9bed0ad 100644 --- a/_modules/flytekit/models/core/types.html +++ b/_modules/flytekit/models/core/types.html @@ -8,7 +8,7 @@ - flytekit.models.core.types — Flyte 0.6.0 documentation + flytekit.models.core.types — Flyte 0.7.0 documentation @@ -200,10 +200,7 @@

Source code for flytekit.models.core.types

         """
         :rtype: flyteidl.core.types_pb2.BlobType
         """
-        return _types_pb2.BlobType(
-            format=self.format,
-            dimensionality=self.dimensionality
-        )
+ return _types_pb2.BlobType(format=self.format, dimensionality=self.dimensionality)
[docs] @classmethod def from_flyte_idl(cls, proto): @@ -211,10 +208,7 @@

Source code for flytekit.models.core.types

         :param flyteidl.core.types_pb2.BlobType proto:
         :rtype: BlobType
         """
-        return cls(
-            format=proto.format,
-            dimensionality=proto.dimensionality
-        )
+ return cls(format=proto.format, dimensionality=proto.dimensionality)
diff --git a/_modules/flytekit/models/core/workflow.html b/_modules/flytekit/models/core/workflow.html index bc2f42b459..a353d9e83f 100644 --- a/_modules/flytekit/models/core/workflow.html +++ b/_modules/flytekit/models/core/workflow.html @@ -8,7 +8,7 @@ - flytekit.models.core.workflow — Flyte 0.6.0 documentation + flytekit.models.core.workflow — Flyte 0.7.0 documentation @@ -164,9 +164,13 @@

Source code for flytekit.models.core.workflow

from flyteidl.core import workflow_pb2 as _core_workflow -from flytekit.models import common as _common, interface as _interface -from flytekit.models.core import identifier as _identifier, errors as _errors, condition as _condition -from flytekit.models.literals import RetryStrategy as _RetryStrategy, Binding as _Binding +from flytekit.models import common as _common +from flytekit.models import interface as _interface +from flytekit.models.core import condition as _condition +from flytekit.models.core import errors as _errors +from flytekit.models.core import identifier as _identifier +from flytekit.models.literals import Binding as _Binding +from flytekit.models.literals import RetryStrategy as _RetryStrategy
[docs]class IfBlock(_common.FlyteIdlEntity): @@ -198,13 +202,14 @@

Source code for flytekit.models.core.workflow

""" :rtype: flyteidl.core.workflow_pb2.IfBlock """ - return _core_workflow.IfBlock(condition=self.condition.to_flyte_idl(), - then_node=self.then_node.to_flyte_idl())
+ return _core_workflow.IfBlock(condition=self.condition.to_flyte_idl(), then_node=self.then_node.to_flyte_idl(),)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): - return cls(condition=_condition.BooleanExpression.from_flyte_idl(pb2_object.condition), - then_node=Node.from_flyte_idl(pb2_object.then_node))
+ return cls( + condition=_condition.BooleanExpression.from_flyte_idl(pb2_object.condition), + then_node=Node.from_flyte_idl(pb2_object.then_node), + )
[docs]class IfElseBlock(_common.FlyteIdlEntity): @@ -264,18 +269,20 @@

Source code for flytekit.models.core.workflow

""" :rtype: flyteidl.core.workflow_pb2.IfElseBlock """ - return _core_workflow.IfElseBlock(case=self.case.to_flyte_idl(), - other=[a.to_flyte_idl() for a in self.other] if self.other else None, - else_node=self.else_node.to_flyte_idl() if self.else_node else None, - error=self.error.to_flyte_idl() if self.error else None)
+ return _core_workflow.IfElseBlock( + case=self.case.to_flyte_idl(), + other=[a.to_flyte_idl() for a in self.other] if self.other else None, + else_node=self.else_node.to_flyte_idl() if self.else_node else None, + error=self.error.to_flyte_idl() if self.error else None, + )
[docs] @classmethod def from_flyte_idl(cls, pb2_object): return cls( case=IfBlock.from_flyte_idl(pb2_object.case), other=[IfBlock.from_flyte_idl(a) for a in pb2_object.other], - else_node=Node.from_flyte_idl(pb2_object.else_node) if pb2_object.HasField('else_node') else None, - error=_errors.ContainerError.from_flyte_idl(pb2_object.error) if pb2_object.HasField('error') else None + else_node=Node.from_flyte_idl(pb2_object.else_node) if pb2_object.HasField("else_node") else None, + error=_errors.ContainerError.from_flyte_idl(pb2_object.error) if pb2_object.HasField("error") else None, )
@@ -309,7 +316,6 @@

Source code for flytekit.models.core.workflow

[docs]class NodeMetadata(_common.FlyteIdlEntity): - def __init__(self, name, timeout, retries, interruptible=False): """ Defines extra information about the Node. @@ -355,23 +361,31 @@

Source code for flytekit.models.core.workflow

""" :rtype: flyteidl.core.workflow_pb2.NodeMetadata """ - node_metadata = _core_workflow.NodeMetadata(name=self.name, retries=self.retries.to_flyte_idl(), interruptible=self.interruptible) + node_metadata = _core_workflow.NodeMetadata( + name=self.name, retries=self.retries.to_flyte_idl(), interruptible=self.interruptible, + ) node_metadata.timeout.FromTimedelta(self.timeout) return node_metadata
[docs] @classmethod def from_flyte_idl(cls, pb2_object): return cls( - pb2_object.name, - pb2_object.timeout.ToTimedelta(), - _RetryStrategy.from_flyte_idl(pb2_object.retries) + pb2_object.name, pb2_object.timeout.ToTimedelta(), _RetryStrategy.from_flyte_idl(pb2_object.retries), )
[docs]class Node(_common.FlyteIdlEntity): - - def __init__(self, id, metadata, inputs, upstream_node_ids, output_aliases, task_node=None, - workflow_node=None, branch_node=None): + def __init__( + self, + id, + metadata, + inputs, + upstream_node_ids, + output_aliases, + task_node=None, + workflow_node=None, + branch_node=None, + ): """ A Workflow graph Node. One unit of execution in the graph. Each node can be linked to a Task, a Workflow or a branch node. One of the nodes must be specified. @@ -490,7 +504,7 @@

Source code for flytekit.models.core.workflow

output_aliases=[a.to_flyte_idl() for a in self.output_aliases], task_node=self.task_node.to_flyte_idl() if self.task_node is not None else None, workflow_node=self.workflow_node.to_flyte_idl() if self.workflow_node is not None else None, - branch_node=self.branch_node.to_flyte_idl() if self.branch_node is not None else None + branch_node=self.branch_node.to_flyte_idl() if self.branch_node is not None else None, )
[docs] @classmethod @@ -505,16 +519,17 @@

Source code for flytekit.models.core.workflow

inputs=[_Binding.from_flyte_idl(b) for b in pb2_object.inputs], upstream_node_ids=pb2_object.upstream_node_ids, output_aliases=[Alias.from_flyte_idl(a) for a in pb2_object.output_aliases], - task_node=TaskNode.from_flyte_idl(pb2_object.task_node) if pb2_object.HasField('task_node') else None, + task_node=TaskNode.from_flyte_idl(pb2_object.task_node) if pb2_object.HasField("task_node") else None, workflow_node=WorkflowNode.from_flyte_idl(pb2_object.workflow_node) - if pb2_object.HasField('workflow_node') else None, - branch_node=BranchNode.from_flyte_idl(pb2_object.branch_node) if pb2_object.HasField( - 'branch_node') else None, + if pb2_object.HasField("workflow_node") + else None, + branch_node=BranchNode.from_flyte_idl(pb2_object.branch_node) + if pb2_object.HasField("branch_node") + else None, )
[docs]class TaskNode(_common.FlyteIdlEntity): - def __init__(self, reference_id): """ Refers to the task that the Node is to execute. @@ -549,7 +564,6 @@

Source code for flytekit.models.core.workflow

[docs]class WorkflowNode(_common.FlyteIdlEntity): - def __init__(self, launchplan_ref=None, sub_workflow_ref=None): """ Refers to a the workflow the node is to execute. One of the references must be supplied. @@ -591,7 +605,7 @@

Source code for flytekit.models.core.workflow

""" return _core_workflow.WorkflowNode( launchplan_ref=self.launchplan_ref.to_flyte_idl() if self.launchplan_ref else None, - sub_workflow_ref=self.sub_workflow_ref.to_flyte_idl() if self.sub_workflow_ref else None + sub_workflow_ref=self.sub_workflow_ref.to_flyte_idl() if self.sub_workflow_ref else None, )
[docs] @classmethod @@ -600,14 +614,13 @@

Source code for flytekit.models.core.workflow

:param flyteidl.core.workflow_pb2.WorkflowNode pb2_object: :rtype: WorkflowNode """ - if pb2_object.HasField('launchplan_ref'): + if pb2_object.HasField("launchplan_ref"): return cls(launchplan_ref=_identifier.Identifier.from_flyte_idl(pb2_object.launchplan_ref)) else: return cls(sub_workflow_ref=_identifier.Identifier.from_flyte_idl(pb2_object.sub_workflow_ref))
[docs]class WorkflowMetadata(_common.FlyteIdlEntity): -
[docs] class OnFailurePolicy(object): """ Defines the execution behavior of the workflow when a failure is detected. @@ -618,19 +631,19 @@

Source code for flytekit.models.core.workflow

clean up resources before finally marking the workflow executions as failed. FAIL_AFTER_EXECUTABLE_NODES_COMPLETE Instructs the system to make as much progress as it can. The system - will not alter the dependencies of the execution graph so any node + will not alter the dependencies of the execution graph so any node that depend on the failed node will not be run. Other nodes that will be executed to completion before cleaning up resources and marking the workflow execution as failed. """ - FAIL_IMMEDIATELY = _core_workflow.WorkflowMetadata.FAIL_IMMEDIATELY + FAIL_IMMEDIATELY = _core_workflow.WorkflowMetadata.FAIL_IMMEDIATELY FAIL_AFTER_EXECUTABLE_NODES_COMPLETE = _core_workflow.WorkflowMetadata.FAIL_AFTER_EXECUTABLE_NODES_COMPLETE
def __init__(self, on_failure=None): """ Metadata for the workflow. - + :param on_failure flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy: [Optional] The execution policy when the workflow detects a failure. """ self._on_failure = on_failure @@ -658,12 +671,13 @@

Source code for flytekit.models.core.workflow

:rtype: WorkflowMetadata """ return cls( - on_failure=pb2_object.on_failure if pb2_object.on_failure else WorkflowMetadata.OnFailurePolicy.FAIL_IMMEDIATELY + on_failure=pb2_object.on_failure + if pb2_object.on_failure + else WorkflowMetadata.OnFailurePolicy.FAIL_IMMEDIATELY )
[docs]class WorkflowMetadataDefaults(_common.FlyteIdlEntity): - def __init__(self, interruptible=None): """ Metadata Defaults for the workflow. @@ -674,9 +688,7 @@

Source code for flytekit.models.core.workflow

""" :rtype: flyteidl.core.workflow_pb2.WorkflowMetadataDefaults """ - return _core_workflow.WorkflowMetadataDefaults( - interruptible=self.interruptible_ - )
+ return _core_workflow.WorkflowMetadataDefaults(interruptible=self.interruptible_)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -688,8 +700,9 @@

Source code for flytekit.models.core.workflow

[docs]class WorkflowTemplate(_common.FlyteIdlEntity): - - def __init__(self, id, metadata, metadata_defaults, interface, nodes, outputs, failure_node=None): + def __init__( + self, id, metadata, metadata_defaults, interface, nodes, outputs, failure_node=None, + ): """ A workflow template encapsulates all the task, branch, and subworkflow nodes to run a statically analyzable, directed acyclic graph. It contains also metadata that tells the system how to execute the workflow (i.e. @@ -794,7 +807,7 @@

Source code for flytekit.models.core.workflow

interface=self.interface.to_flyte_idl(), nodes=[n.to_flyte_idl() for n in self.nodes], outputs=[o.to_flyte_idl() for o in self.outputs], - failure_node=self.failure_node.to_flyte_idl() if self.failure_node is not None else None + failure_node=self.failure_node.to_flyte_idl() if self.failure_node is not None else None, )
[docs] @classmethod @@ -810,12 +823,11 @@

Source code for flytekit.models.core.workflow

interface=_interface.TypedInterface.from_flyte_idl(pb2_object.interface), nodes=[Node.from_flyte_idl(n) for n in pb2_object.nodes], outputs=[_Binding.from_flyte_idl(b) for b in pb2_object.outputs], - failure_node=Node.from_flyte_idl(pb2_object.failure_node) if pb2_object.HasField('failure_node') else None + failure_node=Node.from_flyte_idl(pb2_object.failure_node) if pb2_object.HasField("failure_node") else None, )
[docs]class Alias(_common.FlyteIdlEntity): - def __init__(self, var, alias): """ Links a variable to an alias. diff --git a/_modules/flytekit/models/dynamic_job.html b/_modules/flytekit/models/dynamic_job.html index 1bd35bbbf0..6327378fc3 100644 --- a/_modules/flytekit/models/dynamic_job.html +++ b/_modules/flytekit/models/dynamic_job.html @@ -8,7 +8,7 @@ - flytekit.models.dynamic_job — Flyte 0.6.0 documentation + flytekit.models.dynamic_job — Flyte 0.7.0 documentation @@ -164,7 +164,9 @@

Source code for flytekit.models.dynamic_job

 
 from flyteidl.core import dynamic_job_pb2 as _dynamic_job
 
-from flytekit.models import common as _common, task as _task, literals as _literals
+from flytekit.models import common as _common
+from flytekit.models import literals as _literals
+from flytekit.models import task as _task
 from flytekit.models.core import workflow as _workflow
 
 
@@ -241,7 +243,7 @@ 

Source code for flytekit.models.dynamic_job

             nodes=[node.to_flyte_idl() for node in self.nodes] if self.nodes else None,
             min_successes=self.min_successes,
             outputs=[output.to_flyte_idl() for output in self.outputs],
-            subworkflows=[workflow.to_flyte_idl() for workflow in self.subworkflows]
+            subworkflows=[workflow.to_flyte_idl() for workflow in self.subworkflows],
         )
[docs] @classmethod @@ -254,9 +256,10 @@

Source code for flytekit.models.dynamic_job

             tasks=[_task.TaskTemplate.from_flyte_idl(task) for task in pb2_object.tasks] if pb2_object.tasks else None,
             nodes=[_workflow.Node.from_flyte_idl(n) for n in pb2_object.nodes],
             min_successes=pb2_object.min_successes,
-            outputs=[_literals.Binding.from_flyte_idl(output) for output in
-                     pb2_object.outputs] if pb2_object.outputs else None,
-            subworkflows=[_workflow.WorkflowTemplate.from_flyte_idl(w) for w in pb2_object.subworkflows]
+            outputs=[_literals.Binding.from_flyte_idl(output) for output in pb2_object.outputs]
+            if pb2_object.outputs
+            else None,
+            subworkflows=[_workflow.WorkflowTemplate.from_flyte_idl(w) for w in pb2_object.subworkflows],
         )
diff --git a/_modules/flytekit/models/execution.html b/_modules/flytekit/models/execution.html index 134d7e9c10..f50d040aab 100644 --- a/_modules/flytekit/models/execution.html +++ b/_modules/flytekit/models/execution.html @@ -8,7 +8,7 @@ - flytekit.models.execution — Flyte 0.6.0 documentation + flytekit.models.execution — Flyte 0.7.0 documentation @@ -165,13 +165,15 @@

Source code for flytekit.models.execution

 import flyteidl.admin.execution_pb2 as _execution_pb2
 import flyteidl.admin.node_execution_pb2 as _node_execution_pb2
 import flyteidl.admin.task_execution_pb2 as _task_execution_pb2
+import pytz as _pytz
 
 from flytekit.models import common as _common_models
-from flytekit.models.core import execution as _core_execution, identifier as _identifier
-import pytz as _pytz
+from flytekit.models import literals as _literals_models
+from flytekit.models.core import execution as _core_execution
+from flytekit.models.core import identifier as _identifier
 
-
[docs]class ExecutionMetadata(_common_models.FlyteIdlEntity): +
[docs]class ExecutionMetadata(_common_models.FlyteIdlEntity):
[docs] class ExecutionMode(object): MANUAL = 0 SCHEDULED = 1 @@ -216,11 +218,7 @@

Source code for flytekit.models.execution

         """
         :rtype: flyteidl.admin.execution_pb2.ExecutionMetadata
         """
-        return _execution_pb2.ExecutionMetadata(
-            mode=self.mode,
-            principal=self.principal,
-            nesting=self.nesting
-        )
+ return _execution_pb2.ExecutionMetadata(mode=self.mode, principal=self.principal, nesting=self.nesting)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -228,17 +226,20 @@

Source code for flytekit.models.execution

         :param flyteidl.admin.execution_pb2.ExecutionMetadata pb2_object:
         :return: ExecutionMetadata
         """
-        return cls(
-            mode=pb2_object.mode,
-            principal=pb2_object.principal,
-            nesting=pb2_object.nesting
-        )
+ return cls(mode=pb2_object.mode, principal=pb2_object.principal, nesting=pb2_object.nesting,)
[docs]class ExecutionSpec(_common_models.FlyteIdlEntity): - - def __init__(self, launch_plan, metadata, notifications=None, disable_all=None, labels=None, - annotations=None, auth_role=None): + def __init__( + self, + launch_plan, + metadata, + notifications=None, + disable_all=None, + labels=None, + annotations=None, + auth_role=None, + ): """ :param flytekit.models.core.identifier.Identifier launch_plan: Launch plan unique identifier to execute :param ExecutionMetadata metadata: The metadata to be associated with this execution @@ -339,7 +340,6 @@

Source code for flytekit.models.execution

 
 
 
[docs]class LiteralMapBlob(_common_models.FlyteIdlEntity): - def __init__(self, values=None, uri=None): """ :param flytekit.models.literals.LiteralMap values: @@ -367,8 +367,7 @@

Source code for flytekit.models.execution

         :rtype: flyteidl.admin.execution_pb2.LiteralMapBlob
         """
         return _execution_pb2.LiteralMapBlob(
-            values=self.values.to_flyte_idl() if self.values is not None else None,
-            uri=self.uri
+            values=self.values.to_flyte_idl() if self.values is not None else None, uri=self.uri,
         )
[docs] @classmethod @@ -380,14 +379,10 @@

Source code for flytekit.models.execution

         values = None
         if pb.HasField("values"):
             values = LiteralMapBlob.from_flyte_idl(pb.values)
-        return cls(
-            values=values,
-            uri=pb.uri if pb.HasField("uri") else None
-        )
+ return cls(values=values, uri=pb.uri if pb.HasField("uri") else None)
[docs]class Execution(_common_models.FlyteIdlEntity): - def __init__(self, id, spec, closure): """ :param flytekit.models.core.identifier.WorkflowExecutionIdentifier id: @@ -425,9 +420,7 @@

Source code for flytekit.models.execution

         :rtype: flyteidl.admin.execution_pb2.Execution
         """
         return _execution_pb2.Execution(
-            id=self.id.to_flyte_idl(),
-            closure=self.closure.to_flyte_idl(),
-            spec=self.spec.to_flyte_idl()
+            id=self.id.to_flyte_idl(), closure=self.closure.to_flyte_idl(), spec=self.spec.to_flyte_idl(),
         )
[docs] @classmethod @@ -439,12 +432,11 @@

Source code for flytekit.models.execution

         return cls(
             id=_identifier.WorkflowExecutionIdentifier.from_flyte_idl(pb.id),
             closure=ExecutionClosure.from_flyte_idl(pb.closure),
-            spec=ExecutionSpec.from_flyte_idl(pb.spec)
+            spec=ExecutionSpec.from_flyte_idl(pb.spec),
         )
[docs]class ExecutionClosure(_common_models.FlyteIdlEntity): - def __init__(self, phase, started_at, error=None, outputs=None): """ :param int phase: From the flytekit.models.core.execution.WorkflowExecutionPhase enum @@ -493,7 +485,7 @@

Source code for flytekit.models.execution

         obj = _execution_pb2.ExecutionClosure(
             phase=self.phase,
             error=self.error.to_flyte_idl() if self.error is not None else None,
-            outputs=self.outputs.to_flyte_idl() if self.outputs is not None else None
+            outputs=self.outputs.to_flyte_idl() if self.outputs is not None else None,
         )
         obj.started_at.FromDatetime(self.started_at.astimezone(_pytz.UTC).replace(tzinfo=None))
         return obj
@@ -536,9 +528,7 @@

Source code for flytekit.models.execution

         """
         :rtype:  flyteidl.admin.execution_pb2.NotificationList
         """
-        return _execution_pb2.NotificationList(
-            notifications=[n.to_flyte_idl() for n in self.notifications]
-        )
+ return _execution_pb2.NotificationList(notifications=[n.to_flyte_idl() for n in self.notifications])
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -546,9 +536,7 @@

Source code for flytekit.models.execution

         :param flyteidl.admin.execution_pb2.NotificationList pb2_object:
         :rtype: NotificationList
         """
-        return cls(
-            [_common_models.Notification.from_flyte_idl(p) for p in pb2_object.notifications]
-        )
+ return cls([_common_models.Notification.from_flyte_idl(p) for p in pb2_object.notifications])
class _CommonDataResponse(_common_models.FlyteIdlEntity): @@ -557,13 +545,17 @@

Source code for flytekit.models.execution

     superclass to reduce code duplication until things diverge in the future.
     """
 
-    def __init__(self, inputs, outputs):
+    def __init__(self, inputs, outputs, full_inputs, full_outputs):
         """
         :param _common_models.UrlBlob inputs:
         :param _common_models.UrlBlob outputs:
+        :param _literals_pb2.LiteralMap full_inputs:
+        :param _literals_pb2.LiteralMap full_outputs:
         """
         self._inputs = inputs
         self._outputs = outputs
+        self._full_inputs = full_inputs
+        self._full_outputs = full_outputs
 
     @property
     def inputs(self):
@@ -579,6 +571,20 @@ 

Source code for flytekit.models.execution

         """
         return self._outputs
 
+    @property
+    def full_inputs(self):
+        """
+        :rtype: _literals_pb2.LiteralMap
+        """
+        return self._full_inputs
+
+    @property
+    def full_outputs(self):
+        """
+        :rtype: _literals_pb2.LiteralMap
+        """
+        return self._full_outputs
+
 
 
[docs]class WorkflowExecutionGetDataResponse(_CommonDataResponse):
[docs] @classmethod @@ -590,6 +596,8 @@

Source code for flytekit.models.execution

         return cls(
             inputs=_common_models.UrlBlob.from_flyte_idl(pb2_object.inputs),
             outputs=_common_models.UrlBlob.from_flyte_idl(pb2_object.outputs),
+            full_inputs=_literals_models.LiteralMap.from_flyte_idl(pb2_object.full_inputs),
+            full_outputs=_literals_models.LiteralMap.from_flyte_idl(pb2_object.full_outputs),
         )
[docs] def to_flyte_idl(self): @@ -599,6 +607,8 @@

Source code for flytekit.models.execution

         return _execution_pb2.WorkflowExecutionGetDataResponse(
             inputs=self.inputs.to_flyte_idl(),
             outputs=self.outputs.to_flyte_idl(),
+            full_inputs=self.full_inputs.to_flyte_idl(),
+            full_outputs=self.full_outputs.to_flyte_idl(),
         )
@@ -612,6 +622,8 @@

Source code for flytekit.models.execution

         return cls(
             inputs=_common_models.UrlBlob.from_flyte_idl(pb2_object.inputs),
             outputs=_common_models.UrlBlob.from_flyte_idl(pb2_object.outputs),
+            full_inputs=_literals_models.LiteralMap.from_flyte_idl(pb2_object.full_inputs),
+            full_outputs=_literals_models.LiteralMap.from_flyte_idl(pb2_object.full_outputs),
         )
[docs] def to_flyte_idl(self): @@ -621,6 +633,8 @@

Source code for flytekit.models.execution

         return _task_execution_pb2.TaskExecutionGetDataResponse(
             inputs=self.inputs.to_flyte_idl(),
             outputs=self.outputs.to_flyte_idl(),
+            full_inputs=self.full_inputs.to_flyte_idl(),
+            full_outputs=self.full_outputs.to_flyte_idl(),
         )
@@ -634,6 +648,8 @@

Source code for flytekit.models.execution

         return cls(
             inputs=_common_models.UrlBlob.from_flyte_idl(pb2_object.inputs),
             outputs=_common_models.UrlBlob.from_flyte_idl(pb2_object.outputs),
+            full_inputs=_literals_models.LiteralMap.from_flyte_idl(pb2_object.full_inputs),
+            full_outputs=_literals_models.LiteralMap.from_flyte_idl(pb2_object.full_outputs),
         )
[docs] def to_flyte_idl(self): @@ -643,6 +659,8 @@

Source code for flytekit.models.execution

         return _node_execution_pb2.NodeExecutionGetDataResponse(
             inputs=self.inputs.to_flyte_idl(),
             outputs=self.outputs.to_flyte_idl(),
+            full_inputs=self.full_inputs.to_flyte_idl(),
+            full_outputs=self.full_outputs.to_flyte_idl(),
         )
diff --git a/_modules/flytekit/models/filters.html b/_modules/flytekit/models/filters.html index 7fbfff3ab0..a6fcf741a5 100644 --- a/_modules/flytekit/models/filters.html +++ b/_modules/flytekit/models/filters.html @@ -8,7 +8,7 @@ - flytekit.models.filters — Flyte 0.6.0 documentation + flytekit.models.filters — Flyte 0.7.0 documentation @@ -161,11 +161,11 @@

Source code for flytekit.models.filters

 from __future__ import absolute_import
+
 from flytekit.models.common import FlyteIdlEntity as _FlyteIdlEntity
 
 
 
[docs]class FilterList(_FlyteIdlEntity): - def __init__(self, filter_list): """ :param list[Filter] filter_list: List of filters to AND together @@ -213,21 +213,21 @@

Source code for flytekit.models.filters

         :param Text string:
         :rtype: Filter
         """
-        if string.startswith('eq('):
+        if string.startswith("eq("):
             return Equal._parse_from_string(string)
-        elif string.startswith('neq('):
+        elif string.startswith("neq("):
             return NotEqual._parse_from_string(string)
-        elif string.startswith('gt('):
+        elif string.startswith("gt("):
             return GreaterThan._parse_from_string(string)
-        elif string.startswith('gte('):
+        elif string.startswith("gte("):
             return GreaterThanOrEqual._parse_from_string(string)
-        elif string.startswith('lt('):
+        elif string.startswith("lt("):
             return LessThan._parse_from_string(string)
-        elif string.startswith('lte('):
+        elif string.startswith("lte("):
             return LessThanOrEqual._parse_from_string(string)
-        elif string.startswith('contains('):
+        elif string.startswith("contains("):
             return Contains._parse_from_string(string)
-        elif string.startswith('value_in('):
+        elif string.startswith("value_in("):
             return ValueIn._parse_from_string(string)
         else:
             raise ValueError("'{}' could not be parsed into a filter.".format(string))
@@ -238,8 +238,8 @@

Source code for flytekit.models.filters

         :param Text string:
         :rtype: Filter
         """
-        stripped = string[len(cls._comparator) + 1:]
-        if stripped[-1] != ')':
+        stripped = string[len(cls._comparator) + 1 :]
+        if stripped[-1] != ")":
             raise ValueError("Filter could not be parsed because {} did not end with a ')'".format(string))
         split = stripped[:-1].split(",")
         if len(split) != 2:
@@ -254,31 +254,30 @@ 

Source code for flytekit.models.filters

 
 
 
[docs]class Equal(Filter): - _comparator = 'eq'
+ _comparator = "eq"
[docs]class NotEqual(Filter): - _comparator = 'neq'
+ _comparator = "neq"
[docs]class GreaterThan(Filter): - _comparator = 'gt'
+ _comparator = "gt"
[docs]class GreaterThanOrEqual(Filter): - _comparator = 'gte'
+ _comparator = "gte"
[docs]class LessThan(Filter): - _comparator = 'lt'
+ _comparator = "lt"
[docs]class LessThanOrEqual(Filter): - _comparator = 'lte'
+ _comparator = "lte"
[docs]class SetFilter(Filter): - def __init__(self, key, values): """ :param Text key: The name of the field to compare against @@ -288,15 +287,15 @@

Source code for flytekit.models.filters

 
     @classmethod
     def _parse_value(cls, value):
-        return value.split(';')
+ return value.split(";")
[docs]class Contains(SetFilter): - _comparator = 'contains'
+ _comparator = "contains"
[docs]class ValueIn(SetFilter): - _comparator = 'value_in'
+ _comparator = "value_in"
diff --git a/_modules/flytekit/models/interface.html b/_modules/flytekit/models/interface.html index 35494d870b..d0358ad073 100644 --- a/_modules/flytekit/models/interface.html +++ b/_modules/flytekit/models/interface.html @@ -8,7 +8,7 @@ - flytekit.models.interface — Flyte 0.6.0 documentation + flytekit.models.interface — Flyte 0.7.0 documentation @@ -161,14 +161,16 @@

Source code for flytekit.models.interface

 from __future__ import absolute_import
-from flytekit.models import common as _common, types as _types, literals as _literals
-from flyteidl.core import interface_pb2 as _interface_pb2
 
 import six as _six
+from flyteidl.core import interface_pb2 as _interface_pb2
 
+from flytekit.models import common as _common
+from flytekit.models import literals as _literals
+from flytekit.models import types as _types
 
-
[docs]class Variable(_common.FlyteIdlEntity): +
[docs]class Variable(_common.FlyteIdlEntity): def __init__(self, type, description): """ :param flytekit.models.types.LiteralType type: This describes the type of value that must be provided to @@ -199,10 +201,7 @@

Source code for flytekit.models.interface

         """
         :rtype: flyteidl.core.interface_pb2.Variable
         """
-        return _interface_pb2.Variable(
-            type=self.type.to_flyte_idl(),
-            description=self.description
-        )
+ return _interface_pb2.Variable(type=self.type.to_flyte_idl(), description=self.description)
[docs] @classmethod def from_flyte_idl(cls, variable_proto): @@ -210,14 +209,10 @@

Source code for flytekit.models.interface

         :param flyteidl.core.interface_pb2.Variable variable_proto:
         :rtype: Variable
         """
-        return cls(
-            type=_types.LiteralType.from_flyte_idl(variable_proto.type),
-            description=variable_proto.description
-        )
+ return cls(type=_types.LiteralType.from_flyte_idl(variable_proto.type), description=variable_proto.description,)
[docs]class VariableMap(_common.FlyteIdlEntity): - def __init__(self, variables): """ A map of Variables @@ -237,9 +232,7 @@

Source code for flytekit.models.interface

         """
         :rtype: dict[Text, Variable]
         """
-        return _interface_pb2.VariableMap(
-            variables={k: v.to_flyte_idl() for k, v in _six.iteritems(self.variables)}
-        )
+ return _interface_pb2.VariableMap(variables={k: v.to_flyte_idl() for k, v in _six.iteritems(self.variables)})
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -247,12 +240,10 @@

Source code for flytekit.models.interface

         :param dict[Text, Variable] pb2_object:
         :rtype: VariableMap
         """
-        return cls({k: Variable.from_flyte_idl(v)
-                    for k, v in _six.iteritems(pb2_object.variables)})
+ return cls({k: Variable.from_flyte_idl(v) for k, v in _six.iteritems(pb2_object.variables)})
[docs]class TypedInterface(_common.FlyteIdlEntity): - def __init__(self, inputs, outputs): """ Please note that this model is slightly incorrect, but is more user-friendly. The underlying inputs and @@ -283,12 +274,10 @@

Source code for flytekit.models.interface

         :rtype: flyteidl.core.interface_pb2.TypedInterface
         """
         return _interface_pb2.TypedInterface(
-            inputs=_interface_pb2.VariableMap(
-                variables={k: v.to_flyte_idl() for k, v in _six.iteritems(self.inputs)}
-            ),
+            inputs=_interface_pb2.VariableMap(variables={k: v.to_flyte_idl() for k, v in _six.iteritems(self.inputs)}),
             outputs=_interface_pb2.VariableMap(
                 variables={k: v.to_flyte_idl() for k, v in _six.iteritems(self.outputs)}
-            )
+            ),
         )
[docs] @classmethod @@ -299,12 +288,11 @@

Source code for flytekit.models.interface

         """
         return cls(
             inputs={k: Variable.from_flyte_idl(v) for k, v in _six.iteritems(proto.inputs.variables)},
-            outputs={k: Variable.from_flyte_idl(v) for k, v in _six.iteritems(proto.outputs.variables)}
+            outputs={k: Variable.from_flyte_idl(v) for k, v in _six.iteritems(proto.outputs.variables)},
         )
[docs]class Parameter(_common.FlyteIdlEntity): - def __init__(self, var, default=None, required=None): """ Declares an input parameter. A parameter is used as input to a launch plan and has @@ -368,12 +356,11 @@

Source code for flytekit.models.interface

         return cls(
             Variable.from_flyte_idl(pb2_object.var),
             _literals.Literal.from_flyte_idl(pb2_object.default) if pb2_object.HasField("default") else None,
-            pb2_object.required if pb2_object.HasField("required") else None
+            pb2_object.required if pb2_object.HasField("required") else None,
         )
[docs]class ParameterMap(_common.FlyteIdlEntity): - def __init__(self, parameters): """ A map of Parameters diff --git a/_modules/flytekit/models/launch_plan.html b/_modules/flytekit/models/launch_plan.html index 729b94e6b7..7199a5fcc2 100644 --- a/_modules/flytekit/models/launch_plan.html +++ b/_modules/flytekit/models/launch_plan.html @@ -8,7 +8,7 @@ - flytekit.models.launch_plan — Flyte 0.6.0 documentation + flytekit.models.launch_plan — Flyte 0.7.0 documentation @@ -164,12 +164,14 @@

Source code for flytekit.models.launch_plan

 
 from flyteidl.admin import launch_plan_pb2 as _launch_plan
 
-from flytekit.models import common as _common, interface as _interface, literals as _literals, schedule as _schedule
+from flytekit.models import common as _common
+from flytekit.models import interface as _interface
+from flytekit.models import literals as _literals
+from flytekit.models import schedule as _schedule
 from flytekit.models.core import identifier as _identifier
 
 
 
[docs]class LaunchPlanMetadata(_common.FlyteIdlEntity): - def __init__(self, schedule, notifications): """ @@ -203,7 +205,7 @@

Source code for flytekit.models.launch_plan

         """
         return _launch_plan.LaunchPlanMetadata(
             schedule=self.schedule.to_flyte_idl() if self.schedule is not None else None,
-            notifications=[n.to_flyte_idl() for n in self.notifications]
+            notifications=[n.to_flyte_idl() for n in self.notifications],
         )
[docs] @classmethod @@ -212,9 +214,12 @@

Source code for flytekit.models.launch_plan

         :param flyteidl.admin.launch_plan_pb2.LaunchPlanMetadata pb2_object:
         :rtype: LaunchPlanMetadata
         """
-        return cls(schedule=_schedule.Schedule.from_flyte_idl(pb2_object.schedule) if pb2_object.HasField("schedule")
-                   else None,
-                   notifications=[_common.Notification.from_flyte_idl(n) for n in pb2_object.notifications])
+ return cls( + schedule=_schedule.Schedule.from_flyte_idl(pb2_object.schedule) + if pb2_object.HasField("schedule") + else None, + notifications=[_common.Notification.from_flyte_idl(n) for n in pb2_object.notifications], + )
[docs]class Auth(_common.FlyteIdlEntity): @@ -264,14 +269,24 @@

Source code for flytekit.models.launch_plan

         """
         return cls(
             assumable_iam_role=pb2_object.assumable_iam_role if pb2_object.HasField("assumable_iam_role") else None,
-            kubernetes_service_account=pb2_object.kubernetes_service_account if
-            pb2_object.HasField("kubernetes_service_account") else None,
+            kubernetes_service_account=pb2_object.kubernetes_service_account
+            if pb2_object.HasField("kubernetes_service_account")
+            else None,
         )
[docs]class LaunchPlanSpec(_common.FlyteIdlEntity): - - def __init__(self, workflow_id, entity_metadata, default_inputs, fixed_inputs, labels, annotations, auth_role): + def __init__( + self, + workflow_id, + entity_metadata, + default_inputs, + fixed_inputs, + labels, + annotations, + auth_role, + raw_output_data_config, + ): """ The spec for a Launch Plan. @@ -284,6 +299,8 @@

Source code for flytekit.models.launch_plan

         :param flyteidl.admin.common_pb2.Annotations annotations:
             Any custom kubernetes annotations to apply to workflows executed by this launch plan.
         :param flytekit.models.common.Auth auth_role: The auth method with which to execute the workflow.
+        :param flytekit.models.common.RawOutputDataConfig raw_output_data_config: Value for where to store offloaded
+            data like Blobs and Schemas.
         """
         self._workflow_id = workflow_id
         self._entity_metadata = entity_metadata
@@ -292,6 +309,7 @@ 

Source code for flytekit.models.launch_plan

         self._labels = labels
         self._annotations = annotations
         self._auth_role = auth_role
+        self._raw_output_data_config = raw_output_data_config
 
     @property
     def workflow_id(self):
@@ -344,10 +362,18 @@ 

Source code for flytekit.models.launch_plan

     def auth_role(self):
         """
         The authorization method with which to execute the workflow.
-        :return: flytekit.models.common.Auth
+        :rtype: flytekit.models.common.Auth
         """
         return self._auth_role
 
+    @property
+    def raw_output_data_config(self):
+        """
+        Where to store offloaded data like Blobs and Schemas
+        :rtype: flytekit.models.common.RawOutputDataConfig
+        """
+        return self._raw_output_data_config
+
 
[docs] def to_flyte_idl(self): """ :rtype: flyteidl.admin.launch_plan_pb2.LaunchPlanSpec @@ -360,22 +386,35 @@

Source code for flytekit.models.launch_plan

             labels=self.labels.to_flyte_idl(),
             annotations=self.annotations.to_flyte_idl(),
             auth_role=self.auth_role.to_flyte_idl(),
+            raw_output_data_config=self.raw_output_data_config.to_flyte_idl(),
         )
[docs] @classmethod - def from_flyte_idl(cls, pb2_object): + def from_flyte_idl(cls, pb2): """ - :param flyteidl.admin.launch_plan_pb2.LaunchPlanSpec pb2_object: + :param flyteidl.admin.launch_plan_pb2.LaunchPlanSpec pb2: :rtype: LaunchPlanSpec """ + auth_role = None + # First check the newer field, auth_role. + if pb2.auth_role is not None and (pb2.auth_role.assumable_iam_role or pb2.auth_role.kubernetes_service_account): + auth_role = _common.AuthRole.from_flyte_idl(pb2.auth_role) + # Fallback to the deprecated field. + elif pb2.auth is not None: + if pb2.auth.assumable_iam_role: + auth_role = _common.AuthRole(assumable_iam_role=pb2.auth.assumable_iam_role) + else: + auth_role = _common.AuthRole(assumable_iam_role=pb2.auth.kubernetes_service_account) + return cls( - workflow_id=_identifier.Identifier.from_flyte_idl(pb2_object.workflow_id), - entity_metadata=LaunchPlanMetadata.from_flyte_idl(pb2_object.entity_metadata), - default_inputs=_interface.ParameterMap.from_flyte_idl(pb2_object.default_inputs), - fixed_inputs=_literals.LiteralMap.from_flyte_idl(pb2_object.fixed_inputs), - labels=_common.Labels.from_flyte_idl(pb2_object.labels), - annotations=_common.Annotations.from_flyte_idl(pb2_object.annotations), - auth_role=_common.AuthRole.from_flyte_idl(pb2_object.auth_role), + workflow_id=_identifier.Identifier.from_flyte_idl(pb2.workflow_id), + entity_metadata=LaunchPlanMetadata.from_flyte_idl(pb2.entity_metadata), + default_inputs=_interface.ParameterMap.from_flyte_idl(pb2.default_inputs), + fixed_inputs=_literals.LiteralMap.from_flyte_idl(pb2.fixed_inputs), + labels=_common.Labels.from_flyte_idl(pb2.labels), + annotations=_common.Annotations.from_flyte_idl(pb2.annotations), + auth_role=auth_role, + raw_output_data_config=_common.RawOutputDataConfig.from_flyte_idl(pb2.raw_output_data_config), )
@@ -398,7 +437,6 @@

Source code for flytekit.models.launch_plan

 
 
 
[docs]class LaunchPlanClosure(_common.FlyteIdlEntity): - def __init__(self, state, expected_inputs, expected_outputs): """ :param LaunchPlanState state: Indicate the Launch plan phase @@ -455,13 +493,7 @@

Source code for flytekit.models.launch_plan

 
 
 
[docs]class LaunchPlan(_common.FlyteIdlEntity): - - def __init__( - self, - id, - spec, - closure - ): + def __init__(self, id, spec, closure): """ :param flytekit.models.core.identifier.Identifier id: :param LaunchPlanSpec spec: @@ -497,9 +529,7 @@

Source code for flytekit.models.launch_plan

         :rtype: flyteidl.admin.launch_plan_pb2.LaunchPlan
         """
         return _launch_plan.LaunchPlan(
-            id=self.id.to_flyte_idl(),
-            spec=self.spec.to_flyte_idl(),
-            closure=self.closure.to_flyte_idl()
+            id=self.id.to_flyte_idl(), spec=self.spec.to_flyte_idl(), closure=self.closure.to_flyte_idl(),
         )
[docs] @classmethod @@ -511,7 +541,7 @@

Source code for flytekit.models.launch_plan

         return cls(
             id=_identifier.Identifier.from_flyte_idl(pb2_object.id),
             spec=LaunchPlanSpec.from_flyte_idl(pb2_object.spec),
-            closure=LaunchPlanClosure.from_flyte_idl(pb2_object.closure)
+            closure=LaunchPlanClosure.from_flyte_idl(pb2_object.closure),
         )
diff --git a/_modules/flytekit/models/literals.html b/_modules/flytekit/models/literals.html index 4a40377775..ef348fd7f1 100644 --- a/_modules/flytekit/models/literals.html +++ b/_modules/flytekit/models/literals.html @@ -8,7 +8,7 @@ - flytekit.models.literals — Flyte 0.6.0 documentation + flytekit.models.literals — Flyte 0.7.0 documentation @@ -162,19 +162,20 @@

Source code for flytekit.models.literals

 from __future__ import absolute_import
 
+from datetime import datetime as _datetime
+
 import pytz as _pytz
 import six as _six
-from datetime import datetime as _datetime
 from flyteidl.core import literals_pb2 as _literals_pb2
 
 from flytekit.common.exceptions import user as _user_exceptions
 from flytekit.models import common as _common
-from flytekit.models.types import SchemaType as _SchemaType, OutputReference as _OutputReference
 from flytekit.models.core import types as _core_types
+from flytekit.models.types import OutputReference as _OutputReference
+from flytekit.models.types import SchemaType as _SchemaType
 
 
 
[docs]class RetryStrategy(_common.FlyteIdlEntity): - def __init__(self, retries): """ :param int retries: Number of retries to attempt on recoverable failures. If retries is 0, then @@ -202,14 +203,13 @@

Source code for flytekit.models.literals

         :param flyteidl.core.literals_pb2.RetryStrategy pb2_object:
         :rtype: RetryStrategy
         """
-        return cls(
-            retries=pb2_object.retries
-        )
+ return cls(retries=pb2_object.retries)
[docs]class Primitive(_common.FlyteIdlEntity): - - def __init__(self, integer=None, float_value=None, string_value=None, boolean=None, datetime=None, duration=None): + def __init__( + self, integer=None, float_value=None, string_value=None, boolean=None, datetime=None, duration=None, + ): """ This object proxies the primitives supported by the Flyte IDL system. Only one value can be set. :param int integer: [Optional] @@ -281,7 +281,14 @@

Source code for flytekit.models.literals

         This returns whichever field is set.
         :rtype: T
         """
-        for value in [self.integer, self.float_value, self.string_value, self.boolean, self.datetime, self.duration]:
+        for value in [
+            self.integer,
+            self.float_value,
+            self.string_value,
+            self.boolean,
+            self.datetime,
+            self.duration,
+        ]:
             if value is not None:
                 return value
 
@@ -290,10 +297,7 @@ 

Source code for flytekit.models.literals

         :rtype: flyteidl.core.literals_pb2.Primitive
         """
         primitive = _literals_pb2.Primitive(
-            integer=self.integer,
-            float_value=self.float_value,
-            string_value=self.string_value,
-            boolean=self.boolean
+            integer=self.integer, float_value=self.float_value, string_value=self.string_value, boolean=self.boolean,
         )
         if self.datetime is not None:
             # Convert to UTC and remove timezone so protobuf behaves.
@@ -314,12 +318,11 @@ 

Source code for flytekit.models.literals

             string_value=proto.string_value if proto.HasField("string_value") else None,
             boolean=proto.boolean if proto.HasField("boolean") else None,
             datetime=proto.datetime.ToDatetime().replace(tzinfo=_pytz.UTC) if proto.HasField("datetime") else None,
-            duration=proto.duration.ToTimedelta() if proto.HasField("duration") else None
+            duration=proto.duration.ToTimedelta() if proto.HasField("duration") else None,
         )
[docs]class Binary(_common.FlyteIdlEntity): - def __init__(self, value, tag): """ :param bytes value: @@ -354,15 +357,13 @@

Source code for flytekit.models.literals

         :param flyteidl.core.literals_pb2.Binary pb2_object:
         :rtype: Binary
         """
-        return cls(
-            value=pb2_object.value,
-            tag=pb2_object.tag
-        )
+ return cls(value=pb2_object.value, tag=pb2_object.tag)
[docs]class Scalar(_common.FlyteIdlEntity): - - def __init__(self, primitive=None, blob=None, binary=None, schema=None, none_type=None, error=None, generic=None): + def __init__( + self, primitive=None, blob=None, binary=None, schema=None, none_type=None, error=None, generic=None, + ): """ Scalar wrapper around Flyte types. Only one can be specified. @@ -473,7 +474,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class BlobMetadata(_common.FlyteIdlEntity): - def __init__(self, type): """ :param flytekit.models.core.types.BlobType type: The type of the underlying blob @@ -503,7 +503,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class Blob(_common.FlyteIdlEntity): - def __init__(self, metadata, uri): """ :param BlobMetadata metadata: @@ -530,10 +529,7 @@

Source code for flytekit.models.literals

         """
         :rtype: flyteidl.core.literals_pb2.Blob
         """
-        return _literals_pb2.Blob(
-            metadata=self.metadata.to_flyte_idl(),
-            uri=self.uri
-        )
+ return _literals_pb2.Blob(metadata=self.metadata.to_flyte_idl(), uri=self.uri)
[docs] @classmethod def from_flyte_idl(cls, proto): @@ -541,14 +537,10 @@

Source code for flytekit.models.literals

         :param flyteidl.core.literals_pb2.Blob proto:
         :rtype: Blob
         """
-        return cls(
-            metadata=BlobMetadata.from_flyte_idl(proto.metadata),
-            uri=proto.uri
-        )
+ return cls(metadata=BlobMetadata.from_flyte_idl(proto.metadata), uri=proto.uri)
[docs]class Void(_common.FlyteIdlEntity): -
[docs] def to_flyte_idl(self): """ :rtype: flyteidl.core.literals_pb2.Void @@ -565,7 +557,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class BindingDataMap(_common.FlyteIdlEntity): - def __init__(self, bindings): """ A map of BindingData items. Can be a recursive structure @@ -586,9 +577,7 @@

Source code for flytekit.models.literals

         """
         :rtype: flyteidl.core.literals_pb2.BindingDataMap
         """
-        return _literals_pb2.BindingDataMap(
-            bindings={k: v.to_flyte_idl() for (k, v) in _six.iteritems(self.bindings)}
-        )
+ return _literals_pb2.BindingDataMap(bindings={k: v.to_flyte_idl() for (k, v) in _six.iteritems(self.bindings)})
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -601,7 +590,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class BindingDataCollection(_common.FlyteIdlEntity): - def __init__(self, bindings): """ A list of BindingData items. @@ -633,7 +621,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class BindingData(_common.FlyteIdlEntity): - def __init__(self, scalar=None, collection=None, promise=None, map=None): """ Specifies either a simple value or a reference to another output. Only one of the input arguments may be @@ -698,7 +685,7 @@

Source code for flytekit.models.literals

             scalar=self.scalar.to_flyte_idl() if self.scalar is not None else None,
             collection=self.collection.to_flyte_idl() if self.collection is not None else None,
             promise=self.promise.to_flyte_idl() if self.promise is not None else None,
-            map=self.map.to_flyte_idl() if self.map is not None else None
+            map=self.map.to_flyte_idl() if self.map is not None else None,
         )
[docs] @classmethod @@ -710,9 +697,10 @@

Source code for flytekit.models.literals

         return cls(
             scalar=Scalar.from_flyte_idl(pb2_object.scalar) if pb2_object.HasField("scalar") else None,
             collection=BindingDataCollection.from_flyte_idl(pb2_object.collection)
-            if pb2_object.HasField("collection") else None,
+            if pb2_object.HasField("collection")
+            else None,
             promise=_OutputReference.from_flyte_idl(pb2_object.promise) if pb2_object.HasField("promise") else None,
-            map=BindingDataMap.from_flyte_idl(pb2_object.map) if pb2_object.HasField("map") else None
+            map=BindingDataMap.from_flyte_idl(pb2_object.map) if pb2_object.HasField("map") else None,
         )
[docs] def to_literal_model(self): @@ -721,19 +709,22 @@

Source code for flytekit.models.literals

         :rtype: Literal
         """
         if self.promise:
-            raise _user_exceptions.FlyteValueException(self.promise, "Cannot convert BindingData to a Literal because "
-                                                                     "it has a promise.")
+            raise _user_exceptions.FlyteValueException(
+                self.promise, "Cannot convert BindingData to a Literal because " "it has a promise.",
+            )
         elif self.scalar:
             return Literal(scalar=self.scalar)
         elif self.collection:
-            return Literal(collection=LiteralCollection(
-                literals=[binding.to_literal_model() for binding in self.collection.bindings]))
+            return Literal(
+                collection=LiteralCollection(
+                    literals=[binding.to_literal_model() for binding in self.collection.bindings]
+                )
+            )
         elif self.map:
             return Literal(map=LiteralMap(literals={k: binding.to_literal_model() for k, binding in self.map.bindings}))
[docs]class Binding(_common.FlyteIdlEntity): - def __init__(self, var, binding): """ An input/output binding of a variable to either static value or a node output. @@ -764,10 +755,7 @@

Source code for flytekit.models.literals

         """
         :rtype: flyteidl.core.literals_pb2.Binding
         """
-        return _literals_pb2.Binding(
-            var=self.var,
-            binding=self.binding.to_flyte_idl()
-        )
+ return _literals_pb2.Binding(var=self.var, binding=self.binding.to_flyte_idl())
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -779,7 +767,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class Schema(_common.FlyteIdlEntity): - def __init__(self, uri, type): """ A strongly typed schema that defines the interface of data retrieved from the underlying storage medium. @@ -820,7 +807,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class LiteralCollection(_common.FlyteIdlEntity): - def __init__(self, literals): """ :param list[Literal] literals: underlying list of literals in this collection. @@ -838,9 +824,7 @@

Source code for flytekit.models.literals

         """
         :rtype: flyteidl.core.literals_pb2.LiteralCollection
         """
-        return _literals_pb2.LiteralCollection(
-            literals=[l.to_flyte_idl() for l in self.literals]
-        )
+ return _literals_pb2.LiteralCollection(literals=[l.to_flyte_idl() for l in self.literals])
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -852,7 +836,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class LiteralMap(_common.FlyteIdlEntity): - def __init__(self, literals): """ :param dict[Text, Literal] literals: A dictionary mapping Text key names to Literal objects. @@ -871,9 +854,7 @@

Source code for flytekit.models.literals

         """
         :rtype: flyteidl.core.literals_pb2.LiteralMap
         """
-        return _literals_pb2.LiteralMap(
-            literals={k: v.to_flyte_idl() for k, v in _six.iteritems(self.literals)}
-        )
+ return _literals_pb2.LiteralMap(literals={k: v.to_flyte_idl() for k, v in _six.iteritems(self.literals)})
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -885,7 +866,6 @@

Source code for flytekit.models.literals

 
 
 
[docs]class Literal(_common.FlyteIdlEntity): - def __init__(self, scalar=None, collection=None, map=None): """ :param Scalar scalar: @@ -935,7 +915,7 @@

Source code for flytekit.models.literals

         return _literals_pb2.Literal(
             scalar=self.scalar.to_flyte_idl() if self.scalar is not None else None,
             collection=self.collection.to_flyte_idl() if self.collection is not None else None,
-            map=self.map.to_flyte_idl() if self.map is not None else None
+            map=self.map.to_flyte_idl() if self.map is not None else None,
         )
[docs] @classmethod @@ -951,7 +931,7 @@

Source code for flytekit.models.literals

         return cls(
             scalar=Scalar.from_flyte_idl(pb2_object.scalar) if pb2_object.HasField("scalar") else None,
             collection=collection,
-            map=LiteralMap.from_flyte_idl(pb2_object.map) if pb2_object.HasField("map") else None
+            map=LiteralMap.from_flyte_idl(pb2_object.map) if pb2_object.HasField("map") else None,
         )
diff --git a/_modules/flytekit/models/matchable_resource.html b/_modules/flytekit/models/matchable_resource.html index 895dd67cc9..53ee09e0e9 100644 --- a/_modules/flytekit/models/matchable_resource.html +++ b/_modules/flytekit/models/matchable_resource.html @@ -8,7 +8,7 @@ - flytekit.models.matchable_resource — Flyte 0.6.0 documentation + flytekit.models.matchable_resource — Flyte 0.7.0 documentation @@ -161,11 +161,57 @@

Source code for flytekit.models.matchable_resource

 from flyteidl.admin import matchable_resource_pb2 as _matchable_resource
+
 from flytekit.models import common as _common
 
 
-
[docs]class ClusterResourceAttributes(_common.FlyteIdlEntity): +
[docs]class MatchableResource(object): + TASK_RESOURCE = _matchable_resource.TASK_RESOURCE + CLUSTER_RESOURCE = _matchable_resource.CLUSTER_RESOURCE + EXECUTION_QUEUE = _matchable_resource.EXECUTION_QUEUE + EXECUTION_CLUSTER_LABEL = _matchable_resource.EXECUTION_CLUSTER_LABEL + QUALITY_OF_SERVICE_SPECIFICATION = _matchable_resource.QUALITY_OF_SERVICE_SPECIFICATION +
[docs] @classmethod + def enum_to_string(cls, val): + """ + :param int val: + :rtype: Text + """ + if val == cls.TASK_RESOURCE: + return "TASK_RESOURCE" + elif val == cls.CLUSTER_RESOURCE: + return "CLUSTER_RESOURCE" + elif val == cls.EXECUTION_QUEUE: + return "EXECUTION_QUEUE" + elif val == cls.EXECUTION_CLUSTER_LABEL: + return "EXECUTION_CLUSTER_LABEL" + elif val == cls.QUALITY_OF_SERVICE_SPECIFICATION: + return "QUALITY_OF_SERVICE_SPECIFICATION" + else: + return "<UNKNOWN>"
+ +
[docs] @classmethod + def string_to_enum(cls, val): + """ + :param Text val: + :rtype: int + """ + if val == "TASK_RESOURCE": + return cls.TASK_RESOURCE + elif val == "CLUSTER_RESOURCE": + return cls.CLUSTER_RESOURCE + elif val == "EXECUTION_QUEUE": + return cls.EXECUTION_QUEUE + elif val == "EXECUTION_CLUSTER_LABEL": + return cls.EXECUTION_CLUSTER_LABEL + elif val == cls.QUALITY_OF_SERVICE_SPECIFICATION: + return "QUALITY_OF_SERVICE_SPECIFICATION" + else: + return "<UNKNOWN>"
+ + +
[docs]class ClusterResourceAttributes(_common.FlyteIdlEntity): def __init__(self, attributes): """ Custom resource attributes which will be applied in cluster resource creation (e.g. quotas). @@ -188,9 +234,7 @@

Source code for flytekit.models.matchable_resource

""" :rtype: flyteidl.admin.matchable_resource_pb2.ClusterResourceAttributes """ - return _matchable_resource.ClusterResourceAttributes( - attributes=self.attributes, - )
+ return _matchable_resource.ClusterResourceAttributes(attributes=self.attributes,)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -198,13 +242,10 @@

Source code for flytekit.models.matchable_resource

:param flyteidl.admin.matchable_resource_pb2.ClusterResourceAttributes pb2_object: :rtype: ClusterResourceAttributes """ - return cls( - attributes=pb2_object.attributes, - )
+ return cls(attributes=pb2_object.attributes,)
[docs]class ExecutionQueueAttributes(_common.FlyteIdlEntity): - def __init__(self, tags): """ Tags used for assigning execution queues for tasks matching a project, domain and optionally, workflow. @@ -224,9 +265,7 @@

Source code for flytekit.models.matchable_resource

""" :rtype: flyteidl.admin.matchable_resource_pb2.ExecutionQueueAttributes """ - return _matchable_resource.ExecutionQueueAttributes( - tags=self.tags, - )
+ return _matchable_resource.ExecutionQueueAttributes(tags=self.tags,)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -234,13 +273,10 @@

Source code for flytekit.models.matchable_resource

:param flyteidl.admin.matchable_resource_pb2.ExecutionQueueAttributes pb2_object: :rtype: ExecutionQueueAttributes """ - return cls( - tags=pb2_object.tags, - )
+ return cls(tags=pb2_object.tags,)
[docs]class ExecutionClusterLabel(_common.FlyteIdlEntity): - def __init__(self, value): """ Label value to determine where the execution will be run @@ -260,9 +296,7 @@

Source code for flytekit.models.matchable_resource

""" :rtype: flyteidl.admin.matchable_resource_pb2.ExecutionClusterLabel """ - return _matchable_resource.ExecutionClusterLabel( - value=self.value, - )
+ return _matchable_resource.ExecutionClusterLabel(value=self.value,)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -270,13 +304,13 @@

Source code for flytekit.models.matchable_resource

:param flyteidl.admin.matchable_resource_pb2.ExecutionClusterLabel pb2_object: :rtype: ExecutionClusterLabel """ - return cls( - value=pb2_object.value, - )
+ return cls(value=pb2_object.value,)
[docs]class MatchingAttributes(_common.FlyteIdlEntity): - def __init__(self, cluster_resource_attributes=None, execution_queue_attributes=None, execution_cluster_label=None): + def __init__( + self, cluster_resource_attributes=None, execution_queue_attributes=None, execution_cluster_label=None, + ): """ At most one target from cluster_resource_attributes, execution_queue_attributes or execution_cluster_label can be set. @@ -323,11 +357,14 @@

Source code for flytekit.models.matchable_resource

:rtype: flyteidl.admin.matchable_resource_pb2.MatchingAttributes """ return _matchable_resource.MatchingAttributes( - cluster_resource_attributes=self.cluster_resource_attributes.to_flyte_idl() if - self.cluster_resource_attributes else None, - execution_queue_attributes=self.execution_queue_attributes.to_flyte_idl() if self.execution_queue_attributes + cluster_resource_attributes=self.cluster_resource_attributes.to_flyte_idl() + if self.cluster_resource_attributes + else None, + execution_queue_attributes=self.execution_queue_attributes.to_flyte_idl() + if self.execution_queue_attributes else None, - execution_cluster_label=self.execution_cluster_label.to_flyte_idl() if self.execution_cluster_label + execution_cluster_label=self.execution_cluster_label.to_flyte_idl() + if self.execution_cluster_label else None, )
@@ -338,12 +375,15 @@

Source code for flytekit.models.matchable_resource

:rtype: MatchingAttributes """ return cls( - cluster_resource_attributes=ClusterResourceAttributes.from_flyte_idl( - pb2_object.cluster_resource_attributes) if pb2_object.HasField("cluster_resource_attributes") else None, - execution_queue_attributes=ExecutionQueueAttributes.from_flyte_idl(pb2_object.execution_queue_attributes) if - pb2_object.HasField("execution_queue_attributes") else None, - execution_cluster_label=ExecutionClusterLabel.from_flyte_idl(pb2_object.execution_cluster_label) if - pb2_object.HasField("execution_cluster_label") else None, + cluster_resource_attributes=ClusterResourceAttributes.from_flyte_idl(pb2_object.cluster_resource_attributes) + if pb2_object.HasField("cluster_resource_attributes") + else None, + execution_queue_attributes=ExecutionQueueAttributes.from_flyte_idl(pb2_object.execution_queue_attributes) + if pb2_object.HasField("execution_queue_attributes") + else None, + execution_cluster_label=ExecutionClusterLabel.from_flyte_idl(pb2_object.execution_cluster_label) + if pb2_object.HasField("execution_cluster_label") + else None, )
diff --git a/_modules/flytekit/models/named_entity.html b/_modules/flytekit/models/named_entity.html index 991257fd41..9d567330af 100644 --- a/_modules/flytekit/models/named_entity.html +++ b/_modules/flytekit/models/named_entity.html @@ -8,7 +8,7 @@ - flytekit.models.named_entity — Flyte 0.6.0 documentation + flytekit.models.named_entity — Flyte 0.7.0 documentation @@ -219,11 +219,7 @@

Source code for flytekit.models.named_entity

"""
         :rtype: flyteidl.admin.common_pb2.NamedEntityIdentifier
         """
-        return _common.NamedEntityIdentifier(
-            project=self.project,
-            domain=self.domain,
-            name=self.name,
-        )
+ return _common.NamedEntityIdentifier(project=self.project, domain=self.domain, name=self.name,)
[docs] @classmethod def from_flyte_idl(cls, p): @@ -231,11 +227,7 @@

Source code for flytekit.models.named_entity

        :param flyteidl.core.common_pb2.NamedEntityIdentifier p:
         :rtype: Identifier
         """
-        return cls(
-            project=p.project,
-            domain=p.domain,
-            name=p.name,
-        )
+ return cls(project=p.project, domain=p.domain, name=p.name,)
[docs]class NamedEntityMetadata(_common_models.FlyteIdlEntity): @@ -267,10 +259,7 @@

Source code for flytekit.models.named_entity

"""
         :rtype: flyteidl.admin.common_pb2.NamedEntityMetadata
         """
-        return _common.NamedEntityMetadata(
-            description=self.description,
-            state=self.state,
-        )
+ return _common.NamedEntityMetadata(description=self.description, state=self.state,)
[docs] @classmethod def from_flyte_idl(cls, p): @@ -278,10 +267,7 @@

Source code for flytekit.models.named_entity

        :param flyteidl.core.common_pb2.NamedEntityMetadata p:
         :rtype: Identifier
         """
-        return cls(
-            description=p.description,
-            state=p.state,
-        )
+ return cls(description=p.description, state=p.state,)
diff --git a/_modules/flytekit/models/node_execution.html b/_modules/flytekit/models/node_execution.html index c86af32a09..46655a551e 100644 --- a/_modules/flytekit/models/node_execution.html +++ b/_modules/flytekit/models/node_execution.html @@ -8,7 +8,7 @@ - flytekit.models.node_execution — Flyte 0.6.0 documentation + flytekit.models.node_execution — Flyte 0.7.0 documentation @@ -161,22 +161,17 @@

Source code for flytekit.models.node_execution

 from __future__ import absolute_import
-from flytekit.models import common as _common_models
-from flytekit.models.core import execution as _core_execution, identifier as _identifier
+
 import flyteidl.admin.node_execution_pb2 as _node_execution_pb2
 import pytz as _pytz
 
+from flytekit.models import common as _common_models
+from flytekit.models.core import execution as _core_execution
+from flytekit.models.core import identifier as _identifier
+
 
 
[docs]class NodeExecutionClosure(_common_models.FlyteIdlEntity): - - def __init__( - self, - phase, - started_at, - duration, - output_uri=None, - error=None - ): + def __init__(self, phase, started_at, duration, output_uri=None, error=None): """ :param int phase: :param datetime.datetime started_at: @@ -232,7 +227,7 @@

Source code for flytekit.models.node_execution

obj = _node_execution_pb2.NodeExecutionClosure( phase=self.phase, output_uri=self.output_uri, - error=self.error.to_flyte_idl() if self.error is not None else None + error=self.error.to_flyte_idl() if self.error is not None else None, ) obj.started_at.FromDatetime(self.started_at.astimezone(_pytz.UTC).replace(tzinfo=None)) obj.duration.FromTimedelta(self.duration) @@ -249,18 +244,12 @@

Source code for flytekit.models.node_execution

output_uri=p.output_uri if p.HasField("output_uri") else None, error=_core_execution.ExecutionError.from_flyte_idl(p.error) if p.HasField("error") else None, started_at=p.started_at.ToDatetime().replace(tzinfo=_pytz.UTC), - duration=p.duration.ToTimedelta() + duration=p.duration.ToTimedelta(), )

[docs]class NodeExecution(_common_models.FlyteIdlEntity): - - def __init__( - self, - id, - input_uri, - closure - ): + def __init__(self, id, input_uri, closure): """ :param flytekit.models.core.identifier.NodeExecutionIdentifier id: :param Text input_uri: @@ -296,9 +285,7 @@

Source code for flytekit.models.node_execution

:rtype: flyteidl.admin.node_execution_pb2.NodeExecution """ return _node_execution_pb2.NodeExecution( - id=self.id.to_flyte_idl(), - input_uri=self.input_uri, - closure=self.closure.to_flyte_idl() + id=self.id.to_flyte_idl(), input_uri=self.input_uri, closure=self.closure.to_flyte_idl(), )

[docs] @classmethod @@ -310,7 +297,7 @@

Source code for flytekit.models.node_execution

return cls( id=_identifier.NodeExecutionIdentifier.from_flyte_idl(p.id), input_uri=p.input_uri, - closure=NodeExecutionClosure.from_flyte_idl(p.closure) + closure=NodeExecutionClosure.from_flyte_idl(p.closure), )

diff --git a/_modules/flytekit/models/presto.html b/_modules/flytekit/models/presto.html index 8accf774af..df61a3842b 100644 --- a/_modules/flytekit/models/presto.html +++ b/_modules/flytekit/models/presto.html @@ -8,7 +8,7 @@ - flytekit.models.presto — Flyte 0.6.0 documentation + flytekit.models.presto — Flyte 0.7.0 documentation @@ -216,13 +216,10 @@

Source code for flytekit.models.presto

 
 
[docs] def to_flyte_idl(self): """ - :rtype: _presto.PrestoQuery + :rtype: _presto.PrestoQuery """ return _presto.PrestoQuery( - routing_group=self._routing_group, - catalog=self._catalog, - schema=self._schema, - statement=self._statement + routing_group=self._routing_group, catalog=self._catalog, schema=self._schema, statement=self._statement, )
[docs] @classmethod @@ -235,7 +232,7 @@

Source code for flytekit.models.presto

             routing_group=pb2_object.routing_group,
             catalog=pb2_object.catalog,
             schema=pb2_object.schema,
-            statement=pb2_object.statement
+            statement=pb2_object.statement,
         )
diff --git a/_modules/flytekit/models/project.html b/_modules/flytekit/models/project.html index 4d64e3028a..a2cdb0bac4 100644 --- a/_modules/flytekit/models/project.html +++ b/_modules/flytekit/models/project.html @@ -8,7 +8,7 @@ - flytekit.models.project — Flyte 0.6.0 documentation + flytekit.models.project — Flyte 0.7.0 documentation @@ -168,7 +168,6 @@

Source code for flytekit.models.project

 
 
 
[docs]class Project(_common.FlyteIdlEntity): - def __init__(self, id, name, description): """ A project represents a logical grouping used to organize entities (tasks, workflows, executions) in the Flyte @@ -210,11 +209,7 @@

Source code for flytekit.models.project

         """
         :rtype: flyteidl.admin.project_pb2.Project
         """
-        return _project_pb2.Project(
-            id=self.id,
-            name=self.name,
-            description=self.description,
-        )
+ return _project_pb2.Project(id=self.id, name=self.name, description=self.description,)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -222,11 +217,7 @@

Source code for flytekit.models.project

         :param flyteidl.admin.project_pb2.Project pb2_object:
         :rtype: Project
         """
-        return cls(
-            id=pb2_object.id,
-            name=pb2_object.name,
-            description=pb2_object.description,
-        )
+ return cls(id=pb2_object.id, name=pb2_object.name, description=pb2_object.description,)
diff --git a/_modules/flytekit/models/qubole.html b/_modules/flytekit/models/qubole.html index 88df366a6e..1f19cc6d8e 100644 --- a/_modules/flytekit/models/qubole.html +++ b/_modules/flytekit/models/qubole.html @@ -8,7 +8,7 @@ - flytekit.models.qubole — Flyte 0.6.0 documentation + flytekit.models.qubole — Flyte 0.7.0 documentation @@ -207,11 +207,7 @@

Source code for flytekit.models.qubole

         """
         :rtype: _qubole.HiveQuery
         """
-        return _qubole.HiveQuery(
-            query=self.query,
-            timeout_sec=self.timeout_sec,
-            retryCount=self.retry_count
-        )
+ return _qubole.HiveQuery(query=self.query, timeout_sec=self.timeout_sec, retryCount=self.retry_count)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -219,11 +215,8 @@

Source code for flytekit.models.qubole

         :param _qubole.HiveQuery pb2_object:
         :return: HiveQuery
         """
-        return cls(
-            query=pb2_object.query,
-            timeout_sec=pb2_object.timeout_sec,
-            retry_count=pb2_object.retryCount
-        )
+ return cls(query=pb2_object.query, timeout_sec=pb2_object.timeout_sec, retry_count=pb2_object.retryCount,)
+
[docs]class HiveQueryCollection(_common.FlyteIdlEntity): def __init__(self, queries): @@ -255,13 +248,10 @@

Source code for flytekit.models.qubole

         :param _qubole.HiveQuery pb2_object:
         :rtype: HiveQueryCollection
         """
-        return cls(
-            queries=[HiveQuery.from_flyte_idl(query) for query in pb2_object.queries]
-        )
+ return cls(queries=[HiveQuery.from_flyte_idl(query) for query in pb2_object.queries])
[docs]class QuboleHiveJob(_common.FlyteIdlEntity): - def __init__(self, query, cluster_label, tags, query_collection=None): """ Initializes a HiveJob. @@ -292,7 +282,6 @@

Source code for flytekit.models.qubole

         """
         return self._query
 
-
     @property
     def cluster_label(self):
         """
@@ -317,7 +306,7 @@ 

Source code for flytekit.models.qubole

             query_collection=self._query_collection.to_flyte_idl() if self._query_collection else None,
             query=self._query.to_flyte_idl() if self._query else None,
             cluster_label=self._cluster_label,
-            tags=self._tags
+            tags=self._tags,
         )
[docs] @classmethod @@ -327,8 +316,9 @@

Source code for flytekit.models.qubole

         :rtype: QuboleHiveJob
         """
         return cls(
-            query_collection=HiveQueryCollection.from_flyte_idl(p.query_collection) if p.HasField(
-                "query_collection") else None,
+            query_collection=HiveQueryCollection.from_flyte_idl(p.query_collection)
+            if p.HasField("query_collection")
+            else None,
             query=HiveQuery.from_flyte_idl(p.query) if p.HasField("query") else None,
             cluster_label=p.cluster_label,
             tags=p.tags,
diff --git a/_modules/flytekit/models/sagemaker/hpo_job.html b/_modules/flytekit/models/sagemaker/hpo_job.html
index 102148f100..918950814f 100644
--- a/_modules/flytekit/models/sagemaker/hpo_job.html
+++ b/_modules/flytekit/models/sagemaker/hpo_job.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.models.sagemaker.hpo_job — Flyte 0.6.0 documentation
+  flytekit.models.sagemaker.hpo_job — Flyte 0.7.0 documentation
   
 
   
@@ -160,12 +160,11 @@
            

Source code for flytekit.models.sagemaker.hpo_job

-from __future__ import absolute_import
-
-from flyteidl.plugins.sagemaker import hyperparameter_tuning_job_pb2 as _pb2_hpo_job
+from flyteidl.plugins.sagemaker import hyperparameter_tuning_job_pb2 as _pb2_hpo_job
 
 from flytekit.models import common as _common
-from flytekit.models.sagemaker import parameter_ranges as _parameter_ranges_models, training_job as _training_job
+from flytekit.models.sagemaker import parameter_ranges as _parameter_ranges_models
+from flytekit.models.sagemaker import training_job as _training_job
 
 
 
[docs]class HyperparameterTuningObjectiveType(object): @@ -180,10 +179,9 @@

Source code for flytekit.models.sagemaker.hpo_job

https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-metrics.html """ + def __init__( - self, - objective_type: int, - metric_name: str, + self, objective_type: int, metric_name: str, ): self._objective_type = objective_type self._metric_name = metric_name @@ -209,17 +207,13 @@

Source code for flytekit.models.sagemaker.hpo_job

[docs] def to_flyte_idl(self) -> _pb2_hpo_job.HyperparameterTuningObjective: return _pb2_hpo_job.HyperparameterTuningObjective( - objective_type=self.objective_type, - metric_name=self._metric_name, + objective_type=self.objective_type, metric_name=self._metric_name, )
[docs] @classmethod def from_flyte_idl(cls, pb2_object: _pb2_hpo_job.HyperparameterTuningObjective): - return cls( - objective_type=pb2_object.objective_type, - metric_name=pb2_object.metric_name, - )
+ return cls(objective_type=pb2_object.objective_type, metric_name=pb2_object.metric_name,)
[docs]class HyperparameterTuningStrategy: @@ -237,12 +231,13 @@

Source code for flytekit.models.sagemaker.hpo_job

The specification of the hyperparameter tuning process https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-ex-tuning-job.html#automatic-model-tuning-ex-low-tuning-config """ + def __init__( - self, - hyperparameter_ranges: _parameter_ranges_models.ParameterRanges, - tuning_strategy: int, - tuning_objective: HyperparameterTuningObjective, - training_job_early_stopping_type: int, + self, + hyperparameter_ranges: _parameter_ranges_models.ParameterRanges, + tuning_strategy: int, + tuning_objective: HyperparameterTuningObjective, + training_job_early_stopping_type: int, ): self._hyperparameter_ranges = hyperparameter_ranges self._tuning_strategy = tuning_strategy @@ -300,7 +295,8 @@

Source code for flytekit.models.sagemaker.hpo_job

return cls( hyperparameter_ranges=( - _parameter_ranges_models.ParameterRanges.from_flyte_idl(pb2_object.hyperparameter_ranges)), + _parameter_ranges_models.ParameterRanges.from_flyte_idl(pb2_object.hyperparameter_ranges) + ), tuning_strategy=pb2_object.tuning_strategy, tuning_objective=HyperparameterTuningObjective.from_flyte_idl(pb2_object.tuning_objective), training_job_early_stopping_type=pb2_object.training_job_early_stopping_type, @@ -308,12 +304,11 @@

Source code for flytekit.models.sagemaker.hpo_job

[docs]class HyperparameterTuningJob(_common.FlyteIdlEntity): - def __init__( - self, - max_number_of_training_jobs: int, - max_parallel_training_jobs: int, - training_job: _training_job.TrainingJob, + self, + max_number_of_training_jobs: int, + max_parallel_training_jobs: int, + training_job: _training_job.TrainingJob, ): self._max_number_of_training_jobs = max_number_of_training_jobs self._max_parallel_training_jobs = max_parallel_training_jobs diff --git a/_modules/flytekit/models/sagemaker/parameter_ranges.html b/_modules/flytekit/models/sagemaker/parameter_ranges.html index 86c76b54bd..22b3440aed 100644 --- a/_modules/flytekit/models/sagemaker/parameter_ranges.html +++ b/_modules/flytekit/models/sagemaker/parameter_ranges.html @@ -8,7 +8,7 @@ - flytekit.models.sagemaker.parameter_ranges — Flyte 0.6.0 documentation + flytekit.models.sagemaker.parameter_ranges — Flyte 0.7.0 documentation @@ -160,9 +160,7 @@

Source code for flytekit.models.sagemaker.parameter_ranges

-from __future__ import absolute_import
-
-from typing import Dict, List
+from typing import Dict, List
 
 from flyteidl.plugins.sagemaker import parameter_ranges_pb2 as _idl_parameter_ranges
 
@@ -178,10 +176,7 @@ 

Source code for flytekit.models.sagemaker.parameter_ranges

[docs]class ContinuousParameterRange(_common.FlyteIdlEntity): def __init__( - self, - max_value: float, - min_value: float, - scaling_type: int, + self, max_value: float, min_value: float, scaling_type: int, ): """ @@ -223,9 +218,7 @@

Source code for flytekit.models.sagemaker.parameter_ranges

""" return _idl_parameter_ranges.ContinuousParameterRange( - max_value=self._max_value, - min_value=self._min_value, - scaling_type=self.scaling_type, + max_value=self._max_value, min_value=self._min_value, scaling_type=self.scaling_type, )
[docs] @classmethod @@ -236,18 +229,13 @@

Source code for flytekit.models.sagemaker.parameter_ranges

:rtype: ContinuousParameterRange """ return cls( - max_value=pb2_object.max_value, - min_value=pb2_object.min_value, - scaling_type=pb2_object.scaling_type, + max_value=pb2_object.max_value, min_value=pb2_object.min_value, scaling_type=pb2_object.scaling_type, )
[docs]class IntegerParameterRange(_common.FlyteIdlEntity): def __init__( - self, - max_value: int, - min_value: int, - scaling_type: int, + self, max_value: int, min_value: int, scaling_type: int, ): """ :param int max_value: @@ -286,9 +274,7 @@

Source code for flytekit.models.sagemaker.parameter_ranges

:rtype: _idl_parameter_ranges.IntegerParameterRange """ return _idl_parameter_ranges.IntegerParameterRange( - max_value=self._max_value, - min_value=self._min_value, - scaling_type=self.scaling_type, + max_value=self._max_value, min_value=self._min_value, scaling_type=self.scaling_type, )
[docs] @classmethod @@ -299,16 +285,13 @@

Source code for flytekit.models.sagemaker.parameter_ranges

:rtype: IntegerParameterRange """ return cls( - max_value=pb2_object.max_value, - min_value=pb2_object.min_value, - scaling_type=pb2_object.scaling_type, + max_value=pb2_object.max_value, min_value=pb2_object.min_value, scaling_type=pb2_object.scaling_type, )
[docs]class CategoricalParameterRange(_common.FlyteIdlEntity): def __init__( - self, - values: List[str], + self, values: List[str], ): """ @@ -327,21 +310,16 @@

Source code for flytekit.models.sagemaker.parameter_ranges

""" :rtype: _idl_parameter_ranges.CategoricalParameterRange """ - return _idl_parameter_ranges.CategoricalParameterRange( - values=self._values - )
+ return _idl_parameter_ranges.CategoricalParameterRange(values=self._values)
[docs] @classmethod def from_flyte_idl(cls, pb2_object: _idl_parameter_ranges.CategoricalParameterRange): - return cls( - values=pb2_object.values - )
+ return cls(values=pb2_object.values)
[docs]class ParameterRanges(_common.FlyteIdlEntity): def __init__( - self, - parameter_range_map: Dict[str, _common.FlyteIdlEntity], + self, parameter_range_map: Dict[str, _common.FlyteIdlEntity], ): self._parameter_range_map = parameter_range_map @@ -355,9 +333,7 @@

Source code for flytekit.models.sagemaker.parameter_ranges

else: converted[k] = _idl_parameter_ranges.ParameterRangeOneOf(categorical_parameter_range=v.to_flyte_idl()) - return _idl_parameter_ranges.ParameterRanges( - parameter_range_map=converted, - )
+ return _idl_parameter_ranges.ParameterRanges(parameter_range_map=converted,)
[docs] @classmethod def from_flyte_idl(cls, pb2_object: _idl_parameter_ranges.ParameterRanges): @@ -370,9 +346,7 @@

Source code for flytekit.models.sagemaker.parameter_ranges

else: converted[k] = CategoricalParameterRange.from_flyte_idl(v) - return cls( - parameter_range_map=converted, - )
+ return cls(parameter_range_map=converted,)
diff --git a/_modules/flytekit/models/sagemaker/training_job.html b/_modules/flytekit/models/sagemaker/training_job.html index 9ef23dcc52..3ea98008e7 100644 --- a/_modules/flytekit/models/sagemaker/training_job.html +++ b/_modules/flytekit/models/sagemaker/training_job.html @@ -8,7 +8,7 @@ - flytekit.models.sagemaker.training_job — Flyte 0.6.0 documentation + flytekit.models.sagemaker.training_job — Flyte 0.7.0 documentation @@ -160,9 +160,7 @@

Source code for flytekit.models.sagemaker.training_job

-from __future__ import absolute_import
-
-from typing import List
+from typing import List
 
 from flyteidl.plugins.sagemaker import training_job_pb2 as _training_job_pb2
 
@@ -175,11 +173,9 @@ 

Source code for flytekit.models.sagemaker.training_job

number of instances to launch, and the size of the ML storage volume the user wants to provision Refer to SageMaker official doc for more details: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html """ + def __init__( - self, - instance_count: int, - instance_type: str, - volume_size_in_gb: int, + self, instance_count: int, instance_type: str, volume_size_in_gb: int, ): self._instance_count = instance_count self._instance_type = instance_type @@ -236,9 +232,7 @@

Source code for flytekit.models.sagemaker.training_job

[docs]class MetricDefinition(_common.FlyteIdlEntity): def __init__( - self, - name: str, - regex: str, + self, name: str, regex: str, ): self._name = name self._regex = regex @@ -265,10 +259,7 @@

Source code for flytekit.models.sagemaker.training_job

:rtype: _training_job_pb2.MetricDefinition """ - return _training_job_pb2.MetricDefinition( - name=self.name, - regex=self.regex, - )
+ return _training_job_pb2.MetricDefinition(name=self.name, regex=self.regex,)
[docs] @classmethod def from_flyte_idl(cls, pb2_object: _training_job_pb2.MetricDefinition): @@ -277,10 +268,7 @@

Source code for flytekit.models.sagemaker.training_job

:param pb2_object: _training_job_pb2.MetricDefinition :rtype: MetricDefinition """ - return cls( - name=pb2_object.name, - regex=pb2_object.regex, - )
+ return cls(name=pb2_object.name, regex=pb2_object.regex,)
[docs]class InputMode(object): @@ -289,6 +277,7 @@

Source code for flytekit.models.sagemaker.training_job

See https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-training.html https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html """ + PIPE = _training_job_pb2.InputMode.PIPE FILE = _training_job_pb2.InputMode.FILE
@@ -300,6 +289,7 @@

Source code for flytekit.models.sagemaker.training_job

While we currently only support a subset of the algorithms, more will be added to the list. See: https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html """ + CUSTOM = _training_job_pb2.AlgorithmName.CUSTOM XGBOOST = _training_job_pb2.AlgorithmName.XGBOOST
@@ -310,6 +300,7 @@

Source code for flytekit.models.sagemaker.training_job

See https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-training.html https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html """ + TEXT_CSV = _training_job_pb2.InputContentType.TEXT_CSV
@@ -323,13 +314,14 @@

Source code for flytekit.models.sagemaker.training_job

For pass-through use cases: refer to this AWS official document for more details https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html """ + def __init__( - self, - algorithm_name: int, - algorithm_version: str, - input_mode: int, - metric_definitions: List[MetricDefinition] = None, - input_content_type: int = InputContentType.TEXT_CSV, + self, + algorithm_name: int = AlgorithmName.CUSTOM, + algorithm_version: str = "", + input_mode: int = InputMode.FILE, + metric_definitions: List[MetricDefinition] = None, + input_content_type: int = InputContentType.TEXT_CSV, ): self._input_mode = input_mode self._input_content_type = input_content_type @@ -411,9 +403,7 @@

Source code for flytekit.models.sagemaker.training_job

[docs]class TrainingJob(_common.FlyteIdlEntity): def __init__( - self, - algorithm_specification: AlgorithmSpecification, - training_job_resource_config: TrainingJobResourceConfig, + self, algorithm_specification: AlgorithmSpecification, training_job_resource_config: TrainingJobResourceConfig, ): self._algorithm_specification = algorithm_specification self._training_job_resource_config = training_job_resource_config @@ -440,8 +430,12 @@

Source code for flytekit.models.sagemaker.training_job

""" return _training_job_pb2.TrainingJob( - algorithm_specification=self.algorithm_specification.to_flyte_idl(), - training_job_resource_config=self.training_job_resource_config.to_flyte_idl(), + algorithm_specification=self.algorithm_specification.to_flyte_idl() + if self.algorithm_specification + else None, + training_job_resource_config=self.training_job_resource_config.to_flyte_idl() + if self.training_job_resource_config + else None, )
[docs] @classmethod diff --git a/_modules/flytekit/models/schedule.html b/_modules/flytekit/models/schedule.html index 57a0710970..79a9e4a650 100644 --- a/_modules/flytekit/models/schedule.html +++ b/_modules/flytekit/models/schedule.html @@ -8,7 +8,7 @@ - flytekit.models.schedule — Flyte 0.6.0 documentation + flytekit.models.schedule — Flyte 0.7.0 documentation @@ -189,7 +189,6 @@

Source code for flytekit.models.schedule

                 return "{}".format(int_value)
[docs] class FixedRate(_common.FlyteIdlEntity): - def __init__(self, value, unit): """ :param int value: @@ -279,7 +278,7 @@

Source code for flytekit.models.schedule

         return cls(
             pb2_object.kickoff_time_input_arg,
             cron_expression=pb2_object.cron_expression if pb2_object.HasField("cron_expression") else None,
-            rate=Schedule.FixedRate.from_flyte_idl(pb2_object.rate) if pb2_object.HasField("rate") else None
+            rate=Schedule.FixedRate.from_flyte_idl(pb2_object.rate) if pb2_object.HasField("rate") else None,
         )
diff --git a/_modules/flytekit/models/task.html b/_modules/flytekit/models/task.html index a89ca06c0a..c6b0afad6e 100644 --- a/_modules/flytekit/models/task.html +++ b/_modules/flytekit/models/task.html @@ -8,7 +8,7 @@ - flytekit.models.task — Flyte 0.6.0 documentation + flytekit.models.task — Flyte 0.7.0 documentation @@ -166,15 +166,21 @@

Source code for flytekit.models.task

 
 import six as _six
 from flyteidl.admin import task_pb2 as _admin_task
-from flyteidl.core import tasks_pb2 as _core_task, literals_pb2 as _literals_pb2, compiler_pb2 as _compiler
-from flyteidl.plugins import spark_pb2 as _spark_task
+from flyteidl.core import compiler_pb2 as _compiler
+from flyteidl.core import literals_pb2 as _literals_pb2
+from flyteidl.core import tasks_pb2 as _core_task
 from flyteidl.plugins import pytorch_pb2 as _pytorch_task
+from flyteidl.plugins import spark_pb2 as _spark_task
+from google.protobuf import json_format as _json_format
+from google.protobuf import struct_pb2 as _struct
+
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.models import common as _common
+from flytekit.models import interface as _interface
+from flytekit.models import literals as _literals
+from flytekit.models.core import identifier as _identifier
 from flytekit.plugins import flyteidl as _lazy_flyteidl
-from google.protobuf import json_format as _json_format, struct_pb2 as _struct
 from flytekit.sdk.spark_types import SparkType as _spark_type
-from flytekit.models import common as _common, literals as _literals, interface as _interface
-from flytekit.models.core import identifier as _identifier
-from flytekit.common.exceptions import user as _user_exceptions
 
 
 
[docs]class Resources(_common.FlyteIdlEntity): @@ -186,7 +192,6 @@

Source code for flytekit.models.task

         STORAGE = _core_task.Resources.STORAGE
[docs] class ResourceEntry(_common.FlyteIdlEntity): - def __init__(self, name, value): """ :param int name: enum value from ResourceName @@ -256,8 +261,7 @@

Source code for flytekit.models.task

         :rtype: flyteidl.core.tasks_pb2.Resources
         """
         return _core_task.Resources(
-            requests=[r.to_flyte_idl() for r in self.requests],
-            limits=[r.to_flyte_idl() for r in self.limits]
+            requests=[r.to_flyte_idl() for r in self.requests], limits=[r.to_flyte_idl() for r in self.limits],
         )
[docs] @classmethod @@ -268,7 +272,7 @@

Source code for flytekit.models.task

         """
         return cls(
             requests=[Resources.ResourceEntry.from_flyte_idl(r) for r in pb2_object.requests],
-            limits=[Resources.ResourceEntry.from_flyte_idl(l) for l in pb2_object.limits]
+            limits=[Resources.ResourceEntry.from_flyte_idl(l) for l in pb2_object.limits],
         )
@@ -316,11 +320,7 @@

Source code for flytekit.models.task

         """
         :rtype: flyteidl.core.tasks_pb2.RuntimeMetadata
         """
-        return _core_task.RuntimeMetadata(
-            type=self.type,
-            version=self.version,
-            flavor=self.flavor
-        )
+ return _core_task.RuntimeMetadata(type=self.type, version=self.version, flavor=self.flavor)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -328,17 +328,13 @@

Source code for flytekit.models.task

         :param flyteidl.core.tasks_pb2.RuntimeMetadata pb2_object:
         :rtype: RuntimeMetadata
         """
-        return cls(
-            type=pb2_object.type,
-            version=pb2_object.version,
-            flavor=pb2_object.flavor
-        )
+ return cls(type=pb2_object.type, version=pb2_object.version, flavor=pb2_object.flavor)
[docs]class TaskMetadata(_common.FlyteIdlEntity): - - def __init__(self, discoverable, runtime, timeout, retries, interruptible, discovery_version, - deprecated_error_message): + def __init__( + self, discoverable, runtime, timeout, retries, interruptible, discovery_version, deprecated_error_message, + ): """ Information needed at runtime to determine behavior such as whether or not outputs are discoverable, timeouts, and retries. @@ -433,7 +429,7 @@

Source code for flytekit.models.task

             retries=self.retries.to_flyte_idl(),
             interruptible=self.interruptible,
             discovery_version=self.discovery_version,
-            deprecated_error_message=self.deprecated_error_message
+            deprecated_error_message=self.deprecated_error_message,
         )
         tm.timeout.FromTimedelta(self.timeout)
         return tm
@@ -451,12 +447,11 @@

Source code for flytekit.models.task

             interruptible=pb2_object.interruptible if pb2_object.HasField("interruptible") else None,
             retries=_literals.RetryStrategy.from_flyte_idl(pb2_object.retries),
             discovery_version=pb2_object.discovery_version,
-            deprecated_error_message=pb2_object.deprecated_error_message
+            deprecated_error_message=pb2_object.deprecated_error_message,
         )
[docs]class TaskTemplate(_common.FlyteIdlEntity): - def __init__(self, id, type, metadata, interface, custom, container=None): """ A task template represents the full set of information necessary to perform a unit of work in the Flyte system. @@ -539,7 +534,7 @@

Source code for flytekit.models.task

             metadata=self.metadata.to_flyte_idl(),
             interface=self.interface.to_flyte_idl(),
             custom=_json_format.Parse(_json.dumps(self.custom), _struct.Struct()) if self.custom else None,
-            container=self.container.to_flyte_idl() if self.container else None
+            container=self.container.to_flyte_idl() if self.container else None,
         )
[docs] @classmethod @@ -554,12 +549,11 @@

Source code for flytekit.models.task

             metadata=TaskMetadata.from_flyte_idl(pb2_object.metadata),
             interface=_interface.TypedInterface.from_flyte_idl(pb2_object.interface),
             custom=_json_format.MessageToDict(pb2_object.custom) if pb2_object else None,
-            container=Container.from_flyte_idl(pb2_object.container) if pb2_object.HasField("container") else None
+            container=Container.from_flyte_idl(pb2_object.container) if pb2_object.HasField("container") else None,
         )
[docs]class TaskSpec(_common.FlyteIdlEntity): - def __init__(self, template): """ :param TaskTemplate template: @@ -577,9 +571,7 @@

Source code for flytekit.models.task

         """
         :rtype: flyteidl.admin.tasks_pb2.TaskSpec
         """
-        return _admin_task.TaskSpec(
-            template=self.template.to_flyte_idl()
-        )
+ return _admin_task.TaskSpec(template=self.template.to_flyte_idl())
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -591,7 +583,6 @@

Source code for flytekit.models.task

 
 
 
[docs]class Task(_common.FlyteIdlEntity): - def __init__(self, id, closure): """ :param flytekit.models.core.identifier.Identifier id: The (project, domain, name) identifier for this task. @@ -620,10 +611,7 @@

Source code for flytekit.models.task

         """
         :rtype: flyteidl.admin.task_pb2.Task
         """
-        return _admin_task.Task(
-            closure=self.closure.to_flyte_idl(),
-            id=self.id.to_flyte_idl(),
-        )
+ return _admin_task.Task(closure=self.closure.to_flyte_idl(), id=self.id.to_flyte_idl(),)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -633,12 +621,11 @@

Source code for flytekit.models.task

         """
         return cls(
             closure=TaskClosure.from_flyte_idl(pb2_object.closure),
-            id=_identifier.Identifier.from_flyte_idl(pb2_object.id)
+            id=_identifier.Identifier.from_flyte_idl(pb2_object.id),
         )
[docs]class TaskClosure(_common.FlyteIdlEntity): - def __init__(self, compiled_task): """ :param CompiledTask compiled_task: @@ -656,9 +643,7 @@

Source code for flytekit.models.task

         """
         :rtype: flyteidl.admin.task_pb2.TaskClosure
         """
-        return _admin_task.TaskClosure(
-            compiled_task=self.compiled_task.to_flyte_idl()
-        )
+ return _admin_task.TaskClosure(compiled_task=self.compiled_task.to_flyte_idl())
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -666,13 +651,10 @@

Source code for flytekit.models.task

         :param flyteidl.admin.task_pb2.TaskClosure pb2_object:
         :rtype: TaskClosure
         """
-        return cls(
-            compiled_task=CompiledTask.from_flyte_idl(pb2_object.compiled_task)
-        )
+ return cls(compiled_task=CompiledTask.from_flyte_idl(pb2_object.compiled_task))
[docs]class CompiledTask(_common.FlyteIdlEntity): - def __init__(self, template): """ :param TaskTemplate template: @@ -690,9 +672,7 @@

Source code for flytekit.models.task

         """
         :rtype: flyteidl.core.compiler_pb2.CompiledTask
         """
-        return _compiler.CompiledTask(
-            template=self.template.to_flyte_idl()
-        )
+ return _compiler.CompiledTask(template=self.template.to_flyte_idl())
[docs] @classmethod def from_flyte_idl(cls, pb2_object): @@ -700,14 +680,13 @@

Source code for flytekit.models.task

         :param flyteidl.core.compiler_pb2.CompiledTask pb2_object:
         :rtype: CompiledTask
         """
-        return cls(
-            template=TaskTemplate.from_flyte_idl(pb2_object.template)
-        )
+ return cls(template=TaskTemplate.from_flyte_idl(pb2_object.template))
[docs]class SparkJob(_common.FlyteIdlEntity): - - def __init__(self, spark_type, application_file, main_class, spark_conf, hadoop_conf, executor_path): + def __init__( + self, spark_type, application_file, main_class, spark_conf, hadoop_conf, executor_path, + ): """ This defines a SparkJob target. It will execute the appropriate SparkJob. @@ -757,8 +736,8 @@

Source code for flytekit.models.task

     @property
     def spark_conf(self):
         """
-       A definition of key-value pairs for spark config for the job.
-        :rtype: dict[Text, Text]
+        A definition of key-value pairs for spark config for the job.
+         :rtype: dict[Text, Text]
         """
         return self._spark_conf
 
@@ -824,6 +803,7 @@ 

Source code for flytekit.models.task

     """
     Provides methods to manage data in and out of the Raw container using Download Modes. This can only be used if DataLoadingConfig is enabled.
     """
+
     DOWNLOAD_MODE_EAGER = _core_task.IOStrategy.DOWNLOAD_EAGER
     DOWNLOAD_MODE_STREAM = _core_task.IOStrategy.DOWNLOAD_STREAM
     DOWNLOAD_MODE_NO_DOWNLOAD = _core_task.IOStrategy.DO_NOT_DOWNLOAD
@@ -832,26 +812,22 @@ 

Source code for flytekit.models.task

     UPLOAD_MODE_ON_EXIT = _core_task.IOStrategy.UPLOAD_ON_EXIT
     UPLOAD_MODE_NO_UPLOAD = _core_task.IOStrategy.DO_NOT_UPLOAD
 
-    def __init__(self,
-                 download_mode: _core_task.IOStrategy.DownloadMode=DOWNLOAD_MODE_EAGER,
-                 upload_mode: _core_task.IOStrategy.UploadMode=UPLOAD_MODE_ON_EXIT):
+    def __init__(
+        self,
+        download_mode: _core_task.IOStrategy.DownloadMode = DOWNLOAD_MODE_EAGER,
+        upload_mode: _core_task.IOStrategy.UploadMode = UPLOAD_MODE_ON_EXIT,
+    ):
         self._download_mode = download_mode
         self._upload_mode = upload_mode
 
 
[docs] def to_flyte_idl(self) -> _core_task.IOStrategy: - return _core_task.IOStrategy( - download_mode=self._download_mode, - upload_mode=self._upload_mode - )
+ return _core_task.IOStrategy(download_mode=self._download_mode, upload_mode=self._upload_mode)
[docs] @classmethod def from_flyte_idl(cls, pb2_object: _core_task.IOStrategy): if pb2_object is None: return None - return cls( - download_mode=pb2_object.download_mode, - upload_mode=pb2_object.upload_mode, - )
+ return cls(download_mode=pb2_object.download_mode, upload_mode=pb2_object.upload_mode,)
[docs]class DataLoadingConfig(_common.FlyteIdlEntity): @@ -860,11 +836,18 @@

Source code for flytekit.models.task

     LITERALMAP_FORMAT_YAML = _core_task.DataLoadingConfig.YAML
     _LITERALMAP_FORMATS = frozenset([LITERALMAP_FORMAT_JSON, LITERALMAP_FORMAT_PROTO, LITERALMAP_FORMAT_YAML])
 
-    def __init__(self, input_path: str, output_path: str, enabled: bool = True,
-                 format: _core_task.DataLoadingConfig.LiteralMapFormat = LITERALMAP_FORMAT_PROTO, io_strategy: IOStrategy=None):
+    def __init__(
+        self,
+        input_path: str,
+        output_path: str,
+        enabled: bool = True,
+        format: _core_task.DataLoadingConfig.LiteralMapFormat = LITERALMAP_FORMAT_PROTO,
+        io_strategy: IOStrategy = None,
+    ):
         if format not in self._LITERALMAP_FORMATS:
             raise ValueError(
-                "Metadata format {} not supported. Should be one of {}".format(format, self._LITERALMAP_FORMATS))
+                "Metadata format {} not supported. Should be one of {}".format(format, self._LITERALMAP_FORMATS)
+            )
         self._input_path = input_path
         self._output_path = output_path
         self._enabled = enabled
@@ -895,20 +878,19 @@ 

Source code for flytekit.models.task

 
 
 
[docs]class Container(_common.FlyteIdlEntity): - def __init__(self, image, command, args, resources, env, config, data_loading_config=None): """ - This defines a container target. It will execute the appropriate command line on the appropriate image with - the given configurations. - - :param Text image: The fully-qualified identifier for the image. - :param list[Text] command: A list of 'words' for the command. i.e. ['aws', 's3', 'ls'] - :param list[Text] args: A list of arguments for the command. i.e. ['s3://some/path', '/tmp/local/path'] - :param Resources resources: A definition of requisite compute resources. - :param dict[Text, Text] env: A definition of key-value pairs for environment variables. - :param dict[Text, Text] config: A definition of configuration key-value pairs. - :type DataLoadingConfig data_loading_config: object - """ + This defines a container target. It will execute the appropriate command line on the appropriate image with + the given configurations. + + :param Text image: The fully-qualified identifier for the image. + :param list[Text] command: A list of 'words' for the command. i.e. ['aws', 's3', 'ls'] + :param list[Text] args: A list of arguments for the command. i.e. ['s3://some/path', '/tmp/local/path'] + :param Resources resources: A definition of requisite compute resources. + :param dict[Text, Text] env: A definition of key-value pairs for environment variables. + :param dict[Text, Text] config: A definition of configuration key-value pairs. + :type DataLoadingConfig data_loading_config: object + """ self._data_loading_config = data_loading_config self._image = image self._command = command @@ -1002,12 +984,12 @@

Source code for flytekit.models.task

             env={kv.key: kv.value for kv in pb2_object.env},
             config={kv.key: kv.value for kv in pb2_object.config},
             data_loading_config=DataLoadingConfig.from_flyte_idl(pb2_object.data_config)
-                if pb2_object.HasField("data_config") else None,
+            if pb2_object.HasField("data_config")
+            else None,
         )
[docs]class SidecarJob(_common.FlyteIdlEntity): - def __init__(self, pod_spec, primary_container_name): """ A sidecar job represents the full kubernetes pod spec and related metadata required for executing a sidecar @@ -1038,8 +1020,7 @@

Source code for flytekit.models.task

         :rtype: flyteidl.core.tasks_pb2.SidecarJob
         """
         return _lazy_flyteidl.plugins.sidecar_pb2.SidecarJob(
-            pod_spec=self.pod_spec,
-            primary_container_name=self.primary_container_name
+            pod_spec=self.pod_spec, primary_container_name=self.primary_container_name
         )
[docs] @classmethod @@ -1048,14 +1029,10 @@

Source code for flytekit.models.task

         :param flyteidl.admin.task_pb2.Task pb2_object:
         :rtype: Container
         """
-        return cls(
-            pod_spec=pb2_object.pod_spec,
-            primary_container_name=pb2_object.primary_container_name,
-        )
+ return cls(pod_spec=pb2_object.pod_spec, primary_container_name=pb2_object.primary_container_name,)
[docs]class PyTorchJob(_common.FlyteIdlEntity): - def __init__(self, workers_count): self._workers_count = workers_count @@ -1064,15 +1041,11 @@

Source code for flytekit.models.task

         return self._workers_count
 
 
[docs] def to_flyte_idl(self): - return _pytorch_task.DistributedPyTorchTrainingTask( - workers=self.workers_count, - )
+ return _pytorch_task.DistributedPyTorchTrainingTask(workers=self.workers_count,)
[docs] @classmethod def from_flyte_idl(cls, pb2_object): - return cls( - workers_count=pb2_object.workers, - )
+ return cls(workers_count=pb2_object.workers,)
diff --git a/_modules/flytekit/models/types.html b/_modules/flytekit/models/types.html index 796582be95..ab50275ae7 100644 --- a/_modules/flytekit/models/types.html +++ b/_modules/flytekit/models/types.html @@ -8,7 +8,7 @@ - flytekit.models.types — Flyte 0.6.0 documentation + flytekit.models.types — Flyte 0.7.0 documentation @@ -162,12 +162,14 @@

Source code for flytekit.models.types

 from __future__ import absolute_import
 
+import json as _json
+
 from flyteidl.core import types_pb2 as _types_pb2
+from google.protobuf import json_format as _json_format
+from google.protobuf import struct_pb2 as _struct
 
 from flytekit.models import common as _common
 from flytekit.models.core import types as _core_types
-from google.protobuf import json_format as _json_format, struct_pb2 as _struct
-import json as _json
 
 
 
[docs]class SimpleType(object): @@ -184,9 +186,7 @@

Source code for flytekit.models.types

 
 
 
[docs]class SchemaType(_common.FlyteIdlEntity): -
[docs] class SchemaColumn(_common.FlyteIdlEntity): -
[docs] class SchemaColumnType(object): INTEGER = _types_pb2.SchemaType.SchemaColumn.INTEGER FLOAT = _types_pb2.SchemaType.SchemaColumn.FLOAT @@ -223,10 +223,7 @@

Source code for flytekit.models.types

             """
             :rtype: flyteidl.core.types_pb2.SchemaType.SchemaColumn
             """
-            return _types_pb2.SchemaType.SchemaColumn(
-                name=self.name,
-                type=self.type
-            )
+ return _types_pb2.SchemaType.SchemaColumn(name=self.name, type=self.type)
[docs] @classmethod def from_flyte_idl(cls, proto): @@ -254,9 +251,7 @@

Source code for flytekit.models.types

         """
         :rtype: flyteidl.core.types_pb2.SchemaType
         """
-        return _types_pb2.SchemaType(
-            columns=[c.to_flyte_idl() for c in self.columns]
-        )
+ return _types_pb2.SchemaType(columns=[c.to_flyte_idl() for c in self.columns])
[docs] @classmethod def from_flyte_idl(cls, proto): @@ -268,8 +263,9 @@

Source code for flytekit.models.types

 
 
 
[docs]class LiteralType(_common.FlyteIdlEntity): - - def __init__(self, simple=None, schema=None, collection_type=None, map_value_type=None, blob=None, metadata=None): + def __init__( + self, simple=None, schema=None, collection_type=None, map_value_type=None, blob=None, metadata=None, + ): """ Only one of the kwargs may be set. :param int simple: Enum type from SimpleType @@ -347,7 +343,7 @@

Source code for flytekit.models.types

             collection_type=self.collection_type.to_flyte_idl() if self.collection_type is not None else None,
             map_value_type=self.map_value_type.to_flyte_idl() if self.map_value_type is not None else None,
             blob=self.blob.to_flyte_idl() if self.blob is not None else None,
-            metadata=metadata
+            metadata=metadata,
         )
         return t
@@ -369,7 +365,7 @@

Source code for flytekit.models.types

             collection_type=collection_type,
             map_value_type=map_value_type,
             blob=_core_types.BlobType.from_flyte_idl(proto.blob) if proto.HasField("blob") else None,
-            metadata=_json_format.MessageToDict(proto.metadata) or None
+            metadata=_json_format.MessageToDict(proto.metadata) or None,
         )
@@ -417,10 +413,7 @@

Source code for flytekit.models.types

         :param flyteidl.core.types.OutputReference pb2_object:
         :rtype: OutputReference
         """
-        return cls(
-            node_id=pb2_object.node_id,
-            var=pb2_object.var
-        )
+ return cls(node_id=pb2_object.node_id, var=pb2_object.var)
diff --git a/_modules/flytekit/models/workflow_closure.html b/_modules/flytekit/models/workflow_closure.html index 179cd7ee57..622e6fbf30 100644 --- a/_modules/flytekit/models/workflow_closure.html +++ b/_modules/flytekit/models/workflow_closure.html @@ -8,7 +8,7 @@ - flytekit.models.workflow_closure — Flyte 0.6.0 documentation + flytekit.models.workflow_closure — Flyte 0.7.0 documentation @@ -163,13 +163,13 @@

Source code for flytekit.models.workflow_closure

from __future__ import absolute_import from flyteidl.core import workflow_closure_pb2 as _workflow_closure_pb2 + from flytekit.models import common as _common -from flytekit.models.core import workflow as _core_workflow_models from flytekit.models import task as _task_models +from flytekit.models.core import workflow as _core_workflow_models
[docs]class WorkflowClosure(_common.FlyteIdlEntity): - def __init__(self, workflow, tasks=None): """ :param flytekit.models.core.workflow.WorkflowTemplate workflow: Workflow template @@ -197,8 +197,7 @@

Source code for flytekit.models.workflow_closure

:rtype: flyteidl.core.workflow_closure_pb2.WorkflowClosure """ return _workflow_closure_pb2.WorkflowClosure( - workflow=self.workflow.to_flyte_idl(), - tasks=[t.to_flyte_idl() for t in self.tasks] + workflow=self.workflow.to_flyte_idl(), tasks=[t.to_flyte_idl() for t in self.tasks], )
[docs] @classmethod diff --git a/_modules/flytekit/sdk/exceptions.html b/_modules/flytekit/sdk/exceptions.html index 4050081bb1..d2ccf7283c 100644 --- a/_modules/flytekit/sdk/exceptions.html +++ b/_modules/flytekit/sdk/exceptions.html @@ -8,7 +8,7 @@ - flytekit.sdk.exceptions — Flyte 0.6.0 documentation + flytekit.sdk.exceptions — Flyte 0.7.0 documentation @@ -161,6 +161,7 @@

Source code for flytekit.sdk.exceptions

 from __future__ import absolute_import
+
 from flytekit.common.exceptions import user as _user
 
 
@@ -170,6 +171,7 @@ 

Source code for flytekit.sdk.exceptions

     Any exception raised from user code other than RecoverableException will NOT be considered retryable and the task
     will fail without additional retries.
     """
+
     pass
diff --git a/_modules/flytekit/sdk/sagemaker/task.html b/_modules/flytekit/sdk/sagemaker/task.html new file mode 100644 index 0000000000..9fc7bcbf53 --- /dev/null +++ b/_modules/flytekit/sdk/sagemaker/task.html @@ -0,0 +1,350 @@ + + + + + + + + + + + flytekit.sdk.sagemaker.task — Flyte 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ +
    + +
  • Docs »
  • + +
  • Module code »
  • + +
  • flytekit.sdk.sagemaker.task
  • + + +
  • + +
  • + +
+ + +
+
+
+
+ +

Source code for flytekit.sdk.sagemaker.task

+import datetime as _datetime
+import typing
+
+from flytekit.common.tasks.sagemaker.custom_training_job_task import CustomTrainingJobTask
+from flytekit.models.sagemaker import training_job as _training_job_models
+
+
+
[docs]def custom_training_job_task( + _task_function=None, + algorithm_specification: _training_job_models.AlgorithmSpecification = None, + training_job_resource_config: _training_job_models.TrainingJobResourceConfig = None, + cache_version: str = "", + retries: int = 0, + deprecated: str = "", + storage_request: str = None, + cpu_request: str = None, + gpu_request: str = None, + memory_request: str = None, + storage_limit: str = None, + cpu_limit: str = None, + gpu_limit: str = None, + memory_limit: str = None, + cache: bool = False, + timeout: _datetime.timedelta = None, + environment: typing.Dict[str, str] = None, + cls: typing.Type = None, +): + """ + Decorator to create a Custom Training Job definition. This task will run as a single unit of work on the platform. + + .. code-block:: python + + @inputs(int_list=[Types.Integer]) + @outputs(sum_of_list=Types.Integer + @custom_task + def my_task(wf_params, int_list, sum_of_list): + sum_of_list.set(sum(int_list)) + + :param _task_function: this is the decorated method and shouldn't be declared explicitly. The function must + take a first argument, and then named arguments matching those defined in @inputs and @outputs. No keyword + arguments are allowed for wrapped task functions. + + :param _training_job_models.AlgorithmSpecification algorithm_specification: This represents the algorithm specification + + :param _training_job_models.TrainingJobResourceConfig training_job_resource_config: This represents the training job config. + + :param Text cache_version: [optional] string representing logical version for discovery. This field should be + updated whenever the underlying algorithm changes. + + .. note:: + + This argument is required to be a non-empty string if `cache` is True. + + :param int retries: [optional] integer determining number of times task can be retried on + :py:exc:`flytekit.sdk.exceptions.RecoverableException` or transient platform failures. Defaults + to 0. + + .. note:: + + If retries > 0, the task must be able to recover from any remote state created within the user code. It is + strongly recommended that tasks are written to be idempotent. + + :param Text deprecated: [optional] string that should be provided if this task is deprecated. The string + will be logged as a warning so it should contain information regarding how to update to a newer task. + + :param Text storage_request: [optional] Kubernetes resource string for lower-bound of disk storage space + for the task to run. Default is set by platform-level configuration. + + .. note:: + + This is currently not supported by the platform. + + :param Text cpu_request: [optional] Kubernetes resource string for lower-bound of cores for the task to execute. + This can be set to a fractional portion of a CPU. Default is set by platform-level configuration. + + TODO: Add links to resource string documentation for Kubernetes + + :param Text gpu_request: [optional] Kubernetes resource string for lower-bound of desired GPUs. + Default is set by platform-level configuration. + + TODO: Add links to resource string documentation for Kubernetes + + :param Text memory_request: [optional] Kubernetes resource string for lower-bound of physical memory + necessary for the task to execute. Default is set by platform-level configuration. + + TODO: Add links to resource string documentation for Kubernetes + + :param Text storage_limit: [optional] Kubernetes resource string for upper-bound of disk storage space + for the task to run. This amount is not guaranteed! If not specified, it is set equal to storage_request. + + .. note:: + + This is currently not supported by the platform. + + :param Text cpu_limit: [optional] Kubernetes resource string for upper-bound of cores for the task to execute. + This can be set to a fractional portion of a CPU. This amount is not guaranteed! If not specified, + it is set equal to cpu_request. + + :param Text gpu_limit: [optional] Kubernetes resource string for upper-bound of desired GPUs. This amount is not + guaranteed! If not specified, it is set equal to gpu_request. + + :param Text memory_limit: [optional] Kubernetes resource string for upper-bound of physical memory + necessary for the task to execute. This amount is not guaranteed! If not specified, it is set equal to + memory_request. + + :param bool cache: [optional] boolean describing if the outputs of this task should be cached and + re-usable. + + :param datetime.timedelta timeout: [optional] describes how long the task should be allowed to + run at max before triggering a retry (if retries are enabled). By default, tasks are allowed to run + indefinitely. If a null timedelta is passed (i.e. timedelta(seconds=0)), the task will not timeout. + + :param dict[Text,Text] environment: [optional] environment variables to set when executing this task. + + :param cls: This can be used to override the task implementation with a user-defined extension. The class + provided must be a subclass of flytekit.common.tasks.sdk_runnable.SdkRunnableTask. A user can use this to + inject bespoke logic into the base Flyte programming model. + + :rtype: flytekit.common.tasks.sagemaker.custom_training_job_task.CustomTrainingJobTask + """ + + def wrapper(fn): + return (cls or CustomTrainingJobTask)( + task_function=fn, + cache_version=cache_version, + retries=retries, + deprecated=deprecated, + storage_request=storage_request, + cpu_request=cpu_request, + gpu_request=gpu_request, + memory_request=memory_request, + storage_limit=storage_limit, + cpu_limit=cpu_limit, + gpu_limit=gpu_limit, + memory_limit=memory_limit, + cache=cache, + timeout=timeout or _datetime.timedelta(seconds=0), + environment=environment, + algorithm_specification=algorithm_specification, + training_job_resource_config=training_job_resource_config, + ) + + if _task_function: + return wrapper(_task_function) + else: + return wrapper
+
+ +
+ +
+ + +
+
+ +
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/flytekit/sdk/spark_types.html b/_modules/flytekit/sdk/spark_types.html index 9c231a016e..2f1a365495 100644 --- a/_modules/flytekit/sdk/spark_types.html +++ b/_modules/flytekit/sdk/spark_types.html @@ -8,7 +8,7 @@ - flytekit.sdk.spark_types — Flyte 0.6.0 documentation + flytekit.sdk.spark_types — Flyte 0.7.0 documentation diff --git a/_modules/flytekit/sdk/tasks.html b/_modules/flytekit/sdk/tasks.html index 8251322e35..16b5b48928 100644 --- a/_modules/flytekit/sdk/tasks.html +++ b/_modules/flytekit/sdk/tasks.html @@ -8,7 +8,7 @@ - flytekit.sdk.tasks — Flyte 0.6.0 documentation + flytekit.sdk.tasks — Flyte 0.7.0 documentation @@ -168,9 +168,13 @@

Source code for flytekit.sdk.tasks

 
 from flytekit.common import constants as _common_constants
 from flytekit.common.exceptions import user as _user_exceptions
-from flytekit.common.tasks import sdk_runnable as _sdk_runnable_tasks, sdk_dynamic as _sdk_dynamic, \
-    spark_task as _sdk_spark_tasks, generic_spark_task as _sdk_generic_spark_task, hive_task as _sdk_hive_tasks, \
-    sidecar_task as _sdk_sidecar_tasks, pytorch_task as _sdk_pytorch_tasks
+from flytekit.common.tasks import generic_spark_task as _sdk_generic_spark_task
+from flytekit.common.tasks import hive_task as _sdk_hive_tasks
+from flytekit.common.tasks import pytorch_task as _sdk_pytorch_tasks
+from flytekit.common.tasks import sdk_dynamic as _sdk_dynamic
+from flytekit.common.tasks import sdk_runnable as _sdk_runnable_tasks
+from flytekit.common.tasks import sidecar_task as _sdk_sidecar_tasks
+from flytekit.common.tasks import spark_task as _sdk_spark_tasks
 from flytekit.common.tasks import task as _task
 from flytekit.common.types import helpers as _type_helpers
 from flytekit.contrib.notebook import tasks as _nb_tasks
@@ -203,20 +207,18 @@ 

Source code for flytekit.sdk.tasks

 
     def apply_inputs_wrapper(task):
         if not isinstance(task, _task.SdkTask):
-            additional_msg = \
-                "Inputs can only be applied to a task. Did you forget the task decorator on method '{}.{}'?".format(
-                    task.__module__,
-                    task.__name__ if hasattr(task, "__name__") else "<unknown>"
-                )
+            additional_msg = "Inputs can only be applied to a task. Did you forget the task decorator on method '{}.{}'?".format(
+                task.__module__, task.__name__ if hasattr(task, "__name__") else "<unknown>",
+            )
             raise _user_exceptions.FlyteTypeException(
                 expected_type=_sdk_runnable_tasks.SdkRunnableTask,
                 received_type=type(task),
                 received_value=task,
-                additional_msg=additional_msg)
+                additional_msg=additional_msg,
+            )
         for k, v in _six.iteritems(kwargs):
             kwargs[k] = _interface_model.Variable(
-                _type_helpers.python_std_to_sdk_type(v).to_flyte_literal_type(),
-                ''
+                _type_helpers.python_std_to_sdk_type(v).to_flyte_literal_type(), ""
             )  # TODO: Support descriptions
 
         task.add_inputs(kwargs)
@@ -250,22 +252,23 @@ 

Source code for flytekit.sdk.tasks

         name and type.
     :rtype: flytekit.common.tasks.sdk_runnable.SdkRunnableTask
     """
+
     def apply_outputs_wrapper(task):
-        if not isinstance(task, _sdk_runnable_tasks.SdkRunnableTask) and not isinstance(task, _nb_tasks.SdkNotebookTask):
-            additional_msg = \
-                "Outputs can only be applied to a task. Did you forget the task decorator on method '{}.{}'?".format(
-                    task.__module__,
-                    task.__name__ if hasattr(task, "__name__") else "<unknown>"
-                )
+        if not isinstance(task, _sdk_runnable_tasks.SdkRunnableTask) and not isinstance(
+            task, _nb_tasks.SdkNotebookTask
+        ):
+            additional_msg = "Outputs can only be applied to a task. Did you forget the task decorator on method '{}.{}'?".format(
+                task.__module__, task.__name__ if hasattr(task, "__name__") else "<unknown>",
+            )
             raise _user_exceptions.FlyteTypeException(
                 expected_type=_sdk_runnable_tasks.SdkRunnableTask,
                 received_type=type(task),
                 received_value=task,
-                additional_msg=additional_msg)
+                additional_msg=additional_msg,
+            )
         for k, v in _six.iteritems(kwargs):
             kwargs[k] = _interface_model.Variable(
-                _type_helpers.python_std_to_sdk_type(v).to_flyte_literal_type(),
-                ''
+                _type_helpers.python_std_to_sdk_type(v).to_flyte_literal_type(), ""
             )  # TODO: Support descriptions
 
         task.add_outputs(kwargs)
@@ -278,23 +281,23 @@ 

Source code for flytekit.sdk.tasks

 
 
 
[docs]def python_task( - _task_function=None, - cache_version='', - retries=0, - interruptible=None, - deprecated='', - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - cache=False, - timeout=None, - environment=None, - cls=None, + _task_function=None, + cache_version="", + retries=0, + interruptible=None, + deprecated="", + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + cache=False, + timeout=None, + environment=None, + cls=None, ): """ Decorator to create a Python Task definition. This task will run as a single unit of work on the platform. @@ -387,6 +390,7 @@

Source code for flytekit.sdk.tasks

 
     :rtype: flytekit.common.tasks.sdk_runnable.SdkRunnableTask
     """
+
     def wrapper(fn):
         return (cls or _sdk_runnable_tasks.SdkRunnableTask)(
             task_function=fn,
@@ -406,7 +410,8 @@ 

Source code for flytekit.sdk.tasks

             discoverable=cache,
             timeout=timeout or _datetime.timedelta(seconds=0),
             environment=environment,
-            custom={})
+            custom={},
+        )
 
     if _task_function:
         return wrapper(_task_function)
@@ -415,25 +420,25 @@ 

Source code for flytekit.sdk.tasks

 
 
 
[docs]def dynamic_task( - _task_function=None, - cache_version='', - retries=0, - interruptible=None, - deprecated='', - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - cache=False, - timeout=None, - allowed_failure_ratio=None, - max_concurrency=None, - environment=None, - cls=None + _task_function=None, + cache_version="", + retries=0, + interruptible=None, + deprecated="", + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + cache=False, + timeout=None, + allowed_failure_ratio=None, + max_concurrency=None, + environment=None, + cls=None, ): """ Decorator to create a custom dynamic task definition. Dynamic tasks should be used to split up work into @@ -568,17 +573,17 @@

Source code for flytekit.sdk.tasks

 
 
 
[docs]def spark_task( - _task_function=None, - cache_version='', - retries=0, - interruptible=None, - deprecated='', - cache=False, - timeout=None, - spark_conf=None, - hadoop_conf=None, - environment=None, - cls=None + _task_function=None, + cache_version="", + retries=0, + interruptible=None, + deprecated="", + cache=False, + timeout=None, + spark_conf=None, + hadoop_conf=None, + environment=None, + cls=None, ): """ Decorator to create a spark task. This task will connect to a Spark cluster, configure the environment, @@ -640,7 +645,7 @@

Source code for flytekit.sdk.tasks

             discovery_version=cache_version,
             retries=retries,
             interruptible=interruptible,
-            spark_type= _spark_type.PYTHON,
+            spark_type=_spark_type.PYTHON,
             deprecated=deprecated,
             discoverable=cache,
             timeout=timeout or _datetime.timedelta(seconds=0),
@@ -656,19 +661,19 @@ 

Source code for flytekit.sdk.tasks

 
 
 
[docs]def generic_spark_task( - spark_type, - main_class, - main_application_file, - cache_version='', - retries=0, - interruptible=None, - inputs=None, - deprecated='', - cache=False, - timeout=None, - spark_conf=None, - hadoop_conf=None, - environment=None, + spark_type, + main_class, + main_application_file, + cache_version="", + retries=0, + interruptible=None, + inputs=None, + deprecated="", + cache=False, + timeout=None, + spark_conf=None, + hadoop_conf=None, + environment=None, ): """ Create a generic spark task. This task will connect to a Spark cluster, configure the environment, @@ -677,21 +682,21 @@

Source code for flytekit.sdk.tasks

     """
 
     return _sdk_generic_spark_task.SdkGenericSparkTask(
-            task_type=_common_constants.SdkTaskType.SPARK_TASK,
-            discovery_version=cache_version,
-            retries=retries,
-            interruptible=interruptible,
-            deprecated=deprecated,
-            discoverable=cache,
-            timeout=timeout or _datetime.timedelta(seconds=0),
-            spark_type = spark_type,
-            task_inputs= inputs,
-            main_class = main_class or "",
-            main_application_file = main_application_file or "",
-            spark_conf=spark_conf or {},
-            hadoop_conf=hadoop_conf or {},
-            environment=environment or {},
-        )
+ task_type=_common_constants.SdkTaskType.SPARK_TASK, + discovery_version=cache_version, + retries=retries, + interruptible=interruptible, + deprecated=deprecated, + discoverable=cache, + timeout=timeout or _datetime.timedelta(seconds=0), + spark_type=spark_type, + task_inputs=inputs, + main_class=main_class or "", + main_application_file=main_application_file or "", + spark_conf=spark_conf or {}, + hadoop_conf=hadoop_conf or {}, + environment=environment or {}, + )
[docs]def qubole_spark_task(*args, **kwargs): @@ -702,24 +707,24 @@

Source code for flytekit.sdk.tasks

 
 
 
[docs]def hive_task( - _task_function=None, - cache_version='', - retries=0, - interruptible=None, - deprecated='', - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - cache=False, - timeout=None, - environment=None, - cls=None - ): + _task_function=None, + cache_version="", + retries=0, + interruptible=None, + deprecated="", + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + cache=False, + timeout=None, + environment=None, + cls=None, +): """ Decorator to create a hive task. This task should output a list of hive queries which are run on a hive cluster. @@ -810,6 +815,7 @@

Source code for flytekit.sdk.tasks

 
     :rtype: flytekit.common.tasks.sdk_runnable.SdkHiveTask
     """
+
     def wrapper(fn):
 
         return (cls or _sdk_hive_tasks.SdkHiveTask)(
@@ -829,7 +835,7 @@ 

Source code for flytekit.sdk.tasks

             memory_limit=memory_limit,
             discoverable=cache,
             timeout=timeout or _datetime.timedelta(seconds=0),
-            cluster_label='',
+            cluster_label="",
             tags=[],
             environment=environment or {},
         )
@@ -841,26 +847,26 @@ 

Source code for flytekit.sdk.tasks

 
 
 
[docs]def qubole_hive_task( - _task_function=None, - cache_version='', - retries=0, - interruptible=None, - deprecated='', - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - cache=False, - timeout=None, - cluster_label=None, - tags=None, - environment=None, - cls=None - ): + _task_function=None, + cache_version="", + retries=0, + interruptible=None, + deprecated="", + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + cache=False, + timeout=None, + cluster_label=None, + tags=None, + environment=None, + cls=None, +): """ Decorator to create a qubole hive task. This is hive task runs on a qubole cluster, and therefore allows users to pass cluster labels and qubole query tags. Similar to hive task, this task should output a list of hive queries @@ -954,6 +960,7 @@

Source code for flytekit.sdk.tasks

 
     :rtype: flytekit.common.tasks.sdk_runnable.SdkHiveTask
     """
+
     def wrapper(fn):
 
         return (cls or _sdk_hive_tasks.SdkHiveTask)(
@@ -973,7 +980,7 @@ 

Source code for flytekit.sdk.tasks

             memory_limit=memory_limit,
             discoverable=cache,
             timeout=timeout or _datetime.timedelta(seconds=0),
-            cluster_label=cluster_label or '',
+            cluster_label=cluster_label or "",
             tags=tags or [],
             environment=environment or {},
         )
@@ -987,25 +994,25 @@ 

Source code for flytekit.sdk.tasks

 
 
 
[docs]def sidecar_task( - _task_function=None, - cache_version='', - retries=0, - interruptible=None, - deprecated='', - storage_request=None, - cpu_request=None, - gpu_request=None, - memory_request=None, - storage_limit=None, - cpu_limit=None, - gpu_limit=None, - memory_limit=None, - cache=False, - timeout=None, - environment=None, - pod_spec=None, - primary_container_name=None, - cls=None, + _task_function=None, + cache_version="", + retries=0, + interruptible=None, + deprecated="", + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + cache=False, + timeout=None, + environment=None, + pod_spec=None, + primary_container_name=None, + cls=None, ): """ Decorator to create a Sidecar Task definition. This task will execute the primary task alongside the specified @@ -1137,6 +1144,7 @@

Source code for flytekit.sdk.tasks

     :rtype: flytekit.common.tasks.sdk_runnable.SdkRunnableTask
 
     """
+
     def wrapper(fn):
 
         return (cls or _sdk_sidecar_tasks.SdkSidecarTask)(
@@ -1167,25 +1175,219 @@ 

Source code for flytekit.sdk.tasks

         return wrapper
+
[docs]def dynamic_sidecar_task( + _task_function=None, + cache_version="", + retries=0, + interruptible=None, + deprecated="", + storage_request=None, + cpu_request=None, + gpu_request=None, + memory_request=None, + storage_limit=None, + cpu_limit=None, + gpu_limit=None, + memory_limit=None, + cache=False, + timeout=None, + allowed_failure_ratio=None, + max_concurrency=None, + environment=None, + pod_spec=None, + primary_container_name=None, + cls=None, +): + """ + Decorator to create a custom dynamic sidecar task definition. Dynamic + tasks should be used to split up work into an arbitrary number of parallel + sub-tasks, or workflows. This task will execute the primary task alongside + the specified kubernetes PodSpec. Custom primary task container attributes + can be defined in the PodSpec by defining a container whose name matches + the primary_container_name. These container attributes will be applied to + the container brought up to execute the primary task definition. + + .. code-block:: python + + def generate_pod_spec_for_task(): + pod_spec = generated_pb2.PodSpec() + secondary_container = generated_pb2.Container( + name="secondary", + image="alpine", + ) + secondary_container.command.extend(["/bin/sh"]) + secondary_container.args.extend(["-c", "echo hi sidecar world > /data/message.txt"]) + shared_volume_mount = generated_pb2.VolumeMount( + name="shared-data", + mountPath="/data", + ) + secondary_container.volumeMounts.extend([shared_volume_mount]) + + primary_container = generated_pb2.Container(name="primary") + primary_container.volumeMounts.extend([shared_volume_mount]) + + pod_spec.volumes.extend([generated_pb2.Volume( + name="shared-data", + volumeSource=generated_pb2.VolumeSource( + emptyDir=generated_pb2.EmptyDirVolumeSource( + medium="Memory", + ) + ) + )]) + pod_spec.containers.extend([primary_container, secondary_container]) + return pod_spec + + @outputs(out=Types.Integer) + @python_task + def my_sub_task(wf_params, out): + out.set(randint()) + + @outputs(out=[Types.Integer]) + @dynamic_sidecar_task( + pod_spec=generate_pod_spec_for_task(), + primary_container_name="primary", + ) + def my_task(wf_params, out): + out_list = [] + for i in xrange(100): + out_list.append(my_sub_task().outputs.out) + out.set(out_list) + + .. note:: + + All outputs of a batch task must be a list. This is because the individual outputs of sub-tasks should be + appended into a list. There cannot be aggregation of outputs done in this task. To accomplish aggregation, + it is recommended that a python_task take the outputs of this task as input and do the necessary work. + If a sub-task does not contribute an output, it must be yielded from the task with the `yield` keyword or + returned from the task in a list. If this isn't done, the sub-task will not be executed. + + :param _task_function: this is the decorated method and shouldn't be declared explicitly. The function must + take a first argument, and then named arguments matching those defined in @inputs and @outputs. No keyword + arguments are allowed. + :param Text cache_version: [optional] string representing logical version for discovery. This field should be + updated whenever the underlying algorithm changes. + + .. note:: + + This argument is required to be a non-empty string if `cache` is True. + + :param int retries: [optional] integer determining number of times task can be retried on + :py:exc:`flytekit.sdk.exceptions.RecoverableException` or transient platform failures. Defaults + to 0. + + .. note:: + + If retries > 0, the task must be able to recover from any remote state created within the user code. It is + strongly recommended that tasks are written to be idempotent. + + :param bool interruptible: [optional] boolean describing if the task is interruptible. + + :param Text deprecated: [optional] string that should be provided if this task is deprecated. The string + will be logged as a warning so it should contain information regarding how to update to a newer task. + :param Text storage_request: [optional] Kubernetes resource string for lower-bound of disk storage space + for the task to run. Default is set by platform-level configuration. + + .. note:: + + This is currently not supported by the platform. + + :param Text cpu_request: [optional] Kubernetes resource string for lower-bound of cores for the task to execute. + This can be set to a fractional portion of a CPU. Default is set by platform-level configuration. + TODO: Add links to resource string documentation for Kubernetes + :param Text gpu_request: [optional] Kubernetes resource string for lower-bound of desired GPUs. + Default is set by platform-level configuration. + TODO: Add links to resource string documentation for Kubernetes + :param Text memory_request: [optional] Kubernetes resource string for lower-bound of physical memory + necessary for the task to execute. Default is set by platform-level configuration. + TODO: Add links to resource string documentation for Kubernetes + :param Text storage_limit: [optional] Kubernetes resource string for upper-bound of disk storage space + for the task to run. This amount is not guaranteed! If not specified, it is set equal to storage_request. + + .. note:: + + This is currently not supported by the platform. + + :param Text cpu_limit: [optional] Kubernetes resource string for upper-bound of cores for the task to execute. + This can be set to a fractional portion of a CPU. This amount is not guaranteed! If not specified, + it is set equal to cpu_request. + :param Text gpu_limit: [optional] Kubernetes resource string for upper-bound of desired GPUs. This amount is not + guaranteed! If not specified, it is set equal to gpu_request. + :param Text memory_limit: [optional] Kubernetes resource string for upper-bound of physical memory + necessary for the task to execute. This amount is not guaranteed! If not specified, it is set equal to + memory_request. + :param bool cache: [optional] boolean describing if the outputs of this task should be cached and + re-usable. + :param datetime.timedelta timeout: [optional] describes how long the task should be allowed to + run at max before triggering a retry (if retries are enabled). By default, tasks are allowed to run + indefinitely. If a null timedelta is passed (i.e. timedelta(seconds=0)), the task will not timeout. + :param float allowed_failure_ratio: [optional] float value describing the ratio of sub-tasks that may fail before + the master batch task considers itself a failure. By default, the value is 0 so if any task fails, the master + batch task will be marked a failure. If specified, the value must be between 0 and 1 inclusive. In the event a + non-zero value is specified, downstream tasks must be able to accept None values as outputs from individual + sub-tasks because the output values will be set to None for any sub-task that fails. + :param int max_concurrency: [optional] integer value describing the maximum number of tasks to run concurrently. + This is a stand-in pending better concurrency controls for special use-cases. The existence of this parameter + is not guaranteed between versions and therefore it is NOT recommended that it be used. + :param dict[Text,Text] environment: [optional] environment variables to set when executing this task. + :param k8s.io.api.core.v1.generated_pb2.PodSpec pod_spec: PodSpec to bring up alongside task execution. + :param Text primary_container_name: primary container to monitor for the duration of the task. + :param cls: This can be used to override the task implementation with a user-defined extension. The class + provided must be a subclass of flytekit.common.tasks.sdk_runnable.SdkRunnableTask. Generally, it should be a + subclass of flytekit.common.tasks.sidecar_Task.SdkDynamicSidecarTask. A user can use this parameter to inject bespoke + logic into the base Flyte programming model. + :rtype: flytekit.common.tasks.sidecar_Task.SdkDynamicSidecarTask + """ + + def wrapper(fn): + return (cls or _sdk_sidecar_tasks.SdkDynamicSidecarTask)( + task_function=fn, + task_type=_common_constants.SdkTaskType.SIDECAR_TASK, + discovery_version=cache_version, + retries=retries, + interruptible=interruptible, + deprecated=deprecated, + storage_request=storage_request, + cpu_request=cpu_request, + gpu_request=gpu_request, + memory_request=memory_request, + storage_limit=storage_limit, + cpu_limit=cpu_limit, + gpu_limit=gpu_limit, + memory_limit=memory_limit, + discoverable=cache, + timeout=timeout or _datetime.timedelta(seconds=0), + allowed_failure_ratio=allowed_failure_ratio, + max_concurrency=max_concurrency, + environment=environment, + pod_spec=pod_spec, + primary_container_name=primary_container_name, + ) + + if _task_function: + return wrapper(_task_function) + else: + return wrapper
+ +
[docs]def pytorch_task( - _task_function=None, - cache_version='', - retries=0, - interruptible=False, - deprecated='', - cache=False, - timeout=None, - workers_count=1, - per_replica_storage_request="", - per_replica_cpu_request="", - per_replica_gpu_request="", - per_replica_memory_request="", - per_replica_storage_limit="", - per_replica_cpu_limit="", - per_replica_gpu_limit="", - per_replica_memory_limit="", - environment=None, - cls=None + _task_function=None, + cache_version="", + retries=0, + interruptible=False, + deprecated="", + cache=False, + timeout=None, + workers_count=1, + per_replica_storage_request="", + per_replica_cpu_request="", + per_replica_gpu_request="", + per_replica_memory_request="", + per_replica_storage_limit="", + per_replica_cpu_limit="", + per_replica_gpu_limit="", + per_replica_memory_limit="", + environment=None, + cls=None, ): """ Decorator to create a Pytorch Task definition. This task will submit PyTorchJob (see https://github.com/kubeflow/pytorch-operator) @@ -1293,6 +1495,7 @@

Source code for flytekit.sdk.tasks

 
     :rtype: flytekit.common.tasks.sdk_runnable.SdkRunnableTask
     """
+
     def wrapper(fn):
         return (cls or _sdk_pytorch_tasks.SdkPyTorchTask)(
             task_function=fn,
@@ -1312,7 +1515,7 @@ 

Source code for flytekit.sdk.tasks

             per_replica_cpu_limit=per_replica_cpu_limit,
             per_replica_gpu_limit=per_replica_gpu_limit,
             per_replica_memory_limit=per_replica_memory_limit,
-            environment=environment or {}
+            environment=environment or {},
         )
 
     if _task_function:
diff --git a/_modules/flytekit/sdk/test_utils.html b/_modules/flytekit/sdk/test_utils.html
index d6548920f8..464363e7c3 100644
--- a/_modules/flytekit/sdk/test_utils.html
+++ b/_modules/flytekit/sdk/test_utils.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.sdk.test_utils — Flyte 0.6.0 documentation
+  flytekit.sdk.test_utils — Flyte 0.7.0 documentation
   
 
   
@@ -161,9 +161,11 @@
             
   

Source code for flytekit.sdk.test_utils

 from __future__ import absolute_import
+
+from wrapt import decorator as _decorator
+
 from flytekit.common import utils as _utils
 from flytekit.interfaces.data import data_proxy as _data_proxy
-from wrapt import decorator as _decorator
 
 
 
[docs]class LocalTestFileSystem(object): diff --git a/_modules/flytekit/sdk/types.html b/_modules/flytekit/sdk/types.html index ca7825f87e..5cb5d6caac 100644 --- a/_modules/flytekit/sdk/types.html +++ b/_modules/flytekit/sdk/types.html @@ -8,7 +8,7 @@ - flytekit.sdk.types — Flyte 0.6.0 documentation + flytekit.sdk.types — Flyte 0.7.0 documentation @@ -161,8 +161,13 @@

Source code for flytekit.sdk.types

 from __future__ import absolute_import
-from flytekit.common.types import primitives as _primitives, blobs as _blobs, schema as _schema, helpers as _helpers, \
-    proto as _proto, containers as _containers
+
+from flytekit.common.types import blobs as _blobs
+from flytekit.common.types import containers as _containers
+from flytekit.common.types import helpers as _helpers
+from flytekit.common.types import primitives as _primitives
+from flytekit.common.types import proto as _proto
+from flytekit.common.types import schema as _schema
 
 
 
[docs]class Types(object): diff --git a/_modules/flytekit/sdk/workflow.html b/_modules/flytekit/sdk/workflow.html index 511c32355b..a79bc5efb7 100644 --- a/_modules/flytekit/sdk/workflow.html +++ b/_modules/flytekit/sdk/workflow.html @@ -8,7 +8,7 @@ - flytekit.sdk.workflow — Flyte 0.6.0 documentation + flytekit.sdk.workflow — Flyte 0.7.0 documentation @@ -164,7 +164,8 @@

Source code for flytekit.sdk.workflow

 
 import six as _six
 
-from flytekit.common import workflow as _common_workflow, promise as _promise
+from flytekit.common import promise as _promise
+from flytekit.common import workflow as _common_workflow
 from flytekit.common.types import helpers as _type_helpers
 
 
@@ -182,7 +183,7 @@ 

Source code for flytekit.sdk.workflow

         :param bool required: If set, default must be None
         :param T default: If this is not a required input, the value will default to this value.  Specify as a kwarg.
         """
-        super(Input, self).__init__('', _type_helpers.python_std_to_sdk_type(sdk_type), help=help, **kwargs)
+ super(Input, self).__init__("", _type_helpers.python_std_to_sdk_type(sdk_type), help=help, **kwargs)
[docs]class Output(_common_workflow.Output): @@ -199,14 +200,11 @@

Source code for flytekit.sdk.workflow

             this value be provided as the SDK might not always be able to infer the correct type.
         """
         super(Output, self).__init__(
-            '',
-            value,
-            sdk_type=_type_helpers.python_std_to_sdk_type(sdk_type) if sdk_type else None,
-            help=help
+            "", value, sdk_type=_type_helpers.python_std_to_sdk_type(sdk_type) if sdk_type else None, help=help,
         )
-
[docs]def workflow_class(_workflow_metaclass=None, cls=None, on_failure=None): +
[docs]def workflow_class(_workflow_metaclass=None, on_failure=None, disable_default_launch_plan=False, cls=None): """ This is a decorator for wrapping class definitions into workflows. @@ -226,12 +224,17 @@

Source code for flytekit.sdk.workflow

     :param cls: This is the class that will be instantiated from the inputs, outputs, and nodes. This will be used
         by users extending the base Flyte programming model. If set, it must be a subclass of
         :py:class:`flytekit.common.workflow.SdkWorkflow`.
-    :param on_failure flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy: [Optional] The execution policy when the workflow detects a failure.
+    :param flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy on_failure: [Optional] The execution policy
+        when the workflow detects a failure.
+    :param bool disable_default_launch_plan: Determines whether to create a default launch plan for the workflow or not.
+
     :rtype: flytekit.common.workflow.SdkWorkflow
     """
 
     def wrapper(metaclass):
-        wf = _common_workflow.build_sdk_workflow_from_metaclass(metaclass, cls=cls, on_failure=on_failure)
+        wf = _common_workflow.build_sdk_workflow_from_metaclass(
+            metaclass, on_failure=on_failure, disable_default_launch_plan=disable_default_launch_plan, cls=cls
+        )
         return wf
 
     if _workflow_metaclass is not None:
@@ -279,7 +282,8 @@ 

Source code for flytekit.sdk.workflow

         inputs=[v.rename_and_return_reference(k) for k, v in sorted(_six.iteritems(inputs or {}))],
         outputs=[v.rename_and_return_reference(k) for k, v in sorted(_six.iteritems(outputs or {}))],
         nodes=[v.assign_id_and_return(k) for k, v in sorted(_six.iteritems(nodes))],
-        metadata=_common_workflow._workflow_models.WorkflowMetadata(on_failure=on_failure))
+        metadata=_common_workflow._workflow_models.WorkflowMetadata(on_failure=on_failure),
+    )
     return wf
diff --git a/_modules/flytekit/tools/lazy_loader.html b/_modules/flytekit/tools/lazy_loader.html index c4c1488db5..bc3cb634b7 100644 --- a/_modules/flytekit/tools/lazy_loader.html +++ b/_modules/flytekit/tools/lazy_loader.html @@ -8,7 +8,7 @@ - flytekit.tools.lazy_loader — Flyte 0.6.0 documentation + flytekit.tools.lazy_loader — Flyte 0.7.0 documentation @@ -161,6 +161,7 @@

Source code for flytekit.tools.lazy_loader

 from __future__ import absolute_import
+
 import importlib as _importlib
 import sys as _sys
 import types as _types
@@ -186,21 +187,28 @@ 

Source code for flytekit.tools.lazy_loader

         :rtype: dict[Text,list[Text]]
         """
         d = cls.LAZY_LOADING_PLUGINS.copy()
-        all_plugins = []
+        all_plugins_spark2 = []
+        all_plugins_spark3 = []
         for k in d:
-            # Default to Spark 2.4.x .
-            if k !="spark3":
-                all_plugins.extend(d[k])
-
-        d['all'] = all_plugins
+            # Default to Spark 2.4.x in all-spark2 and Spark 3.x in all-spark3.
+            if k != "spark3":
+                all_plugins_spark2.extend(d[k])
+            if k != "spark":
+                all_plugins_spark3.extend(d[k])
+
+        d["all-spark2.4"] = all_plugins_spark2
+        d["all-spark3"] = all_plugins_spark3
+        # all points to Spark 2.4
+        d["all"] = all_plugins_spark2
         return d
[docs]def lazy_load_module(module): """ - :param Text module: + :param Text module: :rtype: _types.ModuleType """ + class LazyLoadModule(_LazyLoadModule): _module = module _lazy_submodules = dict() @@ -211,11 +219,13 @@

Source code for flytekit.tools.lazy_loader

 
 class _LazyLoadModule(_types.ModuleType):
 
-    _ERROR_MSG_FMT = "Attempting to use a plugin functionality that requires module " \
-                     "`{module}`, but it couldn't be loaded. Please pip install at least one of {plugins} or " \
-                     "`flytekit[all]` to get these dependencies.\n" \
-                     "\n" \
-                     "Original message: {msg}"
+    _ERROR_MSG_FMT = (
+        "Attempting to use a plugin functionality that requires module "
+        "`{module}`, but it couldn't be loaded. Please pip install at least one of {plugins} or "
+        "`flytekit[all]` to get these dependencies.\n"
+        "\n"
+        "Original message: {msg}"
+    )
 
     @classmethod
     def _load(cls):
@@ -224,13 +234,7 @@ 

Source code for flytekit.tools.lazy_loader

             try:
                 module = _importlib.import_module(cls._module)
             except ImportError as e:
-                raise ImportError(
-                    cls._ERROR_MSG_FMT.format(
-                        module=cls._module,
-                        plugins=cls._plugins,
-                        msg=e
-                    )
-                )
+                raise ImportError(cls._ERROR_MSG_FMT.format(module=cls._module, plugins=cls._plugins, msg=e))
         return module
 
     def __getattribute__(self, item):
diff --git a/_modules/flytekit/tools/module_loader.html b/_modules/flytekit/tools/module_loader.html
index 82f19a52c2..52d6077892 100644
--- a/_modules/flytekit/tools/module_loader.html
+++ b/_modules/flytekit/tools/module_loader.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.tools.module_loader — Flyte 0.6.0 documentation
+  flytekit.tools.module_loader — Flyte 0.7.0 documentation
   
 
   
@@ -176,7 +176,7 @@ 

Source code for flytekit.tools.module_loader

for package_name in pkgs:
         package = importlib.import_module(package_name)
         yield package
-        for _, name, _ in pkgutil.walk_packages(package.__path__, prefix='{}.'.format(package_name)):
+        for _, name, _ in pkgutil.walk_packages(package.__path__, prefix="{}.".format(package_name)):
             yield importlib.import_module(name)
@@ -193,40 +193,36 @@

Source code for flytekit.tools.module_loader

def _topo_sort_helper(
-        obj,
-        entity_to_module_key,
-        visited,
-        recursion_set,
-        recursion_stack,
-        include_entities,
-        ignore_entities,
-        detect_unreferenced_entities):
+    obj,
+    entity_to_module_key,
+    visited,
+    recursion_set,
+    recursion_stack,
+    include_entities,
+    ignore_entities,
+    detect_unreferenced_entities,
+):
     visited.add(obj)
     recursion_stack.append(obj)
     if obj in recursion_set:
         raise _user_exceptions.FlyteAssertion(
             "A cyclical dependency was detected during topological sort of entities.  "
-            "Cycle path was:\n\n\t{}".format(
-                "\n\t".join(
-                    p for p in recursion_stack[recursion_set[obj]:]
-                )
-            )
+            "Cycle path was:\n\n\t{}".format("\n\t".join(p for p in recursion_stack[recursion_set[obj] :]))
         )
     recursion_set[obj] = len(recursion_stack) - 1
 
     for upstream in obj.upstream_entities:
         if upstream not in visited:
-            for m1, k1, o1 in \
-                    _topo_sort_helper(
-                        upstream,
-                        entity_to_module_key,
-                        visited,
-                        recursion_set,
-                        recursion_stack,
-                        include_entities,
-                        ignore_entities,
-                        detect_unreferenced_entities
-                    ):
+            for m1, k1, o1 in _topo_sort_helper(
+                upstream,
+                entity_to_module_key,
+                visited,
+                recursion_set,
+                recursion_stack,
+                include_entities,
+                ignore_entities,
+                detect_unreferenced_entities,
+            ):
                 yield m1, k1, o1
 
     recursion_stack.pop()
@@ -245,10 +241,7 @@ 

Source code for flytekit.tools.module_loader

[docs]def iterate_registerable_entities_in_order(
-        pkgs,
-        ignore_entities=None,
-        include_entities=None,
-        detect_unreferenced_entities=True
+    pkgs, ignore_entities=None, include_entities=None, detect_unreferenced_entities=True
 ):
     """
     This function will iterate all discovered entities in the given package list.  It will then attempt to
@@ -279,7 +272,7 @@ 

Source code for flytekit.tools.module_loader

if isinstance(o, _registerable.RegisterableEntity):
                 if o.instantiated_in == m.__name__:
                     entity_to_module_key[o] = (m, k)
-                    if isinstance(o, _SdkWorkflow):
+                    if isinstance(o, _SdkWorkflow) and o.should_create_default_launch_plan:
                         # SDK should create a default launch plan for a workflow.  This is a special-case to simplify
                         # authoring of workflows.
                         entity_to_module_key[o.create_launch_plan()] = (m, k)
@@ -289,17 +282,16 @@ 

Source code for flytekit.tools.module_loader

if o not in visited:
             recursion_set = dict()
             recursion_stack = []
-            for m, k, o2 in \
-                    _topo_sort_helper(
-                        o,
-                        entity_to_module_key,
-                        visited,
-                        recursion_set,
-                        recursion_stack,
-                        include_entities,
-                        ignore_entities,
-                        detect_unreferenced_entities=detect_unreferenced_entities
-                    ):
+            for m, k, o2 in _topo_sort_helper(
+                o,
+                entity_to_module_key,
+                visited,
+                recursion_set,
+                recursion_stack,
+                include_entities,
+                ignore_entities,
+                detect_unreferenced_entities=detect_unreferenced_entities,
+            ):
                 yield m, k, o2
diff --git a/_modules/flytekit/tools/subprocess.html b/_modules/flytekit/tools/subprocess.html index 45f70e7fab..6fd247e774 100644 --- a/_modules/flytekit/tools/subprocess.html +++ b/_modules/flytekit/tools/subprocess.html @@ -8,7 +8,7 @@ - flytekit.tools.subprocess — Flyte 0.6.0 documentation + flytekit.tools.subprocess — Flyte 0.7.0 documentation @@ -160,8 +160,7 @@

Source code for flytekit.tools.subprocess

-from __future__ import absolute_import
-from __future__ import print_function
+from __future__ import absolute_import, print_function
 
 import logging
 import shlex as _schlex
@@ -176,12 +175,7 @@ 

Source code for flytekit.tools.subprocess

     # Jupyter notebooks hijack I/O and thus we cannot dump directly to stdout.
     with _tempfile.TemporaryFile() as std_out:
         with _tempfile.TemporaryFile() as std_err:
-            ret_code = _subprocess.Popen(
-                cmd_args,
-                stdout=std_out,
-                stderr=std_err,
-                **kwargs
-            ).wait()
+            ret_code = _subprocess.Popen(cmd_args, stdout=std_out, stderr=std_err, **kwargs).wait()
 
             # Dump sub-process' std out into current std out
             std_out.seek(0)
diff --git a/_modules/flytekit/type_engines/common.html b/_modules/flytekit/type_engines/common.html
index 66f44151cc..3887473538 100644
--- a/_modules/flytekit/type_engines/common.html
+++ b/_modules/flytekit/type_engines/common.html
@@ -8,7 +8,7 @@
   
   
   
-  flytekit.type_engines.common — Flyte 0.6.0 documentation
+  flytekit.type_engines.common — Flyte 0.7.0 documentation
   
 
   
@@ -161,12 +161,13 @@
             
   

Source code for flytekit.type_engines.common

 from __future__ import absolute_import
+
 import abc as _abc
+
 import six as _six
 
 
 
[docs]class TypeEngine(_six.with_metaclass(_abc.ABCMeta, object)): -
[docs] @_abc.abstractmethod def python_std_to_sdk_type(self, t): """ diff --git a/_modules/flytekit/type_engines/default/flyte.html b/_modules/flytekit/type_engines/default/flyte.html index 10e3f3a1e1..44bd6d9897 100644 --- a/_modules/flytekit/type_engines/default/flyte.html +++ b/_modules/flytekit/type_engines/default/flyte.html @@ -8,7 +8,7 @@ - flytekit.type_engines.default.flyte — Flyte 0.6.0 documentation + flytekit.type_engines.default.flyte — Flyte 0.7.0 documentation @@ -162,14 +162,19 @@

Source code for flytekit.type_engines.default.flyte

 from __future__ import absolute_import
 
-from flytekit.common.exceptions import system as _system_exceptions, user as _user_exceptions
-from flytekit.common.types import primitives as _primitive_types, base_sdk_types as _base_sdk_types, containers as \
-    _container_types, schema as _schema, blobs as _blobs, proto as _proto
-from flytekit.models import types as _literal_type_models
-from flytekit.models.core import types as _core_types
 import importlib as _importer
 
+from flytekit.common.exceptions import system as _system_exceptions
+from flytekit.common.exceptions import user as _user_exceptions
+from flytekit.common.types import base_sdk_types as _base_sdk_types
+from flytekit.common.types import blobs as _blobs
+from flytekit.common.types import containers as _container_types
 from flytekit.common.types import helpers as _helpers
+from flytekit.common.types import primitives as _primitive_types
+from flytekit.common.types import proto as _proto
+from flytekit.common.types import schema as _schema
+from flytekit.models import types as _literal_type_models
+from flytekit.models.core import types as _core_types
 
 
 def _proto_sdk_type_from_tag(tag):
@@ -177,26 +182,21 @@ 

Source code for flytekit.type_engines.default.flyte

:param Text tag: :rtype: _proto.Protobuf """ - if '.' not in tag: + if "." not in tag: raise _user_exceptions.FlyteValueException( - tag, - "Protobuf tag must include at least one '.' to delineate package and object name." + tag, "Protobuf tag must include at least one '.' to delineate package and object name.", ) - module, name = tag.rsplit('.', 1) + module, name = tag.rsplit(".", 1) try: pb_module = _importer.import_module(module) except ImportError: raise _user_exceptions.FlyteAssertion( - "Could not resolve the protobuf definition @ {}. Is the protobuf library installed?".format( - module - ) + "Could not resolve the protobuf definition @ {}. Is the protobuf library installed?".format(module) ) if not hasattr(pb_module, name): - raise _user_exceptions.FlyteAssertion( - "Could not find the protobuf named: {} @ {}.".format(name, module) - ) + raise _user_exceptions.FlyteAssertion("Could not find the protobuf named: {} @ {}.".format(name, module)) return _proto.create_protobuf(getattr(pb_module, name)) @@ -224,7 +224,8 @@

Source code for flytekit.type_engines.default.flyte

if len(t) != 1: raise _user_exceptions.FlyteAssertion( "When specifying a list type, there must be exactly one element in " - "the list describing the contained type.") + "the list describing the contained type." + ) return _container_types.List(_helpers.python_std_to_sdk_type(t[0])) elif isinstance(t, dict): raise _user_exceptions.FlyteAssertion("Map types are not yet implemented.") @@ -235,8 +236,8 @@

Source code for flytekit.type_engines.default.flyte

type(t), _base_sdk_types.FlyteSdkType, additional_msg="Should be of form similar to: Types.Integer, [Types.Integer], {Types.String: " - "Types.Integer}", - received_value=t + "Types.Integer}", + received_value=t, )
[docs] def get_sdk_type_from_literal_type(self, literal_type): @@ -253,8 +254,10 @@

Source code for flytekit.type_engines.default.flyte

elif literal_type.blob is not None: return self._get_blob_impl_from_type(literal_type.blob) elif literal_type.simple is not None: - if literal_type.simple == _literal_type_models.SimpleType.BINARY and _proto.Protobuf.PB_FIELD_KEY in \ - literal_type.metadata: + if ( + literal_type.simple == _literal_type_models.SimpleType.BINARY + and _proto.Protobuf.PB_FIELD_KEY in literal_type.metadata + ): return _proto_sdk_type_from_tag(literal_type.metadata[_proto.Protobuf.PB_FIELD_KEY]) sdk_type = self._SIMPLE_TYPE_LOOKUP_TABLE.get(literal_type.simple) if sdk_type is None: @@ -291,7 +294,7 @@

Source code for flytekit.type_engines.default.flyte

sdk_type = _primitive_types.Generic elif literal.scalar.binary is not None: if literal.scalar.binary.tag.startswith(_proto.Protobuf.TAG_PREFIX): - sdk_type = _proto_sdk_type_from_tag(literal.scalar.binary.tag[len(_proto.Protobuf.TAG_PREFIX):]) + sdk_type = _proto_sdk_type_from_tag(literal.scalar.binary.tag[len(_proto.Protobuf.TAG_PREFIX) :]) else: raise NotImplementedError("TODO: Binary is only supported for protobuf types currently") elif literal.scalar.primitive.boolean is not None: diff --git a/_modules/index.html b/_modules/index.html index 1ce5ef4148..8e7103f6bd 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -8,7 +8,7 @@ - Overview: module code — Flyte 0.6.0 documentation + Overview: module code — Flyte 0.7.0 documentation @@ -196,8 +196,9 @@

All modules for which code is available

  • flytekit.common.tasks.presto_task
  • flytekit.common.tasks.pytorch_task
  • flytekit.common.tasks.raw_container
  • +
  • flytekit.common.tasks.sagemaker.built_in_training_job_task
  • +
  • flytekit.common.tasks.sagemaker.custom_training_job_task
  • flytekit.common.tasks.sagemaker.hpo_job_task
  • -
  • flytekit.common.tasks.sagemaker.training_job_task
  • flytekit.common.tasks.sdk_dynamic
  • flytekit.common.tasks.sdk_runnable
  • flytekit.common.tasks.sidecar_task
  • @@ -269,6 +270,7 @@

    All modules for which code is available

  • flytekit.models.types
  • flytekit.models.workflow_closure
  • flytekit.sdk.exceptions
  • +
  • flytekit.sdk.sagemaker.task
  • flytekit.sdk.spark_types
  • flytekit.sdk.tasks
  • flytekit.sdk.test_utils
  • diff --git a/_modules/random.html b/_modules/random.html index 95ce7afabf..52bba81249 100644 --- a/_modules/random.html +++ b/_modules/random.html @@ -8,7 +8,7 @@ - random — Flyte 0.6.0 documentation + random — Flyte 0.7.0 documentation diff --git a/_sources/administrator/faq/gcp.rst.txt b/_sources/administrator/faq/gcp.rst.txt new file mode 100644 index 0000000000..6e00f78d6f --- /dev/null +++ b/_sources/administrator/faq/gcp.rst.txt @@ -0,0 +1,23 @@ + +Installed Single Cluster mode on GCP, what examples do I use? +-------------------------------------------------------------- + + +I tried to run examples, but task fails with 401 error? +------------------------------------------------------- + Steps: + - Are you using Workload Identity, then you have to pass in the ServiceAccount when you create the launchplan. Docs here https://lyft.github.io/flyte/user/features/roles.html?highlight=serviceaccount#kubernetes-serviceaccount-examples + More information about WorkloadIdentity at https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity + + - If you are just using a simple Nodepool wide permissions then check the cluster's ServiceACcount for STorage permissions. Do they look fine? + + - If not, then start a dummy pod in the intended namespace and check for + .. + + gcloud auth list + + + NOTE: + FlytePropeller uses Google Application credentials, but gsutil does not use these credentials + + diff --git a/_sources/administrator/faq/index.rst.txt b/_sources/administrator/faq/index.rst.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/_sources/administrator/install/configure/admin.rst.txt b/_sources/administrator/install/configure/admin.rst.txt index d5be502e9c..6e8cf6e93d 100644 --- a/_sources/administrator/install/configure/admin.rst.txt +++ b/_sources/administrator/install/configure/admin.rst.txt @@ -4,6 +4,115 @@ FlyteAdmin Configuration ############################# +Setting up scheduled workflows +============================== + +In order to run workflow executions based on user-specified schedules you'll need to fill out the top-level ``scheduler`` portion of the flyteadmin application configuration. + +In particular you'll need to configure the two components responsible for scheduling workflows and processing schedule event triggers. + +Note this functionality is currently only supported for AWS installs. + +Event Scheduler +--------------- + +In order to schedule workflow executions, you'll need to set up an `AWS SQS `_ queue. A standard type queue should suffice. The flyteadmin event scheduler creates `AWS CloudWatch `_ event rules that invokes your SQS queue as a target. + +With that in mind, let's take a look at an example ``eventScheduler`` config section and dive into what each value represents: :: + + scheduler: + eventScheduler: + scheme: "aws" + region: "us-east-1" + scheduleRole: "arn:aws:iam::{{ YOUR ACCOUNT ID }}:role/{{ ROLE }}" + targetName: "arn:aws:sqs:us-east-1:{{ YOUR ACCOUNT ID }}:{{ YOUR QUEUE NAME }}" + scheduleNamePrefix: "flyte" + +* **scheme**: in this case because AWS is the only cloud back-end supported for scheduling workflows, only ``"aws"`` is a valid value. By default, the no-op scheduler is used. +* **region**: this specifies which region initialized AWS clients should will use when creating CloudWatch rules +* **scheduleRole** This is the IAM role ARN with permissions set to ``Allow`` + * 'events:PutRule' + * 'events:PutTargets' + * 'events:DeleteRule' + * 'events:RemoveTargets' +* **targetName** this is the ARN for the SQS Queue you've allocated to scheduling workflows +* **scheduleNamePrefix** this is an entirely optional prefix used when creating schedule rules. Because of AWS naming length restrictions, scheduled rules are a random hash and having a shared prefix makes these names more readable and indicates who generated the rules + +Workflow Executor +----------------- +Scheduled events which trigger need to be handled by the workflow executor, which subscribes to triggered events from the SQS queue you've configured above. + +Again, let's break down a sample config: :: + + scheduler: + eventScheduler: + ... + workflowExecutor: + scheme: "aws" + region: "us-east-1" + scheduleQueueName: "{{ YOUR QUEUE NAME }}" + accountId: "{{ YOUR ACCOUNT ID }}" + +* **scheme**: in this case because AWS is the only cloud back-end supported for executing scheduled workflows, only ``"aws"`` is a valid value. By default, the no-op executor is used. +* **region**: this specifies which region AWS clients should will use when creating an SQS subscriber client +* **scheduleQueueName**: this is the name of the SQS Queue you've allocated to scheduling workflows +* **accountId**: Your AWS `account id `_ + +.. CAUTION:: + Failure to configure a workflow executor will result in all your scheduled events piling up silently without ever kicking off workflow executions. + +Setting up workflow notifications +================================= + +The ``notifications`` top-level portion of the flyteadmin config specifies how to handle notifications. + +As like in schedules, the notifications handling is composed of two parts. One handles enqueuing notifications asynchronously and the second part handles processing pending notifications and actually firing off emails and alerts. + +This is only supported for Flyte instances running on AWS. + +Config +------ + +To publish notifications, you'll need to set up an `SNS topic `_. + +In order to process notifications, you'll need to set up an `AWS SQS `_ queue to consume notification events. This queue must be configured as a subscription to your SNS topic you created above. + +In order to actually publish notifications, you'll need a `verified SES email address `_ which will be used to send notification emails and alerts using email APIs. + +The role you use to run flyteadmin must have permissions to read and write to your SNS topic and SQS queue. + +Let's look at the following config section and go into what each value represents: :: + + notifications: + type: "aws" + region: "us-east-1" + publisher: + topicName: "arn:aws:sns:us-east-1:{{ YOUR ACCOUNT ID }}:{{ YOUR TOPIC }}" + processor: + queueName: "{{ YOUR QUEUE NAME }}" + accountId: "{{ YOUR ACCOUNT ID }}" + emailer: + subject: "Notice: Execution \"{{ workflow.name }}\" has {{ phase }} in \"{{ domain }}\"." + sender: "flyte-notifications@company.com" + body: > + Execution \"{{ workflow.name }} [{{ name }}]\" has {{ phase }} in \"{{ domain }}\". View details at + + http://flyte.company.com/console/projects/{{ project }}/domains/{{ domain }}/executions/{{ name }}. {{ error }} + +* **type**: in this case because AWS is the only cloud back-end supported for executing scheduled workflows, only ``"aws"`` is a valid value. By default, the no-op executor is used. +* **region**: this specifies which region AWS clients should will use when creating SNS and SQS clients +* **publisher**: This handles pushing notification events to your SNS topic + * **topicName**: This is the arn of your SNS topic +* **processor**: This handles the recording notification events and enqueueing them to be processed asynchronously + * **queueName**: This is the name of the SQS queue which will capture pending notification events + * **accountId**: Your AWS `account id `_ +* **emailer**: This section encloses config details for sending and formatting emails used as notifications + * **subject**: Configurable subject line used in notification emails + * **sender**: Your verified SES email sender + * **body**: Configurable email body used in notifications + +The full set of parameters which can be used for email templating are checked into `code `_. + .. _admin-config-example: Example config diff --git a/_sources/administrator/install/getting_started.rst.txt b/_sources/administrator/install/getting_started.rst.txt index e7c3d17fce..679112a8ff 100644 --- a/_sources/administrator/install/getting_started.rst.txt +++ b/_sources/administrator/install/getting_started.rst.txt @@ -57,3 +57,13 @@ SPECIAL NOTE FOR MINIKUBE: - Another alternative is to change the docker host, to build the docker image on the Minikube hosted docker daemon. https://minikube.sigs.k8s.io/docs/handbook/pushing/ provides more detailed information about this process. As a TL;DR, Flyte can only run images that are accessible to Kubernetes. To make an image accessible, you could either push it to a remote registry or to a regisry that is available to Kuberentes. In case on minikube this registry is the one thats running on the VM. + +SPECIAL NOTE IF YOU WANT TO PORT FORWARD Flyteconsole: + - FlyteConsole defaults to using its own ``window.location.origin`` as the host for FlyteAdmin service. This is because the default Flyte Sandbox setup uses an ingress configuration, where + ``/console`` maps to FlyteConsole and ``/api/v1`` and some other ``paths`` map to FlyteAdmin. Refer to `components-console` to dive deeper. + - If you are port-forwarding then forwarding both FlyteConsole and FlyteAdmin on the same port may not be possible (I am not aware of a way, unless you do some IPTable tricks), thus you need to let + FlyteConsole know where to find FlyteAdmin. + - This can be easily configured using ``flyte-console-configuration``. The way to do this is to set ``ADMIN_API_URL`` variable for FlyteConsole and then "restarting" flyteconsole pod. `The variable + is commented out in the default configuration` + - If you have difficulty please slack us in the channel + diff --git a/_sources/flyteidl/admin/common.proto.rst.txt b/_sources/flyteidl/admin/common.proto.rst.txt index f6d28ba3c9..b85ceb20c6 100644 --- a/_sources/flyteidl/admin/common.proto.rst.txt +++ b/_sources/flyteidl/admin/common.proto.rst.txt @@ -745,6 +745,31 @@ kubernetes_service_account Only one of :ref:`assumable_iam_role `, :ref:`kubernetes_service_account ` may be set. + +.. _api_msg_flyteidl.admin.RawOutputDataConfig: + +flyteidl.admin.RawOutputDataConfig +---------------------------------- + +`[flyteidl.admin.RawOutputDataConfig proto] `_ + +Encapsulates user settings pertaining to offloaded data (i.e. Blobs, Schema, query data, etc.). +See https://github.com/lyft/flyte/issues/211 for more background information. + +.. code-block:: json + + { + "output_location_prefix": "..." + } + +.. _api_field_flyteidl.admin.RawOutputDataConfig.output_location_prefix: + +output_location_prefix + (`string `_) Prefix for where offloaded data from user workflows will be written + e.g. s3://bucket/key or s3://bucket/ + + + .. _api_enum_flyteidl.admin.NamedEntityState: Enum flyteidl.admin.NamedEntityState diff --git a/_sources/flyteidl/admin/execution.proto.rst.txt b/_sources/flyteidl/admin/execution.proto.rst.txt index 3b87ec6073..a0e6da2009 100644 --- a/_sources/flyteidl/admin/execution.proto.rst.txt +++ b/_sources/flyteidl/admin/execution.proto.rst.txt @@ -722,7 +722,9 @@ Response structure for WorkflowExecutionGetDataRequest which contains inputs and { "outputs": "{...}", - "inputs": "{...}" + "inputs": "{...}", + "full_inputs": "{...}", + "full_outputs": "{...}" } .. _api_field_flyteidl.admin.WorkflowExecutionGetDataResponse.outputs: @@ -737,4 +739,16 @@ inputs (:ref:`flyteidl.admin.UrlBlob `) Signed url to fetch a core.LiteralMap of execution inputs. +.. _api_field_flyteidl.admin.WorkflowExecutionGetDataResponse.full_inputs: + +full_inputs + (:ref:`flyteidl.core.LiteralMap `) Optional, full_inputs will only be populated if they are under a configured size threshold. + + +.. _api_field_flyteidl.admin.WorkflowExecutionGetDataResponse.full_outputs: + +full_outputs + (:ref:`flyteidl.core.LiteralMap `) Optional, full_outputs will only be populated if they are under a configured size threshold. + + diff --git a/_sources/flyteidl/admin/launch_plan.proto.rst.txt b/_sources/flyteidl/admin/launch_plan.proto.rst.txt index 0ba3fa6609..54fb7ee4d1 100644 --- a/_sources/flyteidl/admin/launch_plan.proto.rst.txt +++ b/_sources/flyteidl/admin/launch_plan.proto.rst.txt @@ -156,7 +156,7 @@ kubernetes_service_account flyteidl.admin.LaunchPlanSpec ----------------------------- -`[flyteidl.admin.LaunchPlanSpec proto] `_ +`[flyteidl.admin.LaunchPlanSpec proto] `_ User-provided launch plan definition and configuration values. @@ -172,7 +172,8 @@ User-provided launch plan definition and configuration values. "annotations": "{...}", "auth": "{...}", "auth_role": "{...}", - "quality_of_service": "{...}" + "quality_of_service": "{...}", + "raw_output_data_config": "{...}" } .. _api_field_flyteidl.admin.LaunchPlanSpec.workflow_id: @@ -231,9 +232,14 @@ auth_role .. _api_field_flyteidl.admin.LaunchPlanSpec.quality_of_service: quality_of_service - (:ref:`flyteidl.core.QualityOfService `) Indicates the runtime priority of the execution. + (:ref:`flyteidl.core.QualityOfService `) Indicates the runtime priority of the execution. +.. _api_field_flyteidl.admin.LaunchPlanSpec.raw_output_data_config: + +raw_output_data_config + (:ref:`flyteidl.admin.RawOutputDataConfig `) + .. _api_msg_flyteidl.admin.LaunchPlanClosure: @@ -241,7 +247,7 @@ quality_of_service flyteidl.admin.LaunchPlanClosure -------------------------------- -`[flyteidl.admin.LaunchPlanClosure proto] `_ +`[flyteidl.admin.LaunchPlanClosure proto] `_ Values computed by the flyte platform after launch plan registration. These include expected_inputs required to be present in a CreateExecutionRequest @@ -294,7 +300,7 @@ updated_at flyteidl.admin.LaunchPlanMetadata --------------------------------- -`[flyteidl.admin.LaunchPlanMetadata proto] `_ +`[flyteidl.admin.LaunchPlanMetadata proto] `_ Additional launch plan attributes included in the LaunchPlanSpec not strictly required to launch the reference workflow. @@ -325,7 +331,7 @@ notifications flyteidl.admin.LaunchPlanUpdateRequest -------------------------------------- -`[flyteidl.admin.LaunchPlanUpdateRequest proto] `_ +`[flyteidl.admin.LaunchPlanUpdateRequest proto] `_ Request to set the referenced launch plan state to the configured value. @@ -355,7 +361,7 @@ state flyteidl.admin.LaunchPlanUpdateResponse --------------------------------------- -`[flyteidl.admin.LaunchPlanUpdateResponse proto] `_ +`[flyteidl.admin.LaunchPlanUpdateResponse proto] `_ Purposefully empty, may be populated in the future. @@ -371,7 +377,7 @@ Purposefully empty, may be populated in the future. flyteidl.admin.ActiveLaunchPlanRequest -------------------------------------- -`[flyteidl.admin.ActiveLaunchPlanRequest proto] `_ +`[flyteidl.admin.ActiveLaunchPlanRequest proto] `_ Represents a request struct for finding an active launch plan for a given NamedEntityIdentifier @@ -393,7 +399,7 @@ id flyteidl.admin.ActiveLaunchPlanListRequest ------------------------------------------ -`[flyteidl.admin.ActiveLaunchPlanListRequest proto] `_ +`[flyteidl.admin.ActiveLaunchPlanListRequest proto] `_ Represents a request structure to list active launch plans within a project/domain. diff --git a/_sources/flyteidl/admin/node_execution.proto.rst.txt b/_sources/flyteidl/admin/node_execution.proto.rst.txt index 615526d9fe..f1452367e4 100644 --- a/_sources/flyteidl/admin/node_execution.proto.rst.txt +++ b/_sources/flyteidl/admin/node_execution.proto.rst.txt @@ -8,7 +8,7 @@ node_execution.proto flyteidl.admin.NodeExecutionGetRequest -------------------------------------- -`[flyteidl.admin.NodeExecutionGetRequest proto] `_ +`[flyteidl.admin.NodeExecutionGetRequest proto] `_ A message used to fetch a single node execution entity. @@ -31,7 +31,7 @@ id flyteidl.admin.NodeExecutionListRequest --------------------------------------- -`[flyteidl.admin.NodeExecutionListRequest proto] `_ +`[flyteidl.admin.NodeExecutionListRequest proto] `_ Represents a request structure to retrieve a list of node execution entities. @@ -95,7 +95,7 @@ unique_parent_id flyteidl.admin.NodeExecutionForTaskListRequest ---------------------------------------------- -`[flyteidl.admin.NodeExecutionForTaskListRequest proto] `_ +`[flyteidl.admin.NodeExecutionForTaskListRequest proto] `_ Represents a request structure to retrieve a list of node execution entities launched by a specific task. @@ -151,7 +151,7 @@ sort_by flyteidl.admin.NodeExecution ---------------------------- -`[flyteidl.admin.NodeExecution proto] `_ +`[flyteidl.admin.NodeExecution proto] `_ Encapsulates all details for a single node execution entity. A node represents a component in the overall workflow graph. A node launch a task, multiple tasks, an entire nested @@ -198,7 +198,7 @@ metadata flyteidl.admin.NodeExecutionMetaData ------------------------------------ -`[flyteidl.admin.NodeExecutionMetaData proto] `_ +`[flyteidl.admin.NodeExecutionMetaData proto] `_ Represents additional attributes related to a Node Execution @@ -237,7 +237,7 @@ spec_node_id flyteidl.admin.NodeExecutionList -------------------------------- -`[flyteidl.admin.NodeExecutionList proto] `_ +`[flyteidl.admin.NodeExecutionList proto] `_ Request structure to retrieve a list of node execution entities. @@ -267,7 +267,7 @@ token flyteidl.admin.NodeExecutionClosure ----------------------------------- -`[flyteidl.admin.NodeExecutionClosure proto] `_ +`[flyteidl.admin.NodeExecutionClosure proto] `_ Container for node execution details and results. @@ -361,7 +361,7 @@ task_node_metadata flyteidl.admin.WorkflowNodeMetadata ----------------------------------- -`[flyteidl.admin.WorkflowNodeMetadata proto] `_ +`[flyteidl.admin.WorkflowNodeMetadata proto] `_ Metadata for a WorkflowNode @@ -383,7 +383,7 @@ executionId flyteidl.admin.TaskNodeMetadata ------------------------------- -`[flyteidl.admin.TaskNodeMetadata proto] `_ +`[flyteidl.admin.TaskNodeMetadata proto] `_ Metadata for the case in which the node is a TaskNode @@ -413,7 +413,7 @@ catalog_key flyteidl.admin.NodeExecutionGetDataRequest ------------------------------------------ -`[flyteidl.admin.NodeExecutionGetDataRequest proto] `_ +`[flyteidl.admin.NodeExecutionGetDataRequest proto] `_ Request structure to fetch inputs and output urls for a node execution. @@ -436,7 +436,7 @@ id flyteidl.admin.NodeExecutionGetDataResponse ------------------------------------------- -`[flyteidl.admin.NodeExecutionGetDataResponse proto] `_ +`[flyteidl.admin.NodeExecutionGetDataResponse proto] `_ Response structure for NodeExecutionGetDataRequest which contains inputs and outputs for a node execution. @@ -444,7 +444,9 @@ Response structure for NodeExecutionGetDataRequest which contains inputs and out { "inputs": "{...}", - "outputs": "{...}" + "outputs": "{...}", + "full_inputs": "{...}", + "full_outputs": "{...}" } .. _api_field_flyteidl.admin.NodeExecutionGetDataResponse.inputs: @@ -459,4 +461,16 @@ outputs (:ref:`flyteidl.admin.UrlBlob `) Signed url to fetch a core.LiteralMap of node execution outputs. +.. _api_field_flyteidl.admin.NodeExecutionGetDataResponse.full_inputs: + +full_inputs + (:ref:`flyteidl.core.LiteralMap `) Optional, full_inputs will only be populated if they are under a configured size threshold. + + +.. _api_field_flyteidl.admin.NodeExecutionGetDataResponse.full_outputs: + +full_outputs + (:ref:`flyteidl.core.LiteralMap `) Optional, full_outputs will only be populated if they are under a configured size threshold. + + diff --git a/_sources/flyteidl/admin/project.proto.rst.txt b/_sources/flyteidl/admin/project.proto.rst.txt index 6aa25cd36b..124760bcdb 100644 --- a/_sources/flyteidl/admin/project.proto.rst.txt +++ b/_sources/flyteidl/admin/project.proto.rst.txt @@ -8,7 +8,7 @@ project.proto flyteidl.admin.Domain --------------------- -`[flyteidl.admin.Domain proto] `_ +`[flyteidl.admin.Domain proto] `_ Namespace within a project commonly used to differentiate between different service instances. e.g. "production", "development", etc. @@ -38,7 +38,7 @@ name flyteidl.admin.Project ---------------------- -`[flyteidl.admin.Project proto] `_ +`[flyteidl.admin.Project proto] `_ Top-level namespace used to classify different entities like workflows and executions. @@ -48,7 +48,8 @@ Top-level namespace used to classify different entities like workflows and execu "id": "...", "name": "...", "domains": [], - "description": "..." + "description": "...", + "labels": "{...}" } .. _api_field_flyteidl.admin.Project.id: @@ -72,6 +73,13 @@ domains description (`string `_) +.. _api_field_flyteidl.admin.Project.labels: + +labels + (:ref:`flyteidl.admin.Labels `) Leverage Labels from flyteidel.admin.common.proto to + tag projects with ownership information. + + .. _api_msg_flyteidl.admin.Projects: @@ -79,7 +87,7 @@ description flyteidl.admin.Projects ----------------------- -`[flyteidl.admin.Projects proto] `_ +`[flyteidl.admin.Projects proto] `_ .. code-block:: json @@ -100,7 +108,7 @@ projects flyteidl.admin.ProjectListRequest --------------------------------- -`[flyteidl.admin.ProjectListRequest proto] `_ +`[flyteidl.admin.ProjectListRequest proto] `_ .. code-block:: json @@ -115,7 +123,7 @@ flyteidl.admin.ProjectListRequest flyteidl.admin.ProjectRegisterRequest ------------------------------------- -`[flyteidl.admin.ProjectRegisterRequest proto] `_ +`[flyteidl.admin.ProjectRegisterRequest proto] `_ .. code-block:: json @@ -136,7 +144,22 @@ project flyteidl.admin.ProjectRegisterResponse -------------------------------------- -`[flyteidl.admin.ProjectRegisterResponse proto] `_ +`[flyteidl.admin.ProjectRegisterResponse proto] `_ + + +.. code-block:: json + + {} + + + + +.. _api_msg_flyteidl.admin.ProjectUpdateResponse: + +flyteidl.admin.ProjectUpdateResponse +------------------------------------ + +`[flyteidl.admin.ProjectUpdateResponse proto] `_ .. code-block:: json diff --git a/_sources/flyteidl/admin/task_execution.proto.rst.txt b/_sources/flyteidl/admin/task_execution.proto.rst.txt index 07a3726688..26b00059d7 100644 --- a/_sources/flyteidl/admin/task_execution.proto.rst.txt +++ b/_sources/flyteidl/admin/task_execution.proto.rst.txt @@ -8,7 +8,7 @@ task_execution.proto flyteidl.admin.TaskExecutionGetRequest -------------------------------------- -`[flyteidl.admin.TaskExecutionGetRequest proto] `_ +`[flyteidl.admin.TaskExecutionGetRequest proto] `_ A message used to fetch a single task execution entity. @@ -31,7 +31,7 @@ id flyteidl.admin.TaskExecutionListRequest --------------------------------------- -`[flyteidl.admin.TaskExecutionListRequest proto] `_ +`[flyteidl.admin.TaskExecutionListRequest proto] `_ Represents a request structure to retrieve a list of task execution entities. @@ -87,7 +87,7 @@ sort_by flyteidl.admin.TaskExecution ---------------------------- -`[flyteidl.admin.TaskExecution proto] `_ +`[flyteidl.admin.TaskExecution proto] `_ Encapsulates all details for a single task execution entity. A task execution represents an instantiated task, including all inputs and additional @@ -133,7 +133,7 @@ is_parent flyteidl.admin.TaskExecutionList -------------------------------- -`[flyteidl.admin.TaskExecutionList proto] `_ +`[flyteidl.admin.TaskExecutionList proto] `_ Response structure for a query to list of task execution entities. @@ -163,7 +163,7 @@ token flyteidl.admin.TaskExecutionClosure ----------------------------------- -`[flyteidl.admin.TaskExecutionClosure proto] `_ +`[flyteidl.admin.TaskExecutionClosure proto] `_ Container for task execution details and results. @@ -248,7 +248,7 @@ custom_info flyteidl.admin.TaskExecutionGetDataRequest ------------------------------------------ -`[flyteidl.admin.TaskExecutionGetDataRequest proto] `_ +`[flyteidl.admin.TaskExecutionGetDataRequest proto] `_ Request structure to fetch inputs and output urls for a task execution. @@ -271,7 +271,7 @@ id flyteidl.admin.TaskExecutionGetDataResponse ------------------------------------------- -`[flyteidl.admin.TaskExecutionGetDataResponse proto] `_ +`[flyteidl.admin.TaskExecutionGetDataResponse proto] `_ Response structure for TaskExecutionGetDataRequest which contains inputs and outputs for a task execution. @@ -279,7 +279,9 @@ Response structure for TaskExecutionGetDataRequest which contains inputs and out { "inputs": "{...}", - "outputs": "{...}" + "outputs": "{...}", + "full_inputs": "{...}", + "full_outputs": "{...}" } .. _api_field_flyteidl.admin.TaskExecutionGetDataResponse.inputs: @@ -294,4 +296,16 @@ outputs (:ref:`flyteidl.admin.UrlBlob `) Signed url to fetch a core.LiteralMap of task execution outputs. +.. _api_field_flyteidl.admin.TaskExecutionGetDataResponse.full_inputs: + +full_inputs + (:ref:`flyteidl.core.LiteralMap `) Optional, full_inputs will only be populated if they are under a configured size threshold. + + +.. _api_field_flyteidl.admin.TaskExecutionGetDataResponse.full_outputs: + +full_outputs + (:ref:`flyteidl.core.LiteralMap `) Optional, full_outputs will only be populated if they are under a configured size threshold. + + diff --git a/_sources/flyteidl/core/workflow.proto.rst.txt b/_sources/flyteidl/core/workflow.proto.rst.txt index 3667016599..06c91ba315 100644 --- a/_sources/flyteidl/core/workflow.proto.rst.txt +++ b/_sources/flyteidl/core/workflow.proto.rst.txt @@ -339,9 +339,10 @@ branch_node flyteidl.core.WorkflowMetadata ------------------------------ -`[flyteidl.core.WorkflowMetadata proto] `_ +`[flyteidl.core.WorkflowMetadata proto] `_ -Metadata for the entire workflow. Defines execution behavior that does not change the final outputs of the workflow. +This is workflow layer metadata. These settings are only applicable to the workflow as a whole, and do not +percolate down to child entities (like tasks) launched by the workflow. .. code-block:: json @@ -368,7 +369,7 @@ on_failure Enum flyteidl.core.WorkflowMetadata.OnFailurePolicy --------------------------------------------------- -`[flyteidl.core.WorkflowMetadata.OnFailurePolicy proto] `_ +`[flyteidl.core.WorkflowMetadata.OnFailurePolicy proto] `_ Failure Handling Strategy @@ -395,9 +396,14 @@ FAIL_AFTER_EXECUTABLE_NODES_COMPLETE flyteidl.core.WorkflowMetadataDefaults -------------------------------------- -`[flyteidl.core.WorkflowMetadataDefaults proto] `_ +`[flyteidl.core.WorkflowMetadataDefaults proto] `_ -Default Workflow Metadata for the entire workflow. +The difference between these settings and the WorkflowMetadata ones is that these are meant to be passed down to +a workflow's underlying entities (like tasks). For instance, 'interruptible' has no meaning at the workflow layer, it +is only relevant when a task executes. The settings here are the defaults that are passed to all nodes +unless explicitly overridden at the node layer. +If you are adding a setting that applies to both the Workflow itself, and everything underneath it, it should be +added to both this object and the WorkflowMetadata object above. .. code-block:: json @@ -408,9 +414,7 @@ Default Workflow Metadata for the entire workflow. .. _api_field_flyteidl.core.WorkflowMetadataDefaults.interruptible: interruptible - (`bool `_) Identify whether workflow is interruptible. - The value set at the workflow level will be the defualt value used for nodes - unless explicitly set at the node level. + (`bool `_) Whether child nodes of the workflow are interruptible. @@ -420,7 +424,7 @@ interruptible flyteidl.core.WorkflowTemplate ------------------------------ -`[flyteidl.core.WorkflowTemplate proto] `_ +`[flyteidl.core.WorkflowTemplate proto] `_ Flyte Workflow Structure that encapsulates task, branch and subworkflow nodes to form a statically analyzable, directed acyclic graph. diff --git a/_sources/flytekit/flytekit.common.tasks.sagemaker.rst.txt b/_sources/flytekit/flytekit.common.tasks.sagemaker.rst.txt index 60516380cc..f5c7cb3984 100644 --- a/_sources/flytekit/flytekit.common.tasks.sagemaker.rst.txt +++ b/_sources/flytekit/flytekit.common.tasks.sagemaker.rst.txt @@ -4,18 +4,26 @@ flytekit.common.tasks.sagemaker package Submodules ---------- -flytekit.common.tasks.sagemaker.hpo\_job\_task module ------------------------------------------------------ +flytekit.common.tasks.sagemaker.built\_in\_training\_job\_task module +--------------------------------------------------------------------- -.. automodule:: flytekit.common.tasks.sagemaker.hpo_job_task +.. automodule:: flytekit.common.tasks.sagemaker.built_in_training_job_task :members: :undoc-members: :show-inheritance: -flytekit.common.tasks.sagemaker.training\_job\_task module ----------------------------------------------------------- +flytekit.common.tasks.sagemaker.custom\_training\_job\_task module +------------------------------------------------------------------ -.. automodule:: flytekit.common.tasks.sagemaker.training_job_task +.. automodule:: flytekit.common.tasks.sagemaker.custom_training_job_task + :members: + :undoc-members: + :show-inheritance: + +flytekit.common.tasks.sagemaker.hpo\_job\_task module +----------------------------------------------------- + +.. automodule:: flytekit.common.tasks.sagemaker.hpo_job_task :members: :undoc-members: :show-inheritance: diff --git a/_sources/flytekit/flytekit.sdk.rst.txt b/_sources/flytekit/flytekit.sdk.rst.txt index 776cafbaf2..7f8ce986a6 100644 --- a/_sources/flytekit/flytekit.sdk.rst.txt +++ b/_sources/flytekit/flytekit.sdk.rst.txt @@ -1,6 +1,13 @@ flytekit.sdk package ==================== +Subpackages +----------- + +.. toctree:: + + flytekit.sdk.sagemaker + Submodules ---------- diff --git a/_sources/flytekit/flytekit.sdk.sagemaker.rst.txt b/_sources/flytekit/flytekit.sdk.sagemaker.rst.txt new file mode 100644 index 0000000000..ebd77d2f80 --- /dev/null +++ b/_sources/flytekit/flytekit.sdk.sagemaker.rst.txt @@ -0,0 +1,22 @@ +flytekit.sdk.sagemaker package +============================== + +Submodules +---------- + +flytekit.sdk.sagemaker.task module +---------------------------------- + +.. automodule:: flytekit.sdk.sagemaker.task + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: flytekit.sdk.sagemaker + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/user/getting_started/examples.rst.txt b/_sources/user/getting_started/examples.rst.txt index 7f24584314..426fec98e8 100644 --- a/_sources/user/getting_started/examples.rst.txt +++ b/_sources/user/getting_started/examples.rst.txt @@ -17,7 +17,7 @@ Registration If you're using the ``sandbox`` flyte installation, you can use the following command to register our example workflow with Flyte :: - docker run --network host -e FLYTE_PLATFORM_URL='127.0.0.1:30081' lyft/flytesnacks:v0.1.0 pyflyte -p flytesnacks -d development -c sandbox.config register workflows + docker run --network host -e FLYTE_PLATFORM_URL='127.0.0.1:30081' lyft/flytesnacks:v0.2.0 pyflyte -p flytesnacks -d development -c sandbox.config register workflows This command will register the workflow with your Flyte app under the ``development`` domain of the project ``flytesnacks``. diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 0b7bd44ff3..b49f0ca01f 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.6.0', + VERSION: '0.7.0', LANGUAGE: 'None', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', diff --git a/administrator/architecture.html b/administrator/architecture.html index 78e45745e4..c068b42b57 100644 --- a/administrator/architecture.html +++ b/administrator/architecture.html @@ -8,7 +8,7 @@ - Architecture — Flyte 0.6.0 documentation + Architecture — Flyte 0.7.0 documentation diff --git a/administrator/faq/gcp.html b/administrator/faq/gcp.html new file mode 100644 index 0000000000..b7d17492a2 --- /dev/null +++ b/administrator/faq/gcp.html @@ -0,0 +1,227 @@ + + + + + + + + + + + Installed Single Cluster mode on GCP, what examples do I use? — Flyte 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    + +
      + +
    • Docs »
    • + +
    • Installed Single Cluster mode on GCP, what examples do I use?
    • + + +
    • + + + View page source + + +
    • + +
    + + +
    +
    +
    +
    + +
    +

    Installed Single Cluster mode on GCP, what examples do I use?

    +
    +
    +

    I tried to run examples, but task fails with 401 error?

    +
    +

    Steps: +- Are you using Workload Identity, then you have to pass in the ServiceAccount when you create the launchplan. Docs here https://lyft.github.io/flyte/user/features/roles.html?highlight=serviceaccount#kubernetes-serviceaccount-examples

    +
    +
    +
      +
    • If you are just using a simple Nodepool wide permissions then check the cluster’s ServiceACcount for STorage permissions. Do they look fine?

    • +
    • If not, then start a dummy pod in the intended namespace and check for

    • +
    +
    +

    gcloud auth list

    +
    +

    NOTE: +FlytePropeller uses Google Application credentials, but gsutil does not use these credentials

    +
    +
    + + +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/administrator/faq/index.html b/administrator/faq/index.html new file mode 100644 index 0000000000..f98170eb46 --- /dev/null +++ b/administrator/faq/index.html @@ -0,0 +1,205 @@ + + + + + + + + + + + <no title> — Flyte 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    +
    + + + +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/administrator/index.html b/administrator/index.html index 6d817b6854..f78881797c 100644 --- a/administrator/index.html +++ b/administrator/index.html @@ -8,7 +8,7 @@ - Administrator Docs — Flyte 0.6.0 documentation + Administrator Docs — Flyte 0.7.0 documentation diff --git a/administrator/install/authentication.html b/administrator/install/authentication.html index 78688596fa..af878ef1cc 100644 --- a/administrator/install/authentication.html +++ b/administrator/install/authentication.html @@ -8,7 +8,7 @@ - Authentication — Flyte 0.6.0 documentation + Authentication — Flyte 0.7.0 documentation diff --git a/administrator/install/configure/admin.html b/administrator/install/configure/admin.html index 264687e873..b313f05273 100644 --- a/administrator/install/configure/admin.html +++ b/administrator/install/configure/admin.html @@ -8,7 +8,7 @@ - FlyteAdmin Configuration — Flyte 0.6.0 documentation + FlyteAdmin Configuration — Flyte 0.7.0 documentation @@ -191,6 +191,127 @@

    FlyteAdmin Configuration

    +
    +

    Setting up scheduled workflows

    +

    In order to run workflow executions based on user-specified schedules you’ll need to fill out the top-level scheduler portion of the flyteadmin application configuration.

    +

    In particular you’ll need to configure the two components responsible for scheduling workflows and processing schedule event triggers.

    +

    Note this functionality is currently only supported for AWS installs.

    +
    +

    Event Scheduler

    +

    In order to schedule workflow executions, you’ll need to set up an AWS SQS queue. A standard type queue should suffice. The flyteadmin event scheduler creates AWS CloudWatch event rules that invokes your SQS queue as a target.

    +

    With that in mind, let’s take a look at an example eventScheduler config section and dive into what each value represents:

    +
    scheduler:
    +  eventScheduler:
    +    scheme: "aws"
    +    region: "us-east-1"
    +    scheduleRole: "arn:aws:iam::{{ YOUR ACCOUNT ID }}:role/{{ ROLE }}"
    +    targetName: "arn:aws:sqs:us-east-1:{{ YOUR ACCOUNT ID }}:{{ YOUR QUEUE NAME }}"
    +    scheduleNamePrefix: "flyte"
    +
    +
    +
      +
    • scheme: in this case because AWS is the only cloud back-end supported for scheduling workflows, only "aws" is a valid value. By default, the no-op scheduler is used.

    • +
    • region: this specifies which region initialized AWS clients should will use when creating CloudWatch rules

    • +
    • +
      scheduleRole This is the IAM role ARN with permissions set to Allow
        +
      • ‘events:PutRule’

      • +
      • ‘events:PutTargets’

      • +
      • ‘events:DeleteRule’

      • +
      • ‘events:RemoveTargets’

      • +
      +
      +
      +
    • +
    • targetName this is the ARN for the SQS Queue you’ve allocated to scheduling workflows

    • +
    • scheduleNamePrefix this is an entirely optional prefix used when creating schedule rules. Because of AWS naming length restrictions, scheduled rules are a random hash and having a shared prefix makes these names more readable and indicates who generated the rules

    • +
    +
    +
    +

    Workflow Executor

    +

    Scheduled events which trigger need to be handled by the workflow executor, which subscribes to triggered events from the SQS queue you’ve configured above.

    +

    Again, let’s break down a sample config:

    +
    scheduler:
    +  eventScheduler:
    +    ...
    +  workflowExecutor:
    +    scheme: "aws"
    +    region: "us-east-1"
    +    scheduleQueueName: "{{ YOUR QUEUE NAME }}"
    +    accountId: "{{ YOUR ACCOUNT ID }}"
    +
    +
    +
      +
    • scheme: in this case because AWS is the only cloud back-end supported for executing scheduled workflows, only "aws" is a valid value. By default, the no-op executor is used.

    • +
    • region: this specifies which region AWS clients should will use when creating an SQS subscriber client

    • +
    • scheduleQueueName: this is the name of the SQS Queue you’ve allocated to scheduling workflows

    • +
    • accountId: Your AWS account id

    • +
    +
    +

    Caution

    +

    Failure to configure a workflow executor will result in all your scheduled events piling up silently without ever kicking off workflow executions.

    +
    +
    +
    +
    +

    Setting up workflow notifications

    +

    The notifications top-level portion of the flyteadmin config specifies how to handle notifications.

    +

    As like in schedules, the notifications handling is composed of two parts. One handles enqueuing notifications asynchronously and the second part handles processing pending notifications and actually firing off emails and alerts.

    +

    This is only supported for Flyte instances running on AWS.

    +
    +

    Config

    +

    To publish notifications, you’ll need to set up an SNS topic.

    +

    In order to process notifications, you’ll need to set up an AWS SQS queue to consume notification events. This queue must be configured as a subscription to your SNS topic you created above.

    +

    In order to actually publish notifications, you’ll need a verified SES email address which will be used to send notification emails and alerts using email APIs.

    +

    The role you use to run flyteadmin must have permissions to read and write to your SNS topic and SQS queue.

    +

    Let’s look at the following config section and go into what each value represents:

    +
    notifications:
    +  type: "aws"
    +  region: "us-east-1"
    +  publisher:
    +    topicName: "arn:aws:sns:us-east-1:{{ YOUR ACCOUNT ID }}:{{ YOUR TOPIC }}"
    +  processor:
    +    queueName: "{{ YOUR QUEUE NAME }}"
    +    accountId: "{{ YOUR ACCOUNT ID }}"
    +  emailer:
    +    subject: "Notice: Execution \"{{ workflow.name }}\" has {{ phase }} in \"{{ domain }}\"."
    +    sender:  "flyte-notifications@company.com"
    +    body: >
    +      Execution \"{{ workflow.name }} [{{ name }}]\" has {{ phase }} in \"{{ domain }}\". View details at
    +      <a href=\http://flyte.company.com/console/projects/{{ project }}/domains/{{ domain }}/executions/{{ name }}>
    +      http://flyte.company.com/console/projects/{{ project }}/domains/{{ domain }}/executions/{{ name }}</a>. {{ error }}
    +
    +
    +
      +
    • type: in this case because AWS is the only cloud back-end supported for executing scheduled workflows, only "aws" is a valid value. By default, the no-op executor is used.

    • +
    • region: this specifies which region AWS clients should will use when creating SNS and SQS clients

    • +
    • +
      publisher: This handles pushing notification events to your SNS topic
        +
      • topicName: This is the arn of your SNS topic

      • +
      +
      +
      +
    • +
    • +
      processor: This handles the recording notification events and enqueueing them to be processed asynchronously
        +
      • queueName: This is the name of the SQS queue which will capture pending notification events

      • +
      • accountId: Your AWS account id

      • +
      +
      +
      +
    • +
    • +
      emailer: This section encloses config details for sending and formatting emails used as notifications
        +
      • subject: Configurable subject line used in notification emails

      • +
      • sender: Your verified SES email sender

      • +
      • body: Configurable email body used in notifications

      • +
      +
      +
      +
    • +
    +

    The full set of parameters which can be used for email templating are checked into code.

    +
    +

    Example config

    diff --git a/administrator/install/configure/common.html b/administrator/install/configure/common.html index 6aad76862b..528861075b 100644 --- a/administrator/install/configure/common.html +++ b/administrator/install/configure/common.html @@ -8,7 +8,7 @@ - Common configuration across all backend components — Flyte 0.6.0 documentation + Common configuration across all backend components — Flyte 0.7.0 documentation diff --git a/administrator/install/configure/index.html b/administrator/install/configure/index.html index c213dac378..493a95a56d 100644 --- a/administrator/install/configure/index.html +++ b/administrator/install/configure/index.html @@ -8,7 +8,7 @@ - Configure Flyte backend — Flyte 0.6.0 documentation + Configure Flyte backend — Flyte 0.7.0 documentation @@ -223,6 +223,15 @@
  • FlyteAdmin Configuration
  • diff --git a/administrator/install/configure/plugins.html b/administrator/install/configure/plugins.html index 4ce3eb0cd3..483d70a410 100644 --- a/administrator/install/configure/plugins.html +++ b/administrator/install/configure/plugins.html @@ -8,7 +8,7 @@ - Plugin Configuration — Flyte 0.6.0 documentation + Plugin Configuration — Flyte 0.7.0 documentation diff --git a/administrator/install/configure/propeller.html b/administrator/install/configure/propeller.html index 45c3d8e2cf..f8568cfc1c 100644 --- a/administrator/install/configure/propeller.html +++ b/administrator/install/configure/propeller.html @@ -8,7 +8,7 @@ - Propeller Configuration — Flyte 0.6.0 documentation + Propeller Configuration — Flyte 0.7.0 documentation diff --git a/administrator/install/getting_started.html b/administrator/install/getting_started.html index 0dd9e1e8a7..9fbf7edb15 100644 --- a/administrator/install/getting_started.html +++ b/administrator/install/getting_started.html @@ -8,7 +8,7 @@ - Getting Started — Flyte 0.6.0 documentation + Getting Started — Flyte 0.7.0 documentation @@ -236,6 +236,16 @@

    Sandbox Deployment +
  • FlyteConsole defaults to using its own window.location.origin as the host for FlyteAdmin service. This is because the default Flyte Sandbox setup uses an ingress configuration, where +/console maps to FlyteConsole and /api/v1 and some other paths map to FlyteAdmin. Refer to components-console to dive deeper.

  • +
  • If you are port-forwarding then forwarding both FlyteConsole and FlyteAdmin on the same port may not be possible (I am not aware of a way, unless you do some IPTable tricks), thus you need to let +FlyteConsole know where to find FlyteAdmin.

  • +
  • This can be easily configured using flyte-console-configuration. The way to do this is to set ADMIN_API_URL variable for FlyteConsole and then “restarting” flyteconsole pod. The variable +is commented out in the default configuration<https://github.com/lyft/flyte/blob/2905b8d48263bc194dc3a61d49015c5abda81f5e/kustomize/overlays/sandbox/console/config.yaml#L12>

  • +
  • If you have difficulty please slack us in the channel

  • + +

    diff --git a/administrator/install/index.html b/administrator/install/index.html index e1f45393be..b2beede2a4 100644 --- a/administrator/install/index.html +++ b/administrator/install/index.html @@ -8,7 +8,7 @@ - Installing Flyte — Flyte 0.6.0 documentation + Installing Flyte — Flyte 0.7.0 documentation @@ -261,6 +261,15 @@
  • FlyteAdmin Configuration
  • diff --git a/administrator/install/managing_customizable_resources.html b/administrator/install/managing_customizable_resources.html index 9acbddf9c8..8df91cbb3b 100644 --- a/administrator/install/managing_customizable_resources.html +++ b/administrator/install/managing_customizable_resources.html @@ -8,7 +8,7 @@ - Configuring customizable resources — Flyte 0.6.0 documentation + Configuring customizable resources — Flyte 0.7.0 documentation diff --git a/administrator/install/multi_cluster.html b/administrator/install/multi_cluster.html index ad01dadca4..0b59ddd15f 100644 --- a/administrator/install/multi_cluster.html +++ b/administrator/install/multi_cluster.html @@ -8,7 +8,7 @@ - Scaling Beyond Kubernetes — Flyte 0.6.0 documentation + Scaling Beyond Kubernetes — Flyte 0.7.0 documentation diff --git a/administrator/install/optional_components.html b/administrator/install/optional_components.html index 4986289ce9..7b2f03c853 100644 --- a/administrator/install/optional_components.html +++ b/administrator/install/optional_components.html @@ -8,7 +8,7 @@ - Optional Components — Flyte 0.6.0 documentation + Optional Components — Flyte 0.7.0 documentation diff --git a/administrator/install/production.html b/administrator/install/production.html index 2af1faf590..8becd2328b 100644 --- a/administrator/install/production.html +++ b/administrator/install/production.html @@ -8,7 +8,7 @@ - Handling Production Load — Flyte 0.6.0 documentation + Handling Production Load — Flyte 0.7.0 documentation diff --git a/contributor/components/admin.html b/contributor/components/admin.html index 36e75e07f3..ccfd3fc1b2 100644 --- a/contributor/components/admin.html +++ b/contributor/components/admin.html @@ -8,7 +8,7 @@ - FlyteAdmin — Flyte 0.6.0 documentation + FlyteAdmin — Flyte 0.7.0 documentation diff --git a/contributor/components/admin_service.html b/contributor/components/admin_service.html index a7c8f38b11..b494522fef 100644 --- a/contributor/components/admin_service.html +++ b/contributor/components/admin_service.html @@ -8,7 +8,7 @@ - FlyteAdmin Service Background — Flyte 0.6.0 documentation + FlyteAdmin Service Background — Flyte 0.7.0 documentation diff --git a/contributor/components/catalog.html b/contributor/components/catalog.html index eaac376cec..db52a1e159 100644 --- a/contributor/components/catalog.html +++ b/contributor/components/catalog.html @@ -8,7 +8,7 @@ - What is Data Catalog? — Flyte 0.6.0 documentation + What is Data Catalog? — Flyte 0.7.0 documentation diff --git a/contributor/components/console.html b/contributor/components/console.html index 48b9439417..18698e9bef 100644 --- a/contributor/components/console.html +++ b/contributor/components/console.html @@ -8,7 +8,7 @@ - Flyte Console — Flyte 0.6.0 documentation + Flyte Console — Flyte 0.7.0 documentation diff --git a/contributor/components/index.html b/contributor/components/index.html index 79ca306c7c..728cba1afd 100644 --- a/contributor/components/index.html +++ b/contributor/components/index.html @@ -8,7 +8,7 @@ - Flyte System Components — Flyte 0.6.0 documentation + Flyte System Components — Flyte 0.7.0 documentation diff --git a/contributor/docs/index.html b/contributor/docs/index.html index 95c8736b00..b09bff8b8d 100644 --- a/contributor/docs/index.html +++ b/contributor/docs/index.html @@ -8,7 +8,7 @@ - Contributing to Docs — Flyte 0.6.0 documentation + Contributing to Docs — Flyte 0.7.0 documentation diff --git a/contributor/extending/index.html b/contributor/extending/index.html index e10f9e73e5..dc60b02f97 100644 --- a/contributor/extending/index.html +++ b/contributor/extending/index.html @@ -8,7 +8,7 @@ - Extending Flyte — Flyte 0.6.0 documentation + Extending Flyte — Flyte 0.7.0 documentation diff --git a/contributor/index.html b/contributor/index.html index 64c2bde8fa..c3125691a7 100644 --- a/contributor/index.html +++ b/contributor/index.html @@ -8,7 +8,7 @@ - Contributor Docs — Flyte 0.6.0 documentation + Contributor Docs — Flyte 0.7.0 documentation diff --git a/contributor/language/index.html b/contributor/language/index.html index af74d0b6a4..932908dde1 100644 --- a/contributor/language/index.html +++ b/contributor/language/index.html @@ -8,7 +8,7 @@ - Flyte Specification Language — Flyte 0.6.0 documentation + Flyte Specification Language — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/common.proto.html b/flyteidl/admin/common.proto.html index 8bf2fa400b..6e11ae6128 100644 --- a/flyteidl/admin/common.proto.html +++ b/flyteidl/admin/common.proto.html @@ -8,7 +8,7 @@ - common.proto — Flyte 0.6.0 documentation + common.proto — Flyte 0.7.0 documentation @@ -118,6 +118,7 @@
  • flyteidl.admin.Labels
  • flyteidl.admin.Annotations
  • flyteidl.admin.AuthRole
  • +
  • flyteidl.admin.RawOutputDataConfig
  • Enum flyteidl.admin.NamedEntityState
  • @@ -704,6 +705,22 @@
    +
    +

    flyteidl.admin.RawOutputDataConfig

    +

    [flyteidl.admin.RawOutputDataConfig proto]

    +

    Encapsulates user settings pertaining to offloaded data (i.e. Blobs, Schema, query data, etc.). +See https://github.com/lyft/flyte/issues/211 for more background information.

    +
    {
    +  "output_location_prefix": "..."
    +}
    +
    +
    +
    +
    output_location_prefix

    (string) Prefix for where offloaded data from user workflows will be written +e.g. s3://bucket/key or s3://bucket/

    +
    +
    +

    Enum flyteidl.admin.NamedEntityState

    [flyteidl.admin.NamedEntityState proto]

    diff --git a/flyteidl/admin/event.proto.html b/flyteidl/admin/event.proto.html index 5ce6c221bb..57988537da 100644 --- a/flyteidl/admin/event.proto.html +++ b/flyteidl/admin/event.proto.html @@ -8,7 +8,7 @@ - event.proto — Flyte 0.6.0 documentation + event.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/execution.proto.html b/flyteidl/admin/execution.proto.html index d9adbb8dd5..510f47554a 100644 --- a/flyteidl/admin/execution.proto.html +++ b/flyteidl/admin/execution.proto.html @@ -8,7 +8,7 @@ - execution.proto — Flyte 0.6.0 documentation + execution.proto — Flyte 0.7.0 documentation @@ -683,7 +683,9 @@

    Response structure for WorkflowExecutionGetDataRequest which contains inputs and outputs for an execution.

    {
       "outputs": "{...}",
    -  "inputs": "{...}"
    +  "inputs": "{...}",
    +  "full_inputs": "{...}",
    +  "full_outputs": "{...}"
     }
     
    @@ -695,6 +697,14 @@
    inputs

    (flyteidl.admin.UrlBlob) Signed url to fetch a core.LiteralMap of execution inputs.

    +
    +
    full_inputs

    (flyteidl.core.LiteralMap) Optional, full_inputs will only be populated if they are under a configured size threshold.

    +
    +
    +
    +
    full_outputs

    (flyteidl.core.LiteralMap) Optional, full_outputs will only be populated if they are under a configured size threshold.

    +
    +
    diff --git a/flyteidl/admin/index.html b/flyteidl/admin/index.html index 2645f2686e..3be7dd6074 100644 --- a/flyteidl/admin/index.html +++ b/flyteidl/admin/index.html @@ -8,7 +8,7 @@ - Flyte Admin Service entities — Flyte 0.6.0 documentation + Flyte Admin Service entities — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/launch_plan.proto.html b/flyteidl/admin/launch_plan.proto.html index ec522c0b63..34852be473 100644 --- a/flyteidl/admin/launch_plan.proto.html +++ b/flyteidl/admin/launch_plan.proto.html @@ -8,7 +8,7 @@ - launch_plan.proto — Flyte 0.6.0 documentation + launch_plan.proto — Flyte 0.7.0 documentation @@ -305,7 +305,7 @@

    flyteidl.admin.LaunchPlanSpec

    -

    [flyteidl.admin.LaunchPlanSpec proto]

    +

    [flyteidl.admin.LaunchPlanSpec proto]

    User-provided launch plan definition and configuration values.

    {
       "workflow_id": "{...}",
    @@ -317,7 +317,8 @@
       "annotations": "{...}",
       "auth": "{...}",
       "auth_role": "{...}",
    -  "quality_of_service": "{...}"
    +  "quality_of_service": "{...}",
    +  "raw_output_data_config": "{...}"
     }
     
    @@ -361,10 +362,14 @@
    quality_of_service

    (flyteidl.core.QualityOfService) Indicates the runtime priority of the execution.

    +
    +
    raw_output_data_config

    (flyteidl.admin.RawOutputDataConfig)

    +
    +

    flyteidl.admin.LaunchPlanClosure

    -

    [flyteidl.admin.LaunchPlanClosure proto]

    +

    [flyteidl.admin.LaunchPlanClosure proto]

    Values computed by the flyte platform after launch plan registration. These include expected_inputs required to be present in a CreateExecutionRequest to launch the reference workflow as well timestamp values associated with the launch plan.

    @@ -400,7 +405,7 @@

    flyteidl.admin.LaunchPlanMetadata

    -

    [flyteidl.admin.LaunchPlanMetadata proto]

    +

    [flyteidl.admin.LaunchPlanMetadata proto]

    Additional launch plan attributes included in the LaunchPlanSpec not strictly required to launch the reference workflow.

    {
    @@ -420,7 +425,7 @@
     

    flyteidl.admin.LaunchPlanUpdateRequest

    -

    [flyteidl.admin.LaunchPlanUpdateRequest proto]

    +

    [flyteidl.admin.LaunchPlanUpdateRequest proto]

    Request to set the referenced launch plan state to the configured value.

    {
       "id": "{...}",
    @@ -439,7 +444,7 @@
     

    flyteidl.admin.LaunchPlanUpdateResponse

    -

    [flyteidl.admin.LaunchPlanUpdateResponse proto]

    +

    [flyteidl.admin.LaunchPlanUpdateResponse proto]

    Purposefully empty, may be populated in the future.

    {}
     
    @@ -447,7 +452,7 @@

    flyteidl.admin.ActiveLaunchPlanRequest

    -

    [flyteidl.admin.ActiveLaunchPlanRequest proto]

    +

    [flyteidl.admin.ActiveLaunchPlanRequest proto]

    Represents a request struct for finding an active launch plan for a given NamedEntityIdentifier

    {
       "id": "{...}"
    @@ -461,7 +466,7 @@
     

    flyteidl.admin.ActiveLaunchPlanListRequest

    -

    [flyteidl.admin.ActiveLaunchPlanListRequest proto]

    +

    [flyteidl.admin.ActiveLaunchPlanListRequest proto]

    Represents a request structure to list active launch plans within a project/domain.

    {
       "project": "...",
    diff --git a/flyteidl/admin/matchable_resource.proto.html b/flyteidl/admin/matchable_resource.proto.html
    index c322290607..1f0e4d6115 100644
    --- a/flyteidl/admin/matchable_resource.proto.html
    +++ b/flyteidl/admin/matchable_resource.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  matchable_resource.proto — Flyte 0.6.0 documentation
    +  matchable_resource.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/admin/node_execution.proto.html b/flyteidl/admin/node_execution.proto.html
    index bb8badceb5..d9a4ed2eef 100644
    --- a/flyteidl/admin/node_execution.proto.html
    +++ b/flyteidl/admin/node_execution.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  node_execution.proto — Flyte 0.6.0 documentation
    +  node_execution.proto — Flyte 0.7.0 documentation
       
     
       
    @@ -207,7 +207,7 @@
     

    node_execution.proto

    flyteidl.admin.NodeExecutionGetRequest

    -

    [flyteidl.admin.NodeExecutionGetRequest proto]

    +

    [flyteidl.admin.NodeExecutionGetRequest proto]

    A message used to fetch a single node execution entity.

    {
       "id": "{...}"
    @@ -221,7 +221,7 @@
     

    flyteidl.admin.NodeExecutionListRequest

    -

    [flyteidl.admin.NodeExecutionListRequest proto]

    +

    [flyteidl.admin.NodeExecutionListRequest proto]

    Represents a request structure to retrieve a list of node execution entities.

    {
       "workflow_execution_id": "{...}",
    @@ -266,7 +266,7 @@
     

    flyteidl.admin.NodeExecutionForTaskListRequest

    -

    [flyteidl.admin.NodeExecutionForTaskListRequest proto]

    +

    [flyteidl.admin.NodeExecutionForTaskListRequest proto]

    Represents a request structure to retrieve a list of node execution entities launched by a specific task.

    {
       "task_execution_id": "{...}",
    @@ -305,7 +305,7 @@
     

    flyteidl.admin.NodeExecution

    -

    [flyteidl.admin.NodeExecution proto]

    +

    [flyteidl.admin.NodeExecution proto]

    Encapsulates all details for a single node execution entity. A node represents a component in the overall workflow graph. A node launch a task, multiple tasks, an entire nested sub-workflow, or even a separate child-workflow execution. @@ -337,7 +337,7 @@

    flyteidl.admin.NodeExecutionMetaData

    -

    [flyteidl.admin.NodeExecutionMetaData proto]

    +

    [flyteidl.admin.NodeExecutionMetaData proto]

    Represents additional attributes related to a Node Execution

    {
       "retry_group": "...",
    @@ -363,7 +363,7 @@
     

    flyteidl.admin.NodeExecutionList

    -

    [flyteidl.admin.NodeExecutionList proto]

    +

    [flyteidl.admin.NodeExecutionList proto]

    Request structure to retrieve a list of node execution entities.

    {
       "node_executions": [],
    @@ -383,7 +383,7 @@
     

    flyteidl.admin.NodeExecutionClosure

    -

    [flyteidl.admin.NodeExecutionClosure proto]

    +

    [flyteidl.admin.NodeExecutionClosure proto]

    Container for node execution details and results.

    {
       "output_uri": "...",
    @@ -447,7 +447,7 @@
     

    flyteidl.admin.WorkflowNodeMetadata

    -

    [flyteidl.admin.WorkflowNodeMetadata proto]

    +

    [flyteidl.admin.WorkflowNodeMetadata proto]

    Metadata for a WorkflowNode

    {
       "executionId": "{...}"
    @@ -461,7 +461,7 @@
     

    flyteidl.admin.TaskNodeMetadata

    -

    [flyteidl.admin.TaskNodeMetadata proto]

    +

    [flyteidl.admin.TaskNodeMetadata proto]

    Metadata for the case in which the node is a TaskNode

    {
       "cache_status": "...",
    @@ -480,7 +480,7 @@
     

    flyteidl.admin.NodeExecutionGetDataRequest

    -

    [flyteidl.admin.NodeExecutionGetDataRequest proto]

    +

    [flyteidl.admin.NodeExecutionGetDataRequest proto]

    Request structure to fetch inputs and output urls for a node execution.

    {
       "id": "{...}"
    @@ -494,11 +494,13 @@
     

    flyteidl.admin.NodeExecutionGetDataResponse

    -

    [flyteidl.admin.NodeExecutionGetDataResponse proto]

    +

    [flyteidl.admin.NodeExecutionGetDataResponse proto]

    Response structure for NodeExecutionGetDataRequest which contains inputs and outputs for a node execution.

    {
       "inputs": "{...}",
    -  "outputs": "{...}"
    +  "outputs": "{...}",
    +  "full_inputs": "{...}",
    +  "full_outputs": "{...}"
     }
     
    @@ -510,6 +512,14 @@
    outputs

    (flyteidl.admin.UrlBlob) Signed url to fetch a core.LiteralMap of node execution outputs.

    +
    +
    full_inputs

    (flyteidl.core.LiteralMap) Optional, full_inputs will only be populated if they are under a configured size threshold.

    +
    +
    +
    +
    full_outputs

    (flyteidl.core.LiteralMap) Optional, full_outputs will only be populated if they are under a configured size threshold.

    +
    +
    diff --git a/flyteidl/admin/notification.proto.html b/flyteidl/admin/notification.proto.html index 8c9ff90319..c513754c10 100644 --- a/flyteidl/admin/notification.proto.html +++ b/flyteidl/admin/notification.proto.html @@ -8,7 +8,7 @@ - notification.proto — Flyte 0.6.0 documentation + notification.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/project.proto.html b/flyteidl/admin/project.proto.html index fb9e333135..6b84ff4edf 100644 --- a/flyteidl/admin/project.proto.html +++ b/flyteidl/admin/project.proto.html @@ -8,7 +8,7 @@ - project.proto — Flyte 0.6.0 documentation + project.proto — Flyte 0.7.0 documentation @@ -109,6 +109,7 @@
  • flyteidl.admin.ProjectListRequest
  • flyteidl.admin.ProjectRegisterRequest
  • flyteidl.admin.ProjectRegisterResponse
  • +
  • flyteidl.admin.ProjectUpdateResponse
  • project_domain_attributes.proto
  • @@ -202,7 +203,7 @@

    project.proto

    flyteidl.admin.Domain

    -

    [flyteidl.admin.Domain proto]

    +

    [flyteidl.admin.Domain proto]

    Namespace within a project commonly used to differentiate between different service instances. e.g. “production”, “development”, etc.

    {
    @@ -222,13 +223,14 @@
     

    flyteidl.admin.Project

    -

    [flyteidl.admin.Project proto]

    +

    [flyteidl.admin.Project proto]

    Top-level namespace used to classify different entities like workflows and executions.

    {
       "id": "...",
       "name": "...",
       "domains": [],
    -  "description": "..."
    +  "description": "...",
    +  "labels": "{...}"
     }
     
    @@ -248,10 +250,15 @@
    description

    (string)

    +
    +
    labels

    (flyteidl.admin.Labels) Leverage Labels from flyteidel.admin.common.proto to +tag projects with ownership information.

    +
    +

    flyteidl.admin.Projects

    -

    [flyteidl.admin.Projects proto]

    +

    [flyteidl.admin.Projects proto]

    {
       "projects": []
     }
    @@ -264,14 +271,14 @@
     

    flyteidl.admin.ProjectRegisterRequest

    -

    [flyteidl.admin.ProjectRegisterRequest proto]

    +

    [flyteidl.admin.ProjectRegisterRequest proto]

    {
       "project": "{...}"
     }
    @@ -284,7 +291,14 @@
     
    +
    +

    flyteidl.admin.ProjectUpdateResponse

    +

    [flyteidl.admin.ProjectUpdateResponse proto]

    {}
     
    diff --git a/flyteidl/admin/project_domain_attributes.proto.html b/flyteidl/admin/project_domain_attributes.proto.html index 9fc198a8c1..ac7137fa2b 100644 --- a/flyteidl/admin/project_domain_attributes.proto.html +++ b/flyteidl/admin/project_domain_attributes.proto.html @@ -8,7 +8,7 @@ - project_domain_attributes.proto — Flyte 0.6.0 documentation + project_domain_attributes.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/schedule.proto.html b/flyteidl/admin/schedule.proto.html index a1b7d5e7ab..4ad39362a7 100644 --- a/flyteidl/admin/schedule.proto.html +++ b/flyteidl/admin/schedule.proto.html @@ -8,7 +8,7 @@ - schedule.proto — Flyte 0.6.0 documentation + schedule.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/task.proto.html b/flyteidl/admin/task.proto.html index 74885d3860..fc519230fe 100644 --- a/flyteidl/admin/task.proto.html +++ b/flyteidl/admin/task.proto.html @@ -8,7 +8,7 @@ - task.proto — Flyte 0.6.0 documentation + task.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/task_execution.proto.html b/flyteidl/admin/task_execution.proto.html index bb40983c27..39043e7cab 100644 --- a/flyteidl/admin/task_execution.proto.html +++ b/flyteidl/admin/task_execution.proto.html @@ -8,7 +8,7 @@ - task_execution.proto — Flyte 0.6.0 documentation + task_execution.proto — Flyte 0.7.0 documentation @@ -203,7 +203,7 @@

    task_execution.proto

    flyteidl.admin.TaskExecutionGetRequest

    -

    [flyteidl.admin.TaskExecutionGetRequest proto]

    +

    [flyteidl.admin.TaskExecutionGetRequest proto]

    A message used to fetch a single task execution entity.

    {
       "id": "{...}"
    @@ -217,7 +217,7 @@
     

    flyteidl.admin.TaskExecutionListRequest

    -

    [flyteidl.admin.TaskExecutionListRequest proto]

    +

    [flyteidl.admin.TaskExecutionListRequest proto]

    Represents a request structure to retrieve a list of task execution entities.

    {
       "node_execution_id": "{...}",
    @@ -256,7 +256,7 @@
     

    flyteidl.admin.TaskExecution

    -

    [flyteidl.admin.TaskExecution proto]

    +

    [flyteidl.admin.TaskExecution proto]

    Encapsulates all details for a single task execution entity. A task execution represents an instantiated task, including all inputs and additional metadata as well as computed results included state, outputs, and duration-based attributes.

    @@ -287,7 +287,7 @@

    flyteidl.admin.TaskExecutionList

    -

    [flyteidl.admin.TaskExecutionList proto]

    +

    [flyteidl.admin.TaskExecutionList proto]

    Response structure for a query to list of task execution entities.

    {
       "task_executions": [],
    @@ -307,7 +307,7 @@
     

    flyteidl.admin.TaskExecutionClosure

    -

    [flyteidl.admin.TaskExecutionClosure proto]

    +

    [flyteidl.admin.TaskExecutionClosure proto]

    Container for task execution details and results.

    {
       "output_uri": "...",
    @@ -363,7 +363,7 @@
     

    flyteidl.admin.TaskExecutionGetDataRequest

    -

    [flyteidl.admin.TaskExecutionGetDataRequest proto]

    +

    [flyteidl.admin.TaskExecutionGetDataRequest proto]

    Request structure to fetch inputs and output urls for a task execution.

    {
       "id": "{...}"
    @@ -377,11 +377,13 @@
     

    flyteidl.admin.TaskExecutionGetDataResponse

    -

    [flyteidl.admin.TaskExecutionGetDataResponse proto]

    +

    [flyteidl.admin.TaskExecutionGetDataResponse proto]

    Response structure for TaskExecutionGetDataRequest which contains inputs and outputs for a task execution.

    {
       "inputs": "{...}",
    -  "outputs": "{...}"
    +  "outputs": "{...}",
    +  "full_inputs": "{...}",
    +  "full_outputs": "{...}"
     }
     
    @@ -393,6 +395,14 @@
    outputs

    (flyteidl.admin.UrlBlob) Signed url to fetch a core.LiteralMap of task execution outputs.

    +
    +
    full_inputs

    (flyteidl.core.LiteralMap) Optional, full_inputs will only be populated if they are under a configured size threshold.

    +
    +
    +
    +
    full_outputs

    (flyteidl.core.LiteralMap) Optional, full_outputs will only be populated if they are under a configured size threshold.

    +
    +
    diff --git a/flyteidl/admin/workflow.proto.html b/flyteidl/admin/workflow.proto.html index b23e3db064..8da97e6587 100644 --- a/flyteidl/admin/workflow.proto.html +++ b/flyteidl/admin/workflow.proto.html @@ -8,7 +8,7 @@ - workflow.proto — Flyte 0.6.0 documentation + workflow.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/admin/workflow_attributes.proto.html b/flyteidl/admin/workflow_attributes.proto.html index 1b19964c31..29e68a0257 100644 --- a/flyteidl/admin/workflow_attributes.proto.html +++ b/flyteidl/admin/workflow_attributes.proto.html @@ -8,7 +8,7 @@ - workflow_attributes.proto — Flyte 0.6.0 documentation + workflow_attributes.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/catalog.proto.html b/flyteidl/core/catalog.proto.html index d93c51a94e..62d5ac2f2e 100644 --- a/flyteidl/core/catalog.proto.html +++ b/flyteidl/core/catalog.proto.html @@ -8,7 +8,7 @@ - catalog.proto — Flyte 0.6.0 documentation + catalog.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/compiler.proto.html b/flyteidl/core/compiler.proto.html index 164d6a79be..3930c08002 100644 --- a/flyteidl/core/compiler.proto.html +++ b/flyteidl/core/compiler.proto.html @@ -8,7 +8,7 @@ - compiler.proto — Flyte 0.6.0 documentation + compiler.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/condition.proto.html b/flyteidl/core/condition.proto.html index 268d093665..35b5ab0586 100644 --- a/flyteidl/core/condition.proto.html +++ b/flyteidl/core/condition.proto.html @@ -8,7 +8,7 @@ - condition.proto — Flyte 0.6.0 documentation + condition.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/dynamic_job.proto.html b/flyteidl/core/dynamic_job.proto.html index 01c7dcf13b..08864d36db 100644 --- a/flyteidl/core/dynamic_job.proto.html +++ b/flyteidl/core/dynamic_job.proto.html @@ -8,7 +8,7 @@ - dynamic_job.proto — Flyte 0.6.0 documentation + dynamic_job.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/errors.proto.html b/flyteidl/core/errors.proto.html index 2518dfd024..857ea43e18 100644 --- a/flyteidl/core/errors.proto.html +++ b/flyteidl/core/errors.proto.html @@ -8,7 +8,7 @@ - errors.proto — Flyte 0.6.0 documentation + errors.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/execution.proto.html b/flyteidl/core/execution.proto.html index 464d2dba04..70fc298cf4 100644 --- a/flyteidl/core/execution.proto.html +++ b/flyteidl/core/execution.proto.html @@ -8,7 +8,7 @@ - execution.proto — Flyte 0.6.0 documentation + execution.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/identifier.proto.html b/flyteidl/core/identifier.proto.html index a136fd74a0..5b7a972c71 100644 --- a/flyteidl/core/identifier.proto.html +++ b/flyteidl/core/identifier.proto.html @@ -8,7 +8,7 @@ - identifier.proto — Flyte 0.6.0 documentation + identifier.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/index.html b/flyteidl/core/index.html index 887c5e0e64..903bb4d012 100644 --- a/flyteidl/core/index.html +++ b/flyteidl/core/index.html @@ -8,7 +8,7 @@ - Core Flyte language specification — Flyte 0.6.0 documentation + Core Flyte language specification — Flyte 0.7.0 documentation diff --git a/flyteidl/core/interface.proto.html b/flyteidl/core/interface.proto.html index 850ae365d3..3889348f21 100644 --- a/flyteidl/core/interface.proto.html +++ b/flyteidl/core/interface.proto.html @@ -8,7 +8,7 @@ - interface.proto — Flyte 0.6.0 documentation + interface.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/literals.proto.html b/flyteidl/core/literals.proto.html index c9791c2e2c..a14a634816 100644 --- a/flyteidl/core/literals.proto.html +++ b/flyteidl/core/literals.proto.html @@ -8,7 +8,7 @@ - literals.proto — Flyte 0.6.0 documentation + literals.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/tasks.proto.html b/flyteidl/core/tasks.proto.html index 8a589720c6..f0378224cd 100644 --- a/flyteidl/core/tasks.proto.html +++ b/flyteidl/core/tasks.proto.html @@ -8,7 +8,7 @@ - tasks.proto — Flyte 0.6.0 documentation + tasks.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/types.proto.html b/flyteidl/core/types.proto.html index da0eecc6a3..2b1a64454c 100644 --- a/flyteidl/core/types.proto.html +++ b/flyteidl/core/types.proto.html @@ -8,7 +8,7 @@ - types.proto — Flyte 0.6.0 documentation + types.proto — Flyte 0.7.0 documentation diff --git a/flyteidl/core/workflow.proto.html b/flyteidl/core/workflow.proto.html index c40f9b3319..07663b4ec3 100644 --- a/flyteidl/core/workflow.proto.html +++ b/flyteidl/core/workflow.proto.html @@ -8,7 +8,7 @@ - workflow.proto — Flyte 0.6.0 documentation + workflow.proto — Flyte 0.7.0 documentation @@ -421,8 +421,9 @@

    flyteidl.core.WorkflowMetadata

    -

    [flyteidl.core.WorkflowMetadata proto]

    -

    Metadata for the entire workflow. Defines execution behavior that does not change the final outputs of the workflow.

    +

    [flyteidl.core.WorkflowMetadata proto]

    +

    This is workflow layer metadata. These settings are only applicable to the workflow as a whole, and do not +percolate down to child entities (like tasks) launched by the workflow.

    {
       "quality_of_service": "{...}",
       "on_failure": "..."
    @@ -440,7 +441,7 @@
     

    Enum flyteidl.core.WorkflowMetadata.OnFailurePolicy

    -

    [flyteidl.core.WorkflowMetadata.OnFailurePolicy proto]

    +

    [flyteidl.core.WorkflowMetadata.OnFailurePolicy proto]

    Failure Handling Strategy

    FAIL_IMMEDIATELY

    (DEFAULT) ⁣FAIL_IMMEDIATELY instructs the system to fail as soon as a node fails in the workflow. It’ll automatically @@ -458,23 +459,26 @@

    flyteidl.core.WorkflowMetadataDefaults

    -

    [flyteidl.core.WorkflowMetadataDefaults proto]

    -

    Default Workflow Metadata for the entire workflow.

    +

    [flyteidl.core.WorkflowMetadataDefaults proto]

    +

    The difference between these settings and the WorkflowMetadata ones is that these are meant to be passed down to +a workflow’s underlying entities (like tasks). For instance, ‘interruptible’ has no meaning at the workflow layer, it +is only relevant when a task executes. The settings here are the defaults that are passed to all nodes +unless explicitly overridden at the node layer. +If you are adding a setting that applies to both the Workflow itself, and everything underneath it, it should be +added to both this object and the WorkflowMetadata object above.

    {
       "interruptible": "..."
     }
     
    -
    interruptible

    (bool) Identify whether workflow is interruptible. -The value set at the workflow level will be the defualt value used for nodes -unless explicitly set at the node level.

    +
    interruptible

    (bool) Whether child nodes of the workflow are interruptible.

    flyteidl.core.WorkflowTemplate

    -

    [flyteidl.core.WorkflowTemplate proto]

    +

    [flyteidl.core.WorkflowTemplate proto]

    Flyte Workflow Structure that encapsulates task, branch and subworkflow nodes to form a statically analyzable, directed acyclic graph.

    {
    diff --git a/flyteidl/core/workflow_closure.proto.html b/flyteidl/core/workflow_closure.proto.html
    index a469596b66..50dc00a150 100644
    --- a/flyteidl/core/workflow_closure.proto.html
    +++ b/flyteidl/core/workflow_closure.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  workflow_closure.proto — Flyte 0.6.0 documentation
    +  workflow_closure.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/event/event.proto.html b/flyteidl/event/event.proto.html
    index 1393cbbafc..b2125c811e 100644
    --- a/flyteidl/event/event.proto.html
    +++ b/flyteidl/event/event.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  event.proto — Flyte 0.6.0 documentation
    +  event.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/event/index.html b/flyteidl/event/index.html
    index 42540e6e9d..c76f6dae28 100644
    --- a/flyteidl/event/index.html
    +++ b/flyteidl/event/index.html
    @@ -8,7 +8,7 @@
       
       
       
    -  Flyte Internal and External Eventing interface — Flyte 0.6.0 documentation
    +  Flyte Internal and External Eventing interface — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/index.html b/flyteidl/index.html
    index ef0fef410d..285599f889 100644
    --- a/flyteidl/index.html
    +++ b/flyteidl/index.html
    @@ -8,7 +8,7 @@
       
       
       
    -  Flyte Language and API specification — Flyte 0.6.0 documentation
    +  Flyte Language and API specification — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/array_job.proto.html b/flyteidl/plugins/array_job.proto.html
    index 1943915c26..91181eb2c0 100644
    --- a/flyteidl/plugins/array_job.proto.html
    +++ b/flyteidl/plugins/array_job.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  array_job.proto — Flyte 0.6.0 documentation
    +  array_job.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/index.html b/flyteidl/plugins/index.html
    index ecf18448e1..a2e77c531b 100644
    --- a/flyteidl/plugins/index.html
    +++ b/flyteidl/plugins/index.html
    @@ -8,7 +8,7 @@
       
       
       
    -  Flyte Task Plugins — Flyte 0.6.0 documentation
    +  Flyte Task Plugins — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/presto.proto.html b/flyteidl/plugins/presto.proto.html
    index f6f18efff3..2070412f6a 100644
    --- a/flyteidl/plugins/presto.proto.html
    +++ b/flyteidl/plugins/presto.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  presto.proto — Flyte 0.6.0 documentation
    +  presto.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/pytorch.proto.html b/flyteidl/plugins/pytorch.proto.html
    index 40db12846f..6b6446b9b5 100644
    --- a/flyteidl/plugins/pytorch.proto.html
    +++ b/flyteidl/plugins/pytorch.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  pytorch.proto — Flyte 0.6.0 documentation
    +  pytorch.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/qubole.proto.html b/flyteidl/plugins/qubole.proto.html
    index e607e4670e..39f744d01b 100644
    --- a/flyteidl/plugins/qubole.proto.html
    +++ b/flyteidl/plugins/qubole.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  qubole.proto — Flyte 0.6.0 documentation
    +  qubole.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto.html b/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto.html
    index 49822ea7d4..0d9c37d2af 100644
    --- a/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto.html
    +++ b/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  hyperparameter_tuning_job.proto — Flyte 0.6.0 documentation
    +  hyperparameter_tuning_job.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/sagemaker/index.html b/flyteidl/plugins/sagemaker/index.html
    index 530f58c1a6..5f409344b0 100644
    --- a/flyteidl/plugins/sagemaker/index.html
    +++ b/flyteidl/plugins/sagemaker/index.html
    @@ -8,7 +8,7 @@
       
       
       
    -  sagemaker — Flyte 0.6.0 documentation
    +  sagemaker — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/sagemaker/parameter_ranges.proto.html b/flyteidl/plugins/sagemaker/parameter_ranges.proto.html
    index 53e4772fa6..bf99c7ebea 100644
    --- a/flyteidl/plugins/sagemaker/parameter_ranges.proto.html
    +++ b/flyteidl/plugins/sagemaker/parameter_ranges.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  parameter_ranges.proto — Flyte 0.6.0 documentation
    +  parameter_ranges.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/sagemaker/training_job.proto.html b/flyteidl/plugins/sagemaker/training_job.proto.html
    index 6bf174a510..5a6e86d7cc 100644
    --- a/flyteidl/plugins/sagemaker/training_job.proto.html
    +++ b/flyteidl/plugins/sagemaker/training_job.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  training_job.proto — Flyte 0.6.0 documentation
    +  training_job.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/sidecar.proto.html b/flyteidl/plugins/sidecar.proto.html
    index 39dd0ab02d..520161a7a1 100644
    --- a/flyteidl/plugins/sidecar.proto.html
    +++ b/flyteidl/plugins/sidecar.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  sidecar.proto — Flyte 0.6.0 documentation
    +  sidecar.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/spark.proto.html b/flyteidl/plugins/spark.proto.html
    index 1a3854b03f..cd31a119d8 100644
    --- a/flyteidl/plugins/spark.proto.html
    +++ b/flyteidl/plugins/spark.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  spark.proto — Flyte 0.6.0 documentation
    +  spark.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/tensorflow.proto.html b/flyteidl/plugins/tensorflow.proto.html
    index 961a61deec..384a4d3b30 100644
    --- a/flyteidl/plugins/tensorflow.proto.html
    +++ b/flyteidl/plugins/tensorflow.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  tensorflow.proto — Flyte 0.6.0 documentation
    +  tensorflow.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/plugins/waitable.proto.html b/flyteidl/plugins/waitable.proto.html
    index 8bfdc0e8fd..4d1fb53215 100644
    --- a/flyteidl/plugins/waitable.proto.html
    +++ b/flyteidl/plugins/waitable.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  waitable.proto — Flyte 0.6.0 documentation
    +  waitable.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/service/admin.proto.html b/flyteidl/service/admin.proto.html
    index 242b57f6aa..323944f836 100644
    --- a/flyteidl/service/admin.proto.html
    +++ b/flyteidl/service/admin.proto.html
    @@ -8,7 +8,7 @@
       
       
       
    -  admin.proto — Flyte 0.6.0 documentation
    +  admin.proto — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flyteidl/service/index.html b/flyteidl/service/index.html
    index 8f34d4d734..77705d8ad8 100644
    --- a/flyteidl/service/index.html
    +++ b/flyteidl/service/index.html
    @@ -8,7 +8,7 @@
       
       
       
    -  REST and gRPC interface for the Flyte Admin Service — Flyte 0.6.0 documentation
    +  REST and gRPC interface for the Flyte Admin Service — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flytekit/flytekit.bin.html b/flytekit/flytekit.bin.html
    index 5c85058197..d944a1f041 100644
    --- a/flytekit/flytekit.bin.html
    +++ b/flytekit/flytekit.bin.html
    @@ -8,7 +8,7 @@
       
       
       
    -  flytekit.bin package — Flyte 0.6.0 documentation
    +  flytekit.bin package — Flyte 0.7.0 documentation
       
     
       
    diff --git a/flytekit/flytekit.clients.html b/flytekit/flytekit.clients.html
    index d4eeaa2235..f15a9924df 100644
    --- a/flytekit/flytekit.clients.html
    +++ b/flytekit/flytekit.clients.html
    @@ -8,7 +8,7 @@
       
       
       
    -  flytekit.clients package — Flyte 0.6.0 documentation
    +  flytekit.clients package — Flyte 0.7.0 documentation
       
     
       
    @@ -386,6 +386,16 @@ 

    Submodules +
    +get_project_domain_attributes(project, domain, resource_type)[source]
    +

    Fetches the custom attributes set for a project and domain combination. +:param Text project: +:param Text domain: +:param flytekit.models.MatchableResource resource_type: +:return:

    +
    +
    get_task(id)[source]
    @@ -447,6 +457,17 @@

    Submodules +
    +get_workflow_attributes(project, domain, workflow, resource_type)[source]
    +

    Fetches the custom attributes set for a project, domain, and workflow combination. +:param Text project: +:param Text domain: +:param Text workflow: +:param flytekit.models.MatchableResource resource_type: +:return:

    +

    +
    list_active_launch_plans_paginated(project, domain, limit=100, token=None, sort_by=None)[source]
    @@ -607,6 +628,14 @@

    Submodules +
    +list_matchable_attributes(resource_type)[source]
    +

    Fetches all custom attributes for a resource type. +:param flytekit.models.MatchableResource resource_type: +:return:

    +

    +
    list_node_executions(workflow_execution_identifier, limit=100, token=None, filters=None, sort_by=None)[source]
    @@ -1049,6 +1078,15 @@

    Submodules +
    +get_project_domain_attributes(**kwargs)[source]
    +

    Wraps rpc errors as Flyte exceptions and handles authentication the client. +:param args: +:param kwargs: +:return:

    +

    +
    get_task(**kwargs)[source]
    @@ -1085,6 +1123,15 @@

    Submodules +
    +get_workflow_attributes(**kwargs)[source]
    +

    Wraps rpc errors as Flyte exceptions and handles authentication the client. +:param args: +:param kwargs: +:return:

    +

    +
    list_active_launch_plans_paginated(**kwargs)[source]
    @@ -1121,6 +1168,15 @@

    Submodules +
    +list_matchable_attributes(**kwargs)[source]
    +

    Wraps rpc errors as Flyte exceptions and handles authentication the client. +:param args: +:param kwargs: +:return:

    +

    +
    list_node_executions_for_task_paginated(**kwargs)[source]
    diff --git a/flytekit/flytekit.clis.auth.html b/flytekit/flytekit.clis.auth.html index 97c97f39cc..90ab34e3cd 100644 --- a/flytekit/flytekit.clis.auth.html +++ b/flytekit/flytekit.clis.auth.html @@ -8,7 +8,7 @@ - flytekit.clis.auth package — Flyte 0.6.0 documentation + flytekit.clis.auth package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.clis.flyte_cli.html b/flytekit/flytekit.clis.flyte_cli.html index 6acd15f3b6..839277cdbd 100644 --- a/flytekit/flytekit.clis.flyte_cli.html +++ b/flytekit/flytekit.clis.flyte_cli.html @@ -8,7 +8,7 @@ - flytekit.clis.flyte_cli package — Flyte 0.6.0 documentation + flytekit.clis.flyte_cli package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.clis.html b/flytekit/flytekit.clis.html index a24a8b7745..ceaaab88a2 100644 --- a/flytekit/flytekit.clis.html +++ b/flytekit/flytekit.clis.html @@ -8,7 +8,7 @@ - flytekit.clis package — Flyte 0.6.0 documentation + flytekit.clis package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.clis.sdk_in_container.html b/flytekit/flytekit.clis.sdk_in_container.html index 6edd8c4d09..0e5c936124 100644 --- a/flytekit/flytekit.clis.sdk_in_container.html +++ b/flytekit/flytekit.clis.sdk_in_container.html @@ -8,7 +8,7 @@ - flytekit.clis.sdk_in_container package — Flyte 0.6.0 documentation + flytekit.clis.sdk_in_container package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.common.core.html b/flytekit/flytekit.common.core.html index 5f73bae254..72ce82fc15 100644 --- a/flytekit/flytekit.common.core.html +++ b/flytekit/flytekit.common.core.html @@ -8,7 +8,7 @@ - flytekit.common.core package — Flyte 0.6.0 documentation + flytekit.common.core package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.common.exceptions.html b/flytekit/flytekit.common.exceptions.html index 7091e92c50..16e313e83c 100644 --- a/flytekit/flytekit.common.exceptions.html +++ b/flytekit/flytekit.common.exceptions.html @@ -8,7 +8,7 @@ - flytekit.common.exceptions package — Flyte 0.6.0 documentation + flytekit.common.exceptions package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.common.html b/flytekit/flytekit.common.html index 28d174db8f..52fc21f4b6 100644 --- a/flytekit/flytekit.common.html +++ b/flytekit/flytekit.common.html @@ -8,7 +8,7 @@ - flytekit.common package — Flyte 0.6.0 documentation + flytekit.common package — Flyte 0.7.0 documentation @@ -223,8 +223,9 @@

    SubpackagesSubpackages

    +
    +
    +SAGEMAKER_CUSTOM_TRAINING_JOB_TASK = 'sagemaker_custom_training_job_task'
    +
    +
    SAGEMAKER_HYPERPARAMETER_TUNING_JOB_TASK = 'sagemaker_hyperparameter_tuning_job_task'
    @@ -665,6 +671,16 @@

    Submodules +
    +property raw_output_data_config
    +
    +
    Return type
    +

    flytekit.models.common.RawOutputDataConfig

    +
    +
    +

    +
    property resource_type
    @@ -691,7 +707,7 @@

    Submodules
    -class flytekit.common.launch_plan.SdkRunnableLaunchPlan(sdk_workflow, default_inputs=None, fixed_inputs=None, role=None, schedule=None, notifications=None, labels=None, annotations=None, auth_role=None)[source]
    +class flytekit.common.launch_plan.SdkRunnableLaunchPlan(sdk_workflow, default_inputs=None, fixed_inputs=None, role=None, schedule=None, notifications=None, labels=None, annotations=None, auth_role=None, raw_output_data_config=None)[source]

    Bases: flytekit.common.mixins.hash.HashOnReferenceMixin, flytekit.common.launch_plan.SdkLaunchPlan, flytekit.common.mixins.registerable.RegisterableEntity

    @@ -709,7 +725,7 @@

    Submodulesclassmethod from_flyte_idl(_)[source]

    Parameters
    -

    pb2_object (flyteidl.admin.launch_plan_pb2.LaunchPlanSpec) –

    +

    pb2 (flyteidl.admin.launch_plan_pb2.LaunchPlanSpec) –

    Return type

    LaunchPlanSpec

    @@ -1431,11 +1447,11 @@

    Submodules
    -class flytekit.common.workflow.SdkWorkflow(inputs, outputs, nodes, id=None, metadata=None, metadata_defaults=None, interface=None, output_bindings=None)[source]
    +class flytekit.common.workflow.SdkWorkflow(inputs, outputs, nodes, id=None, metadata=None, metadata_defaults=None, interface=None, output_bindings=None, disable_default_launch_plan=False)[source]

    Bases: flytekit.common.mixins.hash.HashOnReferenceMixin, flytekit.models.core.workflow.WorkflowTemplate, flytekit.common.mixins.registerable.RegisterableEntity

    -create_launch_plan(default_inputs=None, fixed_inputs=None, schedule=None, role=None, notifications=None, labels=None, annotations=None, assumable_iam_role=None, kubernetes_service_account=None, cls=None)[source]
    +create_launch_plan(default_inputs=None, fixed_inputs=None, schedule=None, role=None, notifications=None, labels=None, annotations=None, assumable_iam_role=None, kubernetes_service_account=None, raw_output_data_prefix=None, cls=None)[source]

    This method will create a launch plan object that can execute this workflow. :param dict[Text,flytekit.common.promise.Input] default_inputs: :param dict[Text,T] fixed_inputs: @@ -1449,7 +1465,12 @@

    Submodules +
    Return type
    +

    flytekit.common.launch_plan.SdkRunnableLaunchPlan

    +
    +

    @@ -1566,6 +1587,13 @@

    Submodules +
    +property should_create_default_launch_plan
    +

    Determines whether registration flow should create a default launch plan for this workflow or not. +:rtype: bool

    +

    +
    property upstream_entities
    @@ -1592,14 +1620,16 @@

    Submodules
    -flytekit.common.workflow.build_sdk_workflow_from_metaclass(metaclass, on_failure=None, cls=None)[source]
    +flytekit.common.workflow.build_sdk_workflow_from_metaclass(metaclass, on_failure=None, disable_default_launch_plan=False, cls=None)[source]
    Parameters
    • metaclass (T) –

    • cls – This is the class that will be instantiated from the inputs, outputs, and nodes. This will be used by users extending the base Flyte programming model. If set, it must be a subclass of SdkWorkflow.

    • -
    • flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy (on_failure) – [Optional] The execution policy when the workflow detects a failure.

    • +
    • on_failure (flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy) – [Optional] The execution policy +when the workflow detects a failure.

    • +
    • disable_default_launch_plan (bool) – Determines whether to create a default launch plan for the workflow or not.

    Return type
    diff --git a/flytekit/flytekit.common.mixins.html b/flytekit/flytekit.common.mixins.html index eb8f2c5506..ca15b29826 100644 --- a/flytekit/flytekit.common.mixins.html +++ b/flytekit/flytekit.common.mixins.html @@ -8,7 +8,7 @@ - flytekit.common.mixins package — Flyte 0.6.0 documentation + flytekit.common.mixins package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.common.tasks.html b/flytekit/flytekit.common.tasks.html index 5096d2b768..d21bf109cb 100644 --- a/flytekit/flytekit.common.tasks.html +++ b/flytekit/flytekit.common.tasks.html @@ -8,7 +8,7 @@ - flytekit.common.tasks package — Flyte 0.6.0 documentation + flytekit.common.tasks package — Flyte 0.7.0 documentation @@ -199,8 +199,9 @@

    Subpackagesflytekit.common.tasks.sagemaker package @@ -533,14 +534,20 @@

    Submodules
    class flytekit.common.tasks.sdk_dynamic.SdkDynamicTask(task_function, task_type, discovery_version, retries, interruptible, deprecated, storage_request, cpu_request, gpu_request, memory_request, storage_limit, cpu_limit, gpu_limit, memory_limit, discoverable, timeout, allowed_failure_ratio, max_concurrency, environment, custom)[source]
    -

    Bases: flytekit.common.tasks.sdk_runnable.SdkRunnableTask

    -

    This class includes the additional logic for building a task that executes parent-child tasks in Python code. It -has even more validation checks to ensure proper behavior than it’s superclasses.

    -

    Since an SdkDynamicTask is assumed to run by hooking into Python code, we will provide additional shortcuts and -methods on this object.

    +

    Bases: flytekit.common.tasks.sdk_dynamic.SdkDynamicTaskMixin, flytekit.common.tasks.sdk_runnable.SdkRunnableTask

    +

    This class includes the additional logic for building a task that executes +parent-child tasks in Python code.

    +

    + +
    +
    +class flytekit.common.tasks.sdk_dynamic.SdkDynamicTaskMixin(allowed_failure_ratio, max_concurrency)[source]
    +

    Bases: object

    +

    This mixin implements logic for building a task that executes +parent-child tasks in Python code.

    -
    -execute(context, inputs)[source]
    +
    +execute(context, inputs)[source]

    Executes batch task’s user code and produces futures file as well as all sub-task inputs.pb files.

    Parameters
    @@ -800,6 +807,14 @@

    Submodules

    flytekit.common.tasks.sidecar_task module

    +
    +
    +class flytekit.common.tasks.sidecar_task.SdkDynamicSidecarTask(task_function, task_type, discovery_version, retries, interruptible, deprecated, storage_request, cpu_request, gpu_request, memory_request, storage_limit, cpu_limit, gpu_limit, memory_limit, discoverable, timeout, allowed_failure_ratio, max_concurrency, environment, pod_spec=None, primary_container_name=None)[source]
    +

    Bases: flytekit.common.tasks.sdk_dynamic.SdkDynamicTaskMixin, flytekit.common.tasks.sidecar_task.SdkSidecarTask

    +

    This class includes the additional logic for building a task that runs as +a Sidecar Job and executes parent-child tasks.

    +
    +
    class flytekit.common.tasks.sidecar_task.SdkSidecarTask(task_function, task_type, discovery_version, retries, interruptible, deprecated, storage_request, cpu_request, gpu_request, memory_request, storage_limit, cpu_limit, gpu_limit, memory_limit, discoverable, timeout, environment, pod_spec=None, primary_container_name=None)[source]
    diff --git a/flytekit/flytekit.common.tasks.sagemaker.html b/flytekit/flytekit.common.tasks.sagemaker.html index de2f223bfe..18e758017b 100644 --- a/flytekit/flytekit.common.tasks.sagemaker.html +++ b/flytekit/flytekit.common.tasks.sagemaker.html @@ -8,7 +8,7 @@ - flytekit.common.tasks.sagemaker package — Flyte 0.6.0 documentation + flytekit.common.tasks.sagemaker package — Flyte 0.7.0 documentation @@ -198,28 +198,43 @@

    flytekit.common.tasks.sagemaker package

    Submodules

    -
    -

    flytekit.common.tasks.sagemaker.hpo_job_task module

    +
    +

    flytekit.common.tasks.sagemaker.built_in_training_job_task module

    -
    -class flytekit.common.tasks.sagemaker.hpo_job_task.SdkSimpleHyperparameterTuningJobTask(max_number_of_training_jobs: int, max_parallel_training_jobs: int, training_job: flytekit.common.tasks.sagemaker.training_job_task.SdkBuiltinAlgorithmTrainingJobTask, retries: int = 0, cacheable: bool = False, cache_version: str = '')[source]
    +
    +class flytekit.common.tasks.sagemaker.built_in_training_job_task.SdkBuiltinAlgorithmTrainingJobTask(training_job_resource_config: flytekit.models.sagemaker.training_job.TrainingJobResourceConfig, algorithm_specification: flytekit.models.sagemaker.training_job.AlgorithmSpecification, retries: int = 0, cacheable: bool = False, cache_version: str = '')[source]

    Bases: flytekit.common.tasks.task.SdkTask

    +
    +
    +property training_job_model
    +
    +
    -
    -

    flytekit.common.tasks.sagemaker.training_job_task module

    +
    +

    flytekit.common.tasks.sagemaker.custom_training_job_task module

    -
    -class flytekit.common.tasks.sagemaker.training_job_task.SdkBuiltinAlgorithmTrainingJobTask(training_job_resource_config: flytekit.models.sagemaker.training_job.TrainingJobResourceConfig, algorithm_specification: flytekit.models.sagemaker.training_job.AlgorithmSpecification, retries: int = 0, cacheable: bool = False, cache_version: str = '')[source]
    -

    Bases: flytekit.common.tasks.task.SdkTask

    +
    +class flytekit.common.tasks.sagemaker.custom_training_job_task.CustomTrainingJobTask(task_function, cache_version, retries, deprecated, storage_request, cpu_request, gpu_request, memory_request, storage_limit, cpu_limit, gpu_limit, memory_limit, cache, timeout, environment, algorithm_specification: flytekit.models.sagemaker.training_job.AlgorithmSpecification, training_job_resource_config: flytekit.models.sagemaker.training_job.TrainingJobResourceConfig)[source]
    +

    Bases: flytekit.common.tasks.sdk_runnable.SdkRunnableTask

    +

    CustomTrainJobTask defines a python task that can run on SageMaker bring your own container.

    -
    -property training_job_model
    +
    +property training_job_model
    +
    +
    +

    flytekit.common.tasks.sagemaker.hpo_job_task module

    +
    +
    +class flytekit.common.tasks.sagemaker.hpo_job_task.SdkSimpleHyperparameterTuningJobTask(max_number_of_training_jobs: int, max_parallel_training_jobs: int, training_job: Union[flytekit.common.tasks.sagemaker.built_in_training_job_task.SdkBuiltinAlgorithmTrainingJobTask, flytekit.common.tasks.sagemaker.custom_training_job_task.CustomTrainingJobTask], retries: int = 0, cacheable: bool = False, cache_version: str = '')[source]
    +

    Bases: flytekit.common.tasks.task.SdkTask

    +
    +

    Module contents

    diff --git a/flytekit/flytekit.common.types.html b/flytekit/flytekit.common.types.html index 41499a33c5..108e047790 100644 --- a/flytekit/flytekit.common.types.html +++ b/flytekit/flytekit.common.types.html @@ -8,7 +8,7 @@ - flytekit.common.types package — Flyte 0.6.0 documentation + flytekit.common.types package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.common.types.impl.html b/flytekit/flytekit.common.types.impl.html index fe04af04a2..9de812cb83 100644 --- a/flytekit/flytekit.common.types.impl.html +++ b/flytekit/flytekit.common.types.impl.html @@ -8,7 +8,7 @@ - flytekit.common.types.impl package — Flyte 0.6.0 documentation + flytekit.common.types.impl package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.configuration.html b/flytekit/flytekit.configuration.html index dbd3af528e..28114f40f7 100644 --- a/flytekit/flytekit.configuration.html +++ b/flytekit/flytekit.configuration.html @@ -8,7 +8,7 @@ - flytekit.configuration package — Flyte 0.6.0 documentation + flytekit.configuration package — Flyte 0.7.0 documentation @@ -209,6 +209,15 @@

    Submodules +
    +flytekit.configuration.auth.RAW_OUTPUT_DATA_PREFIX = <flytekit.configuration.common.FlyteStringConfigurationEntry object>
    +

    This is not output metadata but rather where users can specify an S3 or gcs path for offloaded data like blobs +and schemas.

    +

    The reason this setting is in this file is because it’s inextricably tied to a workflow’s role or service account, +since that is what ultimately gives the tasks the ability to write to certain buckets.

    +
    +

    flytekit.configuration.aws module

    diff --git a/flytekit/flytekit.contrib.html b/flytekit/flytekit.contrib.html index 40385e8d3c..c4ece4c5d8 100644 --- a/flytekit/flytekit.contrib.html +++ b/flytekit/flytekit.contrib.html @@ -8,7 +8,7 @@ - flytekit.contrib package — Flyte 0.6.0 documentation + flytekit.contrib package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.contrib.notebook.html b/flytekit/flytekit.contrib.notebook.html index d04377e09b..8f584074a4 100644 --- a/flytekit/flytekit.contrib.notebook.html +++ b/flytekit/flytekit.contrib.notebook.html @@ -8,7 +8,7 @@ - flytekit.contrib.notebook package — Flyte 0.6.0 documentation + flytekit.contrib.notebook package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.contrib.sensors.html b/flytekit/flytekit.contrib.sensors.html index 4eeb02eb92..abaadf6849 100644 --- a/flytekit/flytekit.contrib.sensors.html +++ b/flytekit/flytekit.contrib.sensors.html @@ -8,7 +8,7 @@ - flytekit.contrib.sensors package — Flyte 0.6.0 documentation + flytekit.contrib.sensors package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.engines.flyte.html b/flytekit/flytekit.engines.flyte.html index c0bb65c8a7..d9adbfbec6 100644 --- a/flytekit/flytekit.engines.flyte.html +++ b/flytekit/flytekit.engines.flyte.html @@ -8,7 +8,7 @@ - flytekit.engines.flyte package — Flyte 0.6.0 documentation + flytekit.engines.flyte package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.engines.html b/flytekit/flytekit.engines.html index 04b7198d24..4e964d9d00 100644 --- a/flytekit/flytekit.engines.html +++ b/flytekit/flytekit.engines.html @@ -8,7 +8,7 @@ - flytekit.engines package — Flyte 0.6.0 documentation + flytekit.engines package — Flyte 0.7.0 documentation @@ -706,7 +706,7 @@

    Submodules
    -class flytekit.engines.common.EngineContext(execution_date, tmp_dir, stats, execution_id, logging)[source]
    +class flytekit.engines.common.EngineContext(execution_date, tmp_dir, stats, execution_id, logging, raw_output_data_prefix=None)[source]

    Bases: object

    @@ -738,6 +738,11 @@

    Submodules +
    +property raw_output_data_prefix
    +

    +
    property stats
    diff --git a/flytekit/flytekit.engines.unit.html b/flytekit/flytekit.engines.unit.html index 57fa91bcd8..8a19d2293f 100644 --- a/flytekit/flytekit.engines.unit.html +++ b/flytekit/flytekit.engines.unit.html @@ -8,7 +8,7 @@ - flytekit.engines.unit package — Flyte 0.6.0 documentation + flytekit.engines.unit package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.html b/flytekit/flytekit.html index 1e3a29d362..aa6731172e 100644 --- a/flytekit/flytekit.html +++ b/flytekit/flytekit.html @@ -8,7 +8,7 @@ - flytekit package — Flyte 0.6.0 documentation + flytekit package — Flyte 0.7.0 documentation @@ -271,8 +271,9 @@

    SubpackagesSubpackages
    • flytekit.common.tasks.sagemaker package
    • @@ -504,6 +505,15 @@

      Subpackagesflytekit.sdk package
        +
      • Subpackages +
      • Submodules
      • flytekit.sdk.exceptions module
      • flytekit.sdk.spark_types module
      • diff --git a/flytekit/flytekit.interfaces.data.gcs.html b/flytekit/flytekit.interfaces.data.gcs.html index 04ade93196..18c98735b8 100644 --- a/flytekit/flytekit.interfaces.data.gcs.html +++ b/flytekit/flytekit.interfaces.data.gcs.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.gcs package — Flyte 0.6.0 documentation + flytekit.interfaces.data.gcs package — Flyte 0.7.0 documentation @@ -202,7 +202,7 @@

        Submodules

        flytekit.interfaces.data.gcs.gcs_proxy module

        -class flytekit.interfaces.data.gcs.gcs_proxy.GCSProxy[source]
        +class flytekit.interfaces.data.gcs.gcs_proxy.GCSProxy(raw_output_data_prefix_override: str = None)[source]

        Bases: flytekit.interfaces.data.common.DataProxy

        @@ -255,14 +255,16 @@

        Submodules
        -get_random_path()[source]
        -
        -
        Return type
        -

        Text

        -
        -
        +get_random_path() → str[source]

        +

        If this object was created with a raw output data prefix, usually set by Propeller/Plugins at execution time +and piped all the way here, it will be used instead of referencing the GCS_PREFIX configuration.

        +
        +
        +property raw_output_data_prefix_override
        +
        +
        upload(file_path, to_path)[source]
        diff --git a/flytekit/flytekit.interfaces.data.html b/flytekit/flytekit.interfaces.data.html index 7de0ea956d..47cc1537ee 100644 --- a/flytekit/flytekit.interfaces.data.html +++ b/flytekit/flytekit.interfaces.data.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data package — Flyte 0.6.0 documentation + flytekit.interfaces.data package — Flyte 0.7.0 documentation @@ -409,7 +409,7 @@

        Submodules
        -class flytekit.interfaces.data.data_proxy.RemoteDataContext(cloud_provider=None)[source]
        +class flytekit.interfaces.data.data_proxy.RemoteDataContext(cloud_provider=None, raw_output_data_prefix_override=None)[source]

        Bases: flytekit.interfaces.data.data_proxy._OutputDataContext

        diff --git a/flytekit/flytekit.interfaces.data.http.html b/flytekit/flytekit.interfaces.data.http.html index 82b0bf5a0d..27a1cf3bb7 100644 --- a/flytekit/flytekit.interfaces.data.http.html +++ b/flytekit/flytekit.interfaces.data.http.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.http package — Flyte 0.6.0 documentation + flytekit.interfaces.data.http package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.interfaces.data.local.html b/flytekit/flytekit.interfaces.data.local.html index 742b3de152..bbba9205d9 100644 --- a/flytekit/flytekit.interfaces.data.local.html +++ b/flytekit/flytekit.interfaces.data.local.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.local package — Flyte 0.6.0 documentation + flytekit.interfaces.data.local package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.interfaces.data.s3.html b/flytekit/flytekit.interfaces.data.s3.html index 5cab66c1d9..4bd295f2e9 100644 --- a/flytekit/flytekit.interfaces.data.s3.html +++ b/flytekit/flytekit.interfaces.data.s3.html @@ -8,7 +8,7 @@ - flytekit.interfaces.data.s3 package — Flyte 0.6.0 documentation + flytekit.interfaces.data.s3 package — Flyte 0.7.0 documentation @@ -202,7 +202,7 @@

        Submodules

        flytekit.interfaces.data.s3.s3proxy module

        -class flytekit.interfaces.data.s3.s3proxy.AwsS3Proxy[source]
        +class flytekit.interfaces.data.s3.s3proxy.AwsS3Proxy(raw_output_data_prefix_override: str = None)[source]

        Bases: flytekit.interfaces.data.common.DataProxy

        @@ -263,6 +263,11 @@

        Submodules +
        +property raw_output_data_prefix_override
        +

        +
        upload(file_path, to_path)[source]
        diff --git a/flytekit/flytekit.interfaces.html b/flytekit/flytekit.interfaces.html index ec6497e6e8..2b91cd7299 100644 --- a/flytekit/flytekit.interfaces.html +++ b/flytekit/flytekit.interfaces.html @@ -8,7 +8,7 @@ - flytekit.interfaces package — Flyte 0.6.0 documentation + flytekit.interfaces package — Flyte 0.7.0 documentation @@ -246,7 +246,7 @@

        Submodules

        flytekit.interfaces.random module

        -flytekit.interfaces.random.random = <random.Random object at 0x3210de8>
        +flytekit.interfaces.random.random = <random.Random object at 0x20f88e8>

        An instance of the global random number generator used by flytekit. Flytekit maintains it’s own random instance to ensure that calls to random.seed(…) do not affect the pseudo-random behavior of flytekit. This random should be used by flytekit components in all cases where random.random would have been used. Components who want additional diff --git a/flytekit/flytekit.interfaces.stats.html b/flytekit/flytekit.interfaces.stats.html index 70dd5706a1..f00e11286d 100644 --- a/flytekit/flytekit.interfaces.stats.html +++ b/flytekit/flytekit.interfaces.stats.html @@ -8,7 +8,7 @@ - flytekit.interfaces.stats package — Flyte 0.6.0 documentation + flytekit.interfaces.stats package — Flyte 0.7.0 documentation @@ -198,6 +198,13 @@

        Submodules

        flytekit.interfaces.stats.client module

        +
        +
        +class flytekit.interfaces.stats.client.DummyStatsClient(host='localhost', port=8125, prefix=None, maxudpsize=512, ipv6=False)[source]
        +

        Bases: statsd.client.udp.StatsClient

        +

        A dummy client for statsd.

        +
        +
        class flytekit.interfaces.stats.client.ScopeableStatsProxy(client, prefix=None)[source]
        diff --git a/flytekit/flytekit.models.admin.html b/flytekit/flytekit.models.admin.html index e78508a610..e7fd605349 100644 --- a/flytekit/flytekit.models.admin.html +++ b/flytekit/flytekit.models.admin.html @@ -8,7 +8,7 @@ - flytekit.models.admin package — Flyte 0.6.0 documentation + flytekit.models.admin package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.models.core.html b/flytekit/flytekit.models.core.html index 52ecbbc626..68f7981811 100644 --- a/flytekit/flytekit.models.core.html +++ b/flytekit/flytekit.models.core.html @@ -8,7 +8,7 @@ - flytekit.models.core package — Flyte 0.6.0 documentation + flytekit.models.core package — Flyte 0.7.0 documentation @@ -1805,7 +1805,7 @@

        Submodules - flytekit.models package — Flyte 0.6.0 documentation + flytekit.models package — Flyte 0.7.0 documentation @@ -713,6 +713,32 @@

        Submodules +
        +class flytekit.models.common.RawOutputDataConfig(output_location_prefix)[source]
        +

        Bases: flytekit.models.common.FlyteIdlEntity

        +
        +
        +classmethod from_flyte_idl(pb2)[source]
        +
        + +
        +
        +property output_location_prefix
        +
        + +
        +
        +to_flyte_idl()[source]
        +
        +
        Return type
        +

        flyteidl.admin.common_pb2.Auth

        +
        +
        +
        + +

        +
        class flytekit.models.common.SlackNotification(recipients_email)[source]
        @@ -1228,7 +1254,7 @@

        Submodules
        -class flytekit.models.execution.NodeExecutionGetDataResponse(inputs, outputs)[source]
        +class flytekit.models.execution.NodeExecutionGetDataResponse(inputs, outputs, full_inputs, full_outputs)[source]

        Bases: flytekit.models.execution._CommonDataResponse

        @@ -1296,7 +1322,7 @@

        Submodules
        -class flytekit.models.execution.TaskExecutionGetDataResponse(inputs, outputs)[source]
        +class flytekit.models.execution.TaskExecutionGetDataResponse(inputs, outputs, full_inputs, full_outputs)[source]

        Bases: flytekit.models.execution._CommonDataResponse

        @@ -1325,7 +1351,7 @@

        Submodules
        -class flytekit.models.execution.WorkflowExecutionGetDataResponse(inputs, outputs)[source]
        +class flytekit.models.execution.WorkflowExecutionGetDataResponse(inputs, outputs, full_inputs, full_outputs)[source]

        Bases: flytekit.models.execution._CommonDataResponse

        @@ -1897,7 +1923,7 @@

        Submodules
        -class flytekit.models.launch_plan.LaunchPlanSpec(workflow_id, entity_metadata, default_inputs, fixed_inputs, labels, annotations, auth_role)[source]
        +class flytekit.models.launch_plan.LaunchPlanSpec(workflow_id, entity_metadata, default_inputs, fixed_inputs, labels, annotations, auth_role, raw_output_data_config)[source]

        Bases: flytekit.models.common.FlyteIdlEntity

        @@ -1910,7 +1936,7 @@

        Submodules property auth_role

        The authorization method with which to execute the workflow. -:return: flytekit.models.common.Auth

        +:rtype: flytekit.models.common.Auth

        @@ -1939,10 +1965,10 @@

        Submodules
        -classmethod from_flyte_idl(pb2_object)[source]
        +classmethod from_flyte_idl(pb2)[source]
        Parameters
        -

        pb2_object (flyteidl.admin.launch_plan_pb2.LaunchPlanSpec) –

        +

        pb2 (flyteidl.admin.launch_plan_pb2.LaunchPlanSpec) –

        Return type

        LaunchPlanSpec

        @@ -1957,6 +1983,13 @@

        Submodules +
        +property raw_output_data_config
        +

        Where to store offloaded data like Blobs and Schemas +:rtype: flytekit.models.common.RawOutputDataConfig

        +

        +
        to_flyte_idl()[source]
        @@ -2899,6 +2932,63 @@

        Submodules +
        +class flytekit.models.matchable_resource.MatchableResource[source]
        +

        Bases: object

        +
        +
        +CLUSTER_RESOURCE = 1
        +
        + +
        +
        +EXECUTION_CLUSTER_LABEL = 3
        +
        + +
        +
        +EXECUTION_QUEUE = 2
        +
        + +
        +
        +QUALITY_OF_SERVICE_SPECIFICATION = 4
        +
        + +
        +
        +TASK_RESOURCE = 0
        +
        + +
        +
        +classmethod enum_to_string(val)[source]
        +
        +
        Parameters
        +

        val (int) –

        +
        +
        Return type
        +

        Text

        +
        +
        +
        + +
        +
        +classmethod string_to_enum(val)[source]
        +
        +
        Parameters
        +

        val (Text) –

        +
        +
        Return type
        +

        int

        +
        +
        +
        + +

        +
        class flytekit.models.matchable_resource.MatchingAttributes(cluster_resource_attributes=None, execution_queue_attributes=None, execution_cluster_label=None)[source]
        @@ -3794,7 +3884,7 @@

        Submodules
        -class flytekit.models.task.DataLoadingConfig(input_path: str, output_path: str, enabled: bool = True, format: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fb45a682438> = 2, io_strategy: flytekit.models.task.IOStrategy = None)[source]
        +class flytekit.models.task.DataLoadingConfig(input_path: str, output_path: str, enabled: bool = True, format: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7f551fa18a58> = 2, io_strategy: flytekit.models.task.IOStrategy = None)[source]

        Bases: flytekit.models.common.FlyteIdlEntity

        @@ -3825,7 +3915,7 @@

        Submodules
        -class flytekit.models.task.IOStrategy(download_mode: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fb45a682588> = 0, upload_mode: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fb45a6824e0> = 0)[source]
        +class flytekit.models.task.IOStrategy(download_mode: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7f551fa18908> = 0, upload_mode: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7f551fa18940> = 0)[source]

        Bases: flytekit.models.common.FlyteIdlEntity

        Provides methods to manage data in and out of the Raw container using Download Modes. This can only be used if DataLoadingConfig is enabled.

        diff --git a/flytekit/flytekit.models.sagemaker.html b/flytekit/flytekit.models.sagemaker.html index 85c61bd1b0..e5f17cbe86 100644 --- a/flytekit/flytekit.models.sagemaker.html +++ b/flytekit/flytekit.models.sagemaker.html @@ -8,7 +8,7 @@ - flytekit.models.sagemaker package — Flyte 0.6.0 documentation + flytekit.models.sagemaker package — Flyte 0.7.0 documentation @@ -584,7 +584,7 @@

        Submodules
        -class flytekit.models.sagemaker.training_job.AlgorithmSpecification(algorithm_name: int, algorithm_version: str, input_mode: int, metric_definitions: List[flytekit.models.sagemaker.training_job.MetricDefinition] = None, input_content_type: int = 0)[source]
        +class flytekit.models.sagemaker.training_job.AlgorithmSpecification(algorithm_name: int = 0, algorithm_version: str = '', input_mode: int = 0, metric_definitions: List[flytekit.models.sagemaker.training_job.MetricDefinition] = None, input_content_type: int = 0)[source]

        Bases: flytekit.models.common.FlyteIdlEntity

        Specifies the training algorithm to be used in the training job This object is mostly a pass-through, with a couple of exceptions include: (1) in Flyte, users don’t need to specify diff --git a/flytekit/flytekit.plugins.html b/flytekit/flytekit.plugins.html index 8c514c3644..deeef52f06 100644 --- a/flytekit/flytekit.plugins.html +++ b/flytekit/flytekit.plugins.html @@ -8,7 +8,7 @@ - flytekit.plugins package — Flyte 0.6.0 documentation + flytekit.plugins package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.sdk.html b/flytekit/flytekit.sdk.html index 4a9b08cf0b..3c1d0a8dd8 100644 --- a/flytekit/flytekit.sdk.html +++ b/flytekit/flytekit.sdk.html @@ -8,7 +8,7 @@ - flytekit.sdk package — Flyte 0.6.0 documentation + flytekit.sdk package — Flyte 0.7.0 documentation @@ -35,7 +35,7 @@ - + @@ -191,6 +191,19 @@

        flytekit.sdk package

        +

        Submodules

        @@ -238,6 +251,153 @@

        Submodules

        flytekit.sdk.tasks module

        +
        +
        +flytekit.sdk.tasks.dynamic_sidecar_task(_task_function=None, cache_version='', retries=0, interruptible=None, deprecated='', storage_request=None, cpu_request=None, gpu_request=None, memory_request=None, storage_limit=None, cpu_limit=None, gpu_limit=None, memory_limit=None, cache=False, timeout=None, allowed_failure_ratio=None, max_concurrency=None, environment=None, pod_spec=None, primary_container_name=None, cls=None)[source]
        +

        Decorator to create a custom dynamic sidecar task definition. Dynamic +tasks should be used to split up work into an arbitrary number of parallel +sub-tasks, or workflows. This task will execute the primary task alongside +the specified kubernetes PodSpec. Custom primary task container attributes +can be defined in the PodSpec by defining a container whose name matches +the primary_container_name. These container attributes will be applied to +the container brought up to execute the primary task definition.

        +
        def generate_pod_spec_for_task():
        +    pod_spec = generated_pb2.PodSpec()
        +    secondary_container = generated_pb2.Container(
        +        name="secondary",
        +        image="alpine",
        +    )
        +    secondary_container.command.extend(["/bin/sh"])
        +    secondary_container.args.extend(["-c", "echo hi sidecar world > /data/message.txt"])
        +    shared_volume_mount = generated_pb2.VolumeMount(
        +        name="shared-data",
        +        mountPath="/data",
        +    )
        +    secondary_container.volumeMounts.extend([shared_volume_mount])
        +
        +    primary_container = generated_pb2.Container(name="primary")
        +    primary_container.volumeMounts.extend([shared_volume_mount])
        +
        +    pod_spec.volumes.extend([generated_pb2.Volume(
        +        name="shared-data",
        +        volumeSource=generated_pb2.VolumeSource(
        +            emptyDir=generated_pb2.EmptyDirVolumeSource(
        +                medium="Memory",
        +            )
        +        )
        +    )])
        +    pod_spec.containers.extend([primary_container, secondary_container])
        +    return pod_spec
        +
        +@outputs(out=Types.Integer)
        +@python_task
        +def my_sub_task(wf_params, out):
        +    out.set(randint())
        +
        +@outputs(out=[Types.Integer])
        +@dynamic_sidecar_task(
        +    pod_spec=generate_pod_spec_for_task(),
        +    primary_container_name="primary",
        +)
        +def my_task(wf_params, out):
        +    out_list = []
        +    for i in xrange(100):
        +        out_list.append(my_sub_task().outputs.out)
        +    out.set(out_list)
        +
        +
        +
        +

        Note

        +

        All outputs of a batch task must be a list. This is because the individual outputs of sub-tasks should be +appended into a list. There cannot be aggregation of outputs done in this task. To accomplish aggregation, +it is recommended that a python_task take the outputs of this task as input and do the necessary work. +If a sub-task does not contribute an output, it must be yielded from the task with the yield keyword or +returned from the task in a list. If this isn’t done, the sub-task will not be executed.

        +
        +
        +
        Parameters
        +
          +
        • _task_function – this is the decorated method and shouldn’t be declared explicitly. The function must +take a first argument, and then named arguments matching those defined in @inputs and @outputs. No keyword +arguments are allowed.

        • +
        • cache_version (Text) –

          [optional] string representing logical version for discovery. This field should be +updated whenever the underlying algorithm changes.

          +
          +

          Note

          +

          This argument is required to be a non-empty string if cache is True.

          +
          +

        • +
        • retries (int) –

          [optional] integer determining number of times task can be retried on +flytekit.sdk.exceptions.RecoverableException or transient platform failures. Defaults +to 0.

          +
          +

          Note

          +

          If retries > 0, the task must be able to recover from any remote state created within the user code. It is +strongly recommended that tasks are written to be idempotent.

          +
          +

        • +
        • interruptible (bool) – [optional] boolean describing if the task is interruptible.

        • +
        • deprecated (Text) – [optional] string that should be provided if this task is deprecated. The string +will be logged as a warning so it should contain information regarding how to update to a newer task.

        • +
        • storage_request (Text) –

          [optional] Kubernetes resource string for lower-bound of disk storage space +for the task to run. Default is set by platform-level configuration.

          +
          +

          Note

          +

          This is currently not supported by the platform.

          +
          +

        • +
        • cpu_request (Text) – [optional] Kubernetes resource string for lower-bound of cores for the task to execute. +This can be set to a fractional portion of a CPU. Default is set by platform-level configuration. +TODO: Add links to resource string documentation for Kubernetes

        • +
        • gpu_request (Text) – [optional] Kubernetes resource string for lower-bound of desired GPUs. +Default is set by platform-level configuration. +TODO: Add links to resource string documentation for Kubernetes

        • +
        • memory_request (Text) – [optional] Kubernetes resource string for lower-bound of physical memory +necessary for the task to execute. Default is set by platform-level configuration. +TODO: Add links to resource string documentation for Kubernetes

        • +
        • storage_limit (Text) –

          [optional] Kubernetes resource string for upper-bound of disk storage space +for the task to run. This amount is not guaranteed! If not specified, it is set equal to storage_request.

          +
          +

          Note

          +

          This is currently not supported by the platform.

          +
          +

        • +
        • cpu_limit (Text) – [optional] Kubernetes resource string for upper-bound of cores for the task to execute. +This can be set to a fractional portion of a CPU. This amount is not guaranteed! If not specified, +it is set equal to cpu_request.

        • +
        • gpu_limit (Text) – [optional] Kubernetes resource string for upper-bound of desired GPUs. This amount is not +guaranteed! If not specified, it is set equal to gpu_request.

        • +
        • memory_limit (Text) – [optional] Kubernetes resource string for upper-bound of physical memory +necessary for the task to execute. This amount is not guaranteed! If not specified, it is set equal to +memory_request.

        • +
        • cache (bool) – [optional] boolean describing if the outputs of this task should be cached and +re-usable.

        • +
        • timeout (datetime.timedelta) – [optional] describes how long the task should be allowed to +run at max before triggering a retry (if retries are enabled). By default, tasks are allowed to run +indefinitely. If a null timedelta is passed (i.e. timedelta(seconds=0)), the task will not timeout.

        • +
        • allowed_failure_ratio (float) – [optional] float value describing the ratio of sub-tasks that may fail before +the master batch task considers itself a failure. By default, the value is 0 so if any task fails, the master +batch task will be marked a failure. If specified, the value must be between 0 and 1 inclusive. In the event a +non-zero value is specified, downstream tasks must be able to accept None values as outputs from individual +sub-tasks because the output values will be set to None for any sub-task that fails.

        • +
        • max_concurrency (int) – [optional] integer value describing the maximum number of tasks to run concurrently. +This is a stand-in pending better concurrency controls for special use-cases. The existence of this parameter +is not guaranteed between versions and therefore it is NOT recommended that it be used.

        • +
        • environment (dict[Text,Text]) – [optional] environment variables to set when executing this task.

        • +
        • pod_spec (k8s.io.api.core.v1.generated_pb2.PodSpec) – PodSpec to bring up alongside task execution.

        • +
        • primary_container_name (Text) – primary container to monitor for the duration of the task.

        • +
        • cls – This can be used to override the task implementation with a user-defined extension. The class +provided must be a subclass of flytekit.common.tasks.sdk_runnable.SdkRunnableTask. Generally, it should be a +subclass of flytekit.common.tasks.sidecar_Task.SdkDynamicSidecarTask. A user can use this parameter to inject bespoke +logic into the base Flyte programming model.

        • +
        +
        +
        Return type
        +

        flytekit.common.tasks.sidecar_Task.SdkDynamicSidecarTask

        +
        +
        +
        +
        flytekit.sdk.tasks.dynamic_task(_task_function=None, cache_version='', retries=0, interruptible=None, deprecated='', storage_request=None, cpu_request=None, gpu_request=None, memory_request=None, storage_limit=None, cpu_limit=None, gpu_limit=None, memory_limit=None, cache=False, timeout=None, allowed_failure_ratio=None, max_concurrency=None, environment=None, cls=None)[source]
        @@ -2317,7 +2477,7 @@

        Submodules
        -flytekit.sdk.workflow.workflow_class(_workflow_metaclass=None, cls=None, on_failure=None)[source]
        +flytekit.sdk.workflow.workflow_class(_workflow_metaclass=None, on_failure=None, disable_default_launch_plan=False, cls=None)[source]

        This is a decorator for wrapping class definitions into workflows.

        @workflow_class
        @@ -2338,7 +2498,9 @@ 

        Submodulesflytekit.common.workflow.SdkWorkflow.

        -
      • flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy (on_failure) – [Optional] The execution policy when the workflow detects a failure.

      • +
      • on_failure (flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy) – [Optional] The execution policy +when the workflow detects a failure.

      • +
      • disable_default_launch_plan (bool) – Determines whether to create a default launch plan for the workflow or not.

    Return type
    @@ -2361,7 +2523,7 @@

    Submodules - + diff --git a/flytekit/flytekit.sdk.sagemaker.html b/flytekit/flytekit.sdk.sagemaker.html new file mode 100644 index 0000000000..f4e21b58e8 --- /dev/null +++ b/flytekit/flytekit.sdk.sagemaker.html @@ -0,0 +1,344 @@ + + + + + + + + + + + flytekit.sdk.sagemaker package — Flyte 0.7.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    +
    + +
    +

    flytekit.sdk.sagemaker package

    +
    +

    Submodules

    +
    +
    +

    flytekit.sdk.sagemaker.task module

    +
    +
    +flytekit.sdk.sagemaker.task.custom_training_job_task(_task_function=None, algorithm_specification: flytekit.models.sagemaker.training_job.AlgorithmSpecification = None, training_job_resource_config: flytekit.models.sagemaker.training_job.TrainingJobResourceConfig = None, cache_version: str = '', retries: int = 0, deprecated: str = '', storage_request: str = None, cpu_request: str = None, gpu_request: str = None, memory_request: str = None, storage_limit: str = None, cpu_limit: str = None, gpu_limit: str = None, memory_limit: str = None, cache: bool = False, timeout: datetime.timedelta = None, environment: Dict[str, str] = None, cls: Type = None)[source]
    +

    Decorator to create a Custom Training Job definition. This task will run as a single unit of work on the platform.

    +
    @inputs(int_list=[Types.Integer])
    +@outputs(sum_of_list=Types.Integer
    +@custom_task
    +def my_task(wf_params, int_list, sum_of_list):
    +    sum_of_list.set(sum(int_list))
    +
    +
    +
    +
    Parameters
    +
      +
    • _task_function – this is the decorated method and shouldn’t be declared explicitly. The function must +take a first argument, and then named arguments matching those defined in @inputs and @outputs. No keyword +arguments are allowed for wrapped task functions.

    • +
    • algorithm_specification (_training_job_models.AlgorithmSpecification) – This represents the algorithm specification

    • +
    • training_job_resource_config (_training_job_models.TrainingJobResourceConfig) – This represents the training job config.

    • +
    • cache_version (Text) –

      [optional] string representing logical version for discovery. This field should be +updated whenever the underlying algorithm changes.

      +
      +

      Note

      +

      This argument is required to be a non-empty string if cache is True.

      +
      +

    • +
    • retries (int) –

      [optional] integer determining number of times task can be retried on +flytekit.sdk.exceptions.RecoverableException or transient platform failures. Defaults +to 0.

      +
      +

      Note

      +

      If retries > 0, the task must be able to recover from any remote state created within the user code. It is +strongly recommended that tasks are written to be idempotent.

      +
      +

    • +
    • deprecated (Text) – [optional] string that should be provided if this task is deprecated. The string +will be logged as a warning so it should contain information regarding how to update to a newer task.

    • +
    • storage_request (Text) –

      [optional] Kubernetes resource string for lower-bound of disk storage space +for the task to run. Default is set by platform-level configuration.

      +
      +

      Note

      +

      This is currently not supported by the platform.

      +
      +

    • +
    • cpu_request (Text) –

      [optional] Kubernetes resource string for lower-bound of cores for the task to execute. +This can be set to a fractional portion of a CPU. Default is set by platform-level configuration.

      +

      TODO: Add links to resource string documentation for Kubernetes

      +

    • +
    • gpu_request (Text) –

      [optional] Kubernetes resource string for lower-bound of desired GPUs. +Default is set by platform-level configuration.

      +

      TODO: Add links to resource string documentation for Kubernetes

      +

    • +
    • memory_request (Text) –

      [optional] Kubernetes resource string for lower-bound of physical memory +necessary for the task to execute. Default is set by platform-level configuration.

      +

      TODO: Add links to resource string documentation for Kubernetes

      +

    • +
    • storage_limit (Text) –

      [optional] Kubernetes resource string for upper-bound of disk storage space +for the task to run. This amount is not guaranteed! If not specified, it is set equal to storage_request.

      +
      +

      Note

      +

      This is currently not supported by the platform.

      +
      +

    • +
    • cpu_limit (Text) – [optional] Kubernetes resource string for upper-bound of cores for the task to execute. +This can be set to a fractional portion of a CPU. This amount is not guaranteed! If not specified, +it is set equal to cpu_request.

    • +
    • gpu_limit (Text) – [optional] Kubernetes resource string for upper-bound of desired GPUs. This amount is not +guaranteed! If not specified, it is set equal to gpu_request.

    • +
    • memory_limit (Text) – [optional] Kubernetes resource string for upper-bound of physical memory +necessary for the task to execute. This amount is not guaranteed! If not specified, it is set equal to +memory_request.

    • +
    • cache (bool) – [optional] boolean describing if the outputs of this task should be cached and +re-usable.

    • +
    • timeout (datetime.timedelta) – [optional] describes how long the task should be allowed to +run at max before triggering a retry (if retries are enabled). By default, tasks are allowed to run +indefinitely. If a null timedelta is passed (i.e. timedelta(seconds=0)), the task will not timeout.

    • +
    • environment (dict[Text,Text]) – [optional] environment variables to set when executing this task.

    • +
    • cls – This can be used to override the task implementation with a user-defined extension. The class +provided must be a subclass of flytekit.common.tasks.sdk_runnable.SdkRunnableTask. A user can use this to +inject bespoke logic into the base Flyte programming model.

    • +
    +
    +
    Return type
    +

    flytekit.common.tasks.sagemaker.custom_training_job_task.CustomTrainingJobTask

    +
    +
    +
    + +
    +
    +

    Module contents

    +
    +
    + + +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/flytekit/flytekit.tools.html b/flytekit/flytekit.tools.html index 30c6d1209a..4bc482e6f9 100644 --- a/flytekit/flytekit.tools.html +++ b/flytekit/flytekit.tools.html @@ -8,7 +8,7 @@ - flytekit.tools package — Flyte 0.6.0 documentation + flytekit.tools package — Flyte 0.7.0 documentation @@ -36,7 +36,7 @@ - + @@ -302,7 +302,7 @@

    Submodules - +

    diff --git a/flytekit/flytekit.type_engines.default.html b/flytekit/flytekit.type_engines.default.html index b7a918fb49..ef7de3689e 100644 --- a/flytekit/flytekit.type_engines.default.html +++ b/flytekit/flytekit.type_engines.default.html @@ -8,7 +8,7 @@ - flytekit.type_engines.default package — Flyte 0.6.0 documentation + flytekit.type_engines.default package — Flyte 0.7.0 documentation diff --git a/flytekit/flytekit.type_engines.html b/flytekit/flytekit.type_engines.html index 75a0b4ce11..ab2428340e 100644 --- a/flytekit/flytekit.type_engines.html +++ b/flytekit/flytekit.type_engines.html @@ -8,7 +8,7 @@ - flytekit.type_engines package — Flyte 0.6.0 documentation + flytekit.type_engines package — Flyte 0.7.0 documentation diff --git a/flytekit/index.html b/flytekit/index.html index 97b7369984..bd17f076a9 100644 --- a/flytekit/index.html +++ b/flytekit/index.html @@ -8,7 +8,7 @@ - flytekit — Flyte 0.6.0 documentation + flytekit — Flyte 0.7.0 documentation @@ -275,6 +275,7 @@

    flytekitflytekit.sdk package @@ -741,10 +747,10 @@

    D

  • discoverable() (flytekit.models.task.TaskMetadata property)
  • - - + +
  • dynamic_sidecar_task() (in module flytekit.sdk.tasks) +
  • DYNAMIC_TASK (flytekit.common.constants.SdkTaskType attribute)
  • dynamic_task() (in module flytekit.sdk.tasks) @@ -857,6 +867,8 @@

    E

  • (flytekit.models.core.execution.WorkflowExecutionPhase class method)
  • (flytekit.models.launch_plan.LaunchPlanState class method) +
  • +
  • (flytekit.models.matchable_resource.MatchableResource class method)
  • (flytekit.models.named_entity.NamedEntityState class method)
  • @@ -910,7 +922,7 @@

    E

  • Execution (class in flytekit.models.execution) +
  • +
  • EXECUTION_CLUSTER_LABEL (flytekit.models.matchable_resource.MatchableResource attribute)
  • execution_cluster_label() (flytekit.models.matchable_resource.MatchingAttributes property)
  • @@ -957,6 +971,8 @@

    E

  • (flytekit.models.core.identifier.NodeExecutionIdentifier property)
  • +
  • EXECUTION_QUEUE (flytekit.models.matchable_resource.MatchableResource attribute) +
  • execution_queue_attributes() (flytekit.models.matchable_resource.MatchingAttributes property)
  • ExecutionArtifact (class in flytekit.common.mixins.artifact) @@ -1267,9 +1283,11 @@

    F

  • flytekit.common.tasks.sagemaker (module)
  • -
  • flytekit.common.tasks.sagemaker.hpo_job_task (module) +
  • flytekit.common.tasks.sagemaker.built_in_training_job_task (module)
  • -
  • flytekit.common.tasks.sagemaker.training_job_task (module) +
  • flytekit.common.tasks.sagemaker.custom_training_job_task (module) +
  • +
  • flytekit.common.tasks.sagemaker.hpo_job_task (module)
  • flytekit.common.tasks.sdk_dynamic (module)
  • @@ -1472,6 +1490,10 @@

    F

  • flytekit.sdk (module)
  • flytekit.sdk.exceptions (module) +
  • +
  • flytekit.sdk.sagemaker (module) +
  • +
  • flytekit.sdk.sagemaker.task (module)
  • flytekit.sdk.spark_types (module)
  • @@ -1498,11 +1520,11 @@

    F

  • flytekit.type_engines.default (module)
  • flytekit.type_engines.default.flyte (module) -
  • -
  • FlyteLaunchPlan (class in flytekit.engines.flyte.engine)
  • +
  • get_project_domain_attributes() (flytekit.clients.friendly.SynchronousFlyteClient method) + +
  • get_random_directory() (flytekit.interfaces.data.common.DataProxy method) @@ -2239,6 +2269,12 @@

    G

  • (flytekit.engines.flyte.engine.FlyteEngineFactory method)
  • (flytekit.engines.unit.engine.UnitTestEngineFactory method) +
  • + +
  • get_workflow_attributes() (flytekit.clients.friendly.SynchronousFlyteClient method) + +
  • get_workflow_execution() (flytekit.engines.common.BaseExecutionEngineFactory method) @@ -2697,10 +2733,16 @@

    L

  • (flytekit.clients.raw.RawSynchronousFlyteClient method)
  • -
  • list_node_executions() (flytekit.clients.friendly.SynchronousFlyteClient method) +
  • list_matchable_attributes() (flytekit.clients.friendly.SynchronousFlyteClient method) + +
  • metadata_defaults() (flytekit.models.core.workflow.WorkflowTemplate property) -
  • -
  • METADATA_FORMAT_JSON (flytekit.common.tasks.raw_container.SdkRawContainerTask attribute)
  • output_aliases() (flytekit.models.core.workflow.Node property) +
  • +
  • output_location_prefix() (flytekit.models.common.RawOutputDataConfig property)
    • @@ -3367,6 +3413,8 @@

      P

      Q

      + - + -
      + -
      • remote_location() (flytekit.common.types.impl.blobs.Blob property)
          @@ -3591,6 +3657,8 @@

          R

          S

          + + + @@ -952,6 +957,16 @@

          Python Module Index

          + + + + + +
        • sdk_workflow_execution() (flytekit.engines.common.BaseWorkflowExecution property)
        • -
        • SdkBuiltinAlgorithmTrainingJobTask (class in flytekit.common.tasks.sagemaker.training_job_task) +
        • SdkBuiltinAlgorithmTrainingJobTask (class in flytekit.common.tasks.sagemaker.built_in_training_job_task) +
        • +
        • SdkDynamicSidecarTask (class in flytekit.common.tasks.sidecar_task)
        • SdkDynamicTask (class in flytekit.common.tasks.sdk_dynamic) +
        • +
        • SdkDynamicTaskMixin (class in flytekit.common.tasks.sdk_dynamic)
        • SdkGenericSparkTask (class in flytekit.common.tasks.generic_spark_task)
        • @@ -3909,6 +3981,8 @@

          S

        • (flytekit.sdk.types.Types.Timedelta method)
        • +
        • should_create_default_launch_plan() (flytekit.common.workflow.SdkWorkflow property) +
        • SIDECAR_TASK (flytekit.common.constants.SdkTaskType attribute)
        • sidecar_task() (in module flytekit.sdk.tasks) @@ -3993,6 +4067,8 @@

          S

        • (flytekit.models.types.SimpleType attribute)
        • +
        • string_to_enum() (flytekit.models.matchable_resource.MatchableResource class method) +
        • string_value() (flytekit.models.literals.Primitive property)
        • STRUCT (flytekit.models.types.SimpleType attribute) @@ -4092,6 +4168,8 @@

          T

        • TASK_NAME_FORMAT (in module flytekit.configuration.sdk)
        • task_node() (flytekit.models.core.workflow.Node property) +
        • +
        • TASK_RESOURCE (flytekit.models.matchable_resource.MatchableResource attribute)
        • TaskClosure (class in flytekit.models.task)
        • @@ -4217,6 +4295,8 @@

          T

        • (flytekit.models.common.Notification method)
        • (flytekit.models.common.PagerDutyNotification method) +
        • +
        • (flytekit.models.common.RawOutputDataConfig method)
        • (flytekit.models.common.SlackNotification method)
        • @@ -4563,8 +4643,12 @@

          T

        • training_job_early_stopping_type() (flytekit.models.sagemaker.hpo_job.HyperparameterTuningJobConfig property)
        • -
        • training_job_model() (flytekit.common.tasks.sagemaker.training_job_task.SdkBuiltinAlgorithmTrainingJobTask property) +
        • training_job_model() (flytekit.common.tasks.sagemaker.built_in_training_job_task.SdkBuiltinAlgorithmTrainingJobTask property) + +
        • training_job_resource_config() (flytekit.models.sagemaker.training_job.TrainingJob property)
        • TrainingJob (class in flytekit.models.sagemaker.training_job) diff --git a/index.html b/index.html index 044c6bf8e5..ddd65ddb1d 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ - Flyte — Flyte 0.6.0 documentation + Flyte — Flyte 0.7.0 documentation diff --git a/introduction/docs_overview.html b/introduction/docs_overview.html index 50bbc570a5..d689f259a4 100644 --- a/introduction/docs_overview.html +++ b/introduction/docs_overview.html @@ -8,7 +8,7 @@ - How to read these docs? — Flyte 0.6.0 documentation + How to read these docs? — Flyte 0.7.0 documentation diff --git a/introduction/index.html b/introduction/index.html index 0f208696ed..c58e692c6b 100644 --- a/introduction/index.html +++ b/introduction/index.html @@ -8,7 +8,7 @@ - Introduction — Flyte 0.6.0 documentation + Introduction — Flyte 0.7.0 documentation diff --git a/introduction/roadmap.html b/introduction/roadmap.html index 9559539fe7..04ee047524 100644 --- a/introduction/roadmap.html +++ b/introduction/roadmap.html @@ -8,7 +8,7 @@ - Roadmap — Flyte 0.6.0 documentation + Roadmap — Flyte 0.7.0 documentation diff --git a/introduction/whatis.html b/introduction/whatis.html index 8551b1bd82..de7fc53f8e 100644 --- a/introduction/whatis.html +++ b/introduction/whatis.html @@ -8,7 +8,7 @@ - What is Flyte? — Flyte 0.6.0 documentation + What is Flyte? — Flyte 0.7.0 documentation diff --git a/objects.inv b/objects.inv index 7205b4e29d..a91c82a9c6 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/py-modindex.html b/py-modindex.html index 67f881a8b8..8880277dbb 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -8,7 +8,7 @@ - Python Module Index — Flyte 0.6.0 documentation + Python Module Index — Flyte 0.7.0 documentation @@ -440,12 +440,17 @@

          Python Module Index

        •     - flytekit.common.tasks.sagemaker.hpo_job_task + flytekit.common.tasks.sagemaker.built_in_training_job_task
              - flytekit.common.tasks.sagemaker.training_job_task + flytekit.common.tasks.sagemaker.custom_training_job_task +
              + flytekit.common.tasks.sagemaker.hpo_job_task
              flytekit.sdk.exceptions
              + flytekit.sdk.sagemaker +
              + flytekit.sdk.sagemaker.task +
              diff --git a/search.html b/search.html index 4ce2583c30..9526b58ea7 100644 --- a/search.html +++ b/search.html @@ -8,7 +8,7 @@ - Search — Flyte 0.6.0 documentation + Search — Flyte 0.7.0 documentation diff --git a/searchindex.js b/searchindex.js index eaaad421fa..c738e87b6d 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["administrator/architecture","administrator/index","administrator/install/authentication","administrator/install/configure/admin","administrator/install/configure/common","administrator/install/configure/index","administrator/install/configure/plugins","administrator/install/configure/propeller","administrator/install/getting_started","administrator/install/index","administrator/install/managing_customizable_resources","administrator/install/multi_cluster","administrator/install/optional_components","administrator/install/production","contributor/components/admin","contributor/components/admin_service","contributor/components/catalog","contributor/components/console","contributor/components/index","contributor/docs/index","contributor/extending/index","contributor/index","contributor/language/index","flyteidl/admin/common.proto","flyteidl/admin/event.proto","flyteidl/admin/execution.proto","flyteidl/admin/index","flyteidl/admin/launch_plan.proto","flyteidl/admin/matchable_resource.proto","flyteidl/admin/node_execution.proto","flyteidl/admin/notification.proto","flyteidl/admin/project.proto","flyteidl/admin/project_domain_attributes.proto","flyteidl/admin/schedule.proto","flyteidl/admin/task.proto","flyteidl/admin/task_execution.proto","flyteidl/admin/workflow.proto","flyteidl/admin/workflow_attributes.proto","flyteidl/core/catalog.proto","flyteidl/core/compiler.proto","flyteidl/core/condition.proto","flyteidl/core/dynamic_job.proto","flyteidl/core/errors.proto","flyteidl/core/execution.proto","flyteidl/core/identifier.proto","flyteidl/core/index","flyteidl/core/interface.proto","flyteidl/core/literals.proto","flyteidl/core/tasks.proto","flyteidl/core/types.proto","flyteidl/core/workflow.proto","flyteidl/core/workflow_closure.proto","flyteidl/event/event.proto","flyteidl/event/index","flyteidl/index","flyteidl/plugins/array_job.proto","flyteidl/plugins/index","flyteidl/plugins/presto.proto","flyteidl/plugins/pytorch.proto","flyteidl/plugins/qubole.proto","flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto","flyteidl/plugins/sagemaker/index","flyteidl/plugins/sagemaker/parameter_ranges.proto","flyteidl/plugins/sagemaker/training_job.proto","flyteidl/plugins/sidecar.proto","flyteidl/plugins/spark.proto","flyteidl/plugins/tensorflow.proto","flyteidl/plugins/waitable.proto","flyteidl/service/admin.proto","flyteidl/service/index","flytekit/flytekit","flytekit/flytekit.bin","flytekit/flytekit.clients","flytekit/flytekit.clis","flytekit/flytekit.clis.auth","flytekit/flytekit.clis.flyte_cli","flytekit/flytekit.clis.sdk_in_container","flytekit/flytekit.common","flytekit/flytekit.common.core","flytekit/flytekit.common.exceptions","flytekit/flytekit.common.mixins","flytekit/flytekit.common.tasks","flytekit/flytekit.common.tasks.sagemaker","flytekit/flytekit.common.types","flytekit/flytekit.common.types.impl","flytekit/flytekit.configuration","flytekit/flytekit.contrib","flytekit/flytekit.contrib.notebook","flytekit/flytekit.contrib.sensors","flytekit/flytekit.engines","flytekit/flytekit.engines.flyte","flytekit/flytekit.engines.unit","flytekit/flytekit.interfaces","flytekit/flytekit.interfaces.data","flytekit/flytekit.interfaces.data.gcs","flytekit/flytekit.interfaces.data.http","flytekit/flytekit.interfaces.data.local","flytekit/flytekit.interfaces.data.s3","flytekit/flytekit.interfaces.stats","flytekit/flytekit.models","flytekit/flytekit.models.admin","flytekit/flytekit.models.core","flytekit/flytekit.models.sagemaker","flytekit/flytekit.plugins","flytekit/flytekit.sdk","flytekit/flytekit.tools","flytekit/flytekit.type_engines","flytekit/flytekit.type_engines.default","flytekit/index","index","introduction/docs_overview","introduction/index","introduction/roadmap","introduction/whatis","user/concepts/domains","user/concepts/dynamic_spec","user/concepts/execution_timeline","user/concepts/executions","user/concepts/index","user/concepts/launchplans_schedules","user/concepts/projects","user/concepts/registration","user/concepts/tasks","user/concepts/workflows_nodes","user/features/flytecli","user/features/index","user/features/labels_annotations","user/features/lanuchplans","user/features/notifications","user/features/observability","user/features/on_failure_policy","user/features/roles","user/features/single_task_execution","user/features/task_cache","user/getting_started/create_first","user/getting_started/examples","user/getting_started/index","user/getting_started/more_examples","user/index","user/sdk/index","user/tasktypes/container","user/tasktypes/dynamic","user/tasktypes/hive","user/tasktypes/index","user/tasktypes/presto","user/tasktypes/pytorch","user/tasktypes/sidecar","user/tasktypes/spark"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["administrator/architecture.rst","administrator/index.rst","administrator/install/authentication.rst","administrator/install/configure/admin.rst","administrator/install/configure/common.rst","administrator/install/configure/index.rst","administrator/install/configure/plugins.rst","administrator/install/configure/propeller.rst","administrator/install/getting_started.rst","administrator/install/index.rst","administrator/install/managing_customizable_resources.rst","administrator/install/multi_cluster.rst","administrator/install/optional_components.rst","administrator/install/production.rst","contributor/components/admin.rst","contributor/components/admin_service.rst","contributor/components/catalog.rst","contributor/components/console.rst","contributor/components/index.rst","contributor/docs/index.rst","contributor/extending/index.rst","contributor/index.rst","contributor/language/index.rst","flyteidl/admin/common.proto.rst","flyteidl/admin/event.proto.rst","flyteidl/admin/execution.proto.rst","flyteidl/admin/index.rst","flyteidl/admin/launch_plan.proto.rst","flyteidl/admin/matchable_resource.proto.rst","flyteidl/admin/node_execution.proto.rst","flyteidl/admin/notification.proto.rst","flyteidl/admin/project.proto.rst","flyteidl/admin/project_domain_attributes.proto.rst","flyteidl/admin/schedule.proto.rst","flyteidl/admin/task.proto.rst","flyteidl/admin/task_execution.proto.rst","flyteidl/admin/workflow.proto.rst","flyteidl/admin/workflow_attributes.proto.rst","flyteidl/core/catalog.proto.rst","flyteidl/core/compiler.proto.rst","flyteidl/core/condition.proto.rst","flyteidl/core/dynamic_job.proto.rst","flyteidl/core/errors.proto.rst","flyteidl/core/execution.proto.rst","flyteidl/core/identifier.proto.rst","flyteidl/core/index.rst","flyteidl/core/interface.proto.rst","flyteidl/core/literals.proto.rst","flyteidl/core/tasks.proto.rst","flyteidl/core/types.proto.rst","flyteidl/core/workflow.proto.rst","flyteidl/core/workflow_closure.proto.rst","flyteidl/event/event.proto.rst","flyteidl/event/index.rst","flyteidl/index.rst","flyteidl/plugins/array_job.proto.rst","flyteidl/plugins/index.rst","flyteidl/plugins/presto.proto.rst","flyteidl/plugins/pytorch.proto.rst","flyteidl/plugins/qubole.proto.rst","flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto.rst","flyteidl/plugins/sagemaker/index.rst","flyteidl/plugins/sagemaker/parameter_ranges.proto.rst","flyteidl/plugins/sagemaker/training_job.proto.rst","flyteidl/plugins/sidecar.proto.rst","flyteidl/plugins/spark.proto.rst","flyteidl/plugins/tensorflow.proto.rst","flyteidl/plugins/waitable.proto.rst","flyteidl/service/admin.proto.rst","flyteidl/service/index.rst","flytekit/flytekit.rst","flytekit/flytekit.bin.rst","flytekit/flytekit.clients.rst","flytekit/flytekit.clis.rst","flytekit/flytekit.clis.auth.rst","flytekit/flytekit.clis.flyte_cli.rst","flytekit/flytekit.clis.sdk_in_container.rst","flytekit/flytekit.common.rst","flytekit/flytekit.common.core.rst","flytekit/flytekit.common.exceptions.rst","flytekit/flytekit.common.mixins.rst","flytekit/flytekit.common.tasks.rst","flytekit/flytekit.common.tasks.sagemaker.rst","flytekit/flytekit.common.types.rst","flytekit/flytekit.common.types.impl.rst","flytekit/flytekit.configuration.rst","flytekit/flytekit.contrib.rst","flytekit/flytekit.contrib.notebook.rst","flytekit/flytekit.contrib.sensors.rst","flytekit/flytekit.engines.rst","flytekit/flytekit.engines.flyte.rst","flytekit/flytekit.engines.unit.rst","flytekit/flytekit.interfaces.rst","flytekit/flytekit.interfaces.data.rst","flytekit/flytekit.interfaces.data.gcs.rst","flytekit/flytekit.interfaces.data.http.rst","flytekit/flytekit.interfaces.data.local.rst","flytekit/flytekit.interfaces.data.s3.rst","flytekit/flytekit.interfaces.stats.rst","flytekit/flytekit.models.rst","flytekit/flytekit.models.admin.rst","flytekit/flytekit.models.core.rst","flytekit/flytekit.models.sagemaker.rst","flytekit/flytekit.plugins.rst","flytekit/flytekit.sdk.rst","flytekit/flytekit.tools.rst","flytekit/flytekit.type_engines.rst","flytekit/flytekit.type_engines.default.rst","flytekit/index.rst","index.rst","introduction/docs_overview.rst","introduction/index.rst","introduction/roadmap.rst","introduction/whatis.rst","user/concepts/domains.rst","user/concepts/dynamic_spec.rst","user/concepts/execution_timeline.rst","user/concepts/executions.rst","user/concepts/index.rst","user/concepts/launchplans_schedules.rst","user/concepts/projects.rst","user/concepts/registration.rst","user/concepts/tasks.rst","user/concepts/workflows_nodes.rst","user/features/flytecli.rst","user/features/index.rst","user/features/labels_annotations.rst","user/features/lanuchplans.rst","user/features/notifications.rst","user/features/observability.rst","user/features/on_failure_policy.rst","user/features/roles.rst","user/features/single_task_execution.rst","user/features/task_cache.rst","user/getting_started/create_first.rst","user/getting_started/examples.rst","user/getting_started/index.rst","user/getting_started/more_examples.rst","user/index.rst","user/sdk/index.rst","user/tasktypes/container.rst","user/tasktypes/dynamic.rst","user/tasktypes/hive.rst","user/tasktypes/index.rst","user/tasktypes/presto.rst","user/tasktypes/pytorch.rst","user/tasktypes/sidecar.rst","user/tasktypes/spark.rst"],objects:{"":{flytekit:[70,0,0,"-"]},"flytekit.bin":{entrypoint:[71,0,0,"-"]},"flytekit.clients":{friendly:[72,0,0,"-"],helpers:[72,0,0,"-"],raw:[72,0,0,"-"]},"flytekit.clients.friendly":{SynchronousFlyteClient:[72,1,1,""]},"flytekit.clients.friendly.SynchronousFlyteClient":{create_execution:[72,2,1,""],create_launch_plan:[72,2,1,""],create_task:[72,2,1,""],create_workflow:[72,2,1,""],get_active_launch_plan:[72,2,1,""],get_execution:[72,2,1,""],get_execution_data:[72,2,1,""],get_launch_plan:[72,2,1,""],get_node_execution:[72,2,1,""],get_node_execution_data:[72,2,1,""],get_task:[72,2,1,""],get_task_execution:[72,2,1,""],get_task_execution_data:[72,2,1,""],get_workflow:[72,2,1,""],list_active_launch_plans_paginated:[72,2,1,""],list_executions_paginated:[72,2,1,""],list_launch_plan_ids_paginated:[72,2,1,""],list_launch_plans_paginated:[72,2,1,""],list_node_executions:[72,2,1,""],list_node_executions_for_task_paginated:[72,2,1,""],list_task_executions_paginated:[72,2,1,""],list_task_ids_paginated:[72,2,1,""],list_tasks_paginated:[72,2,1,""],list_workflow_ids_paginated:[72,2,1,""],list_workflows_paginated:[72,2,1,""],raw:[72,2,1,""],register_project:[72,2,1,""],relaunch_execution:[72,2,1,""],terminate_execution:[72,2,1,""],update_launch_plan:[72,2,1,""],update_named_entity:[72,2,1,""],update_project_domain_attributes:[72,2,1,""],update_workflow_attributes:[72,2,1,""]},"flytekit.clients.helpers":{iterate_node_executions:[72,3,1,""],iterate_task_executions:[72,3,1,""]},"flytekit.clients.raw":{RawSynchronousFlyteClient:[72,1,1,""]},"flytekit.clients.raw.RawSynchronousFlyteClient":{create_execution:[72,2,1,""],create_launch_plan:[72,2,1,""],create_task:[72,2,1,""],create_workflow:[72,2,1,""],force_auth_flow:[72,2,1,""],get_active_launch_plan:[72,2,1,""],get_execution:[72,2,1,""],get_execution_data:[72,2,1,""],get_launch_plan:[72,2,1,""],get_node_execution:[72,2,1,""],get_node_execution_data:[72,2,1,""],get_task:[72,2,1,""],get_task_execution:[72,2,1,""],get_task_execution_data:[72,2,1,""],get_workflow:[72,2,1,""],list_active_launch_plans_paginated:[72,2,1,""],list_executions_paginated:[72,2,1,""],list_launch_plan_ids_paginated:[72,2,1,""],list_launch_plans_paginated:[72,2,1,""],list_node_executions_for_task_paginated:[72,2,1,""],list_node_executions_paginated:[72,2,1,""],list_projects:[72,2,1,""],list_task_executions_paginated:[72,2,1,""],list_task_ids_paginated:[72,2,1,""],list_tasks_paginated:[72,2,1,""],list_workflow_ids_paginated:[72,2,1,""],list_workflows_paginated:[72,2,1,""],register_project:[72,2,1,""],relaunch_execution:[72,2,1,""],set_access_token:[72,2,1,""],terminate_execution:[72,2,1,""],update_launch_plan:[72,2,1,""],update_named_entity:[72,2,1,""],update_project_domain_attributes:[72,2,1,""],update_workflow_attributes:[72,2,1,""],url:[72,2,1,""]},"flytekit.clis":{auth:[74,0,0,"-"],flyte_cli:[75,0,0,"-"],helpers:[73,0,0,"-"],sdk_in_container:[76,0,0,"-"]},"flytekit.clis.auth":{auth:[74,0,0,"-"],credentials:[74,0,0,"-"],discovery:[74,0,0,"-"]},"flytekit.clis.auth.auth":{AuthorizationClient:[74,1,1,""],AuthorizationCode:[74,1,1,""],Credentials:[74,1,1,""],OAuthCallbackHandler:[74,1,1,""],OAuthHTTPServer:[74,1,1,""]},"flytekit.clis.auth.auth.AuthorizationClient":{credentials:[74,2,1,""],expired:[74,2,1,""],refresh_access_token:[74,2,1,""],request_access_token:[74,2,1,""]},"flytekit.clis.auth.auth.AuthorizationCode":{code:[74,2,1,""],state:[74,2,1,""]},"flytekit.clis.auth.auth.Credentials":{access_token:[74,2,1,""]},"flytekit.clis.auth.auth.OAuthCallbackHandler":{do_GET:[74,2,1,""],handle_login:[74,2,1,""]},"flytekit.clis.auth.auth.OAuthHTTPServer":{handle_authorization_code:[74,2,1,""],redirect_path:[74,2,1,""]},"flytekit.clis.auth.credentials":{get_authorization_endpoints:[74,3,1,""],get_client:[74,3,1,""]},"flytekit.clis.auth.discovery":{AuthorizationEndpoints:[74,1,1,""],DiscoveryClient:[74,1,1,""]},"flytekit.clis.auth.discovery.AuthorizationEndpoints":{auth_endpoint:[74,2,1,""],token_endpoint:[74,2,1,""]},"flytekit.clis.auth.discovery.DiscoveryClient":{authorization_endpoints:[74,2,1,""],get_authorization_endpoints:[74,2,1,""]},"flytekit.clis.flyte_cli":{main:[75,0,0,"-"]},"flytekit.clis.helpers":{construct_literal_map_from_parameter_map:[73,3,1,""],construct_literal_map_from_variable_map:[73,3,1,""],parse_args_into_dict:[73,3,1,""],str2bool:[73,3,1,""]},"flytekit.clis.sdk_in_container":{basic_auth:[76,0,0,"-"],constants:[76,0,0,"-"],launch_plan:[76,0,0,"-"],pyflyte:[76,0,0,"-"],register:[76,0,0,"-"],serialize:[76,0,0,"-"]},"flytekit.clis.sdk_in_container.basic_auth":{get_basic_authorization_header:[76,3,1,""],get_secret:[76,3,1,""],get_token:[76,3,1,""]},"flytekit.clis.sdk_in_container.launch_plan":{LaunchPlanAbstractGroup:[76,1,1,""],LaunchPlanExecuteGroup:[76,1,1,""],activate_all_impl:[76,3,1,""]},"flytekit.clis.sdk_in_container.launch_plan.LaunchPlanAbstractGroup":{get_command:[76,2,1,""],list_commands:[76,2,1,""]},"flytekit.clis.sdk_in_container.pyflyte":{update_configuration_file:[76,3,1,""]},"flytekit.clis.sdk_in_container.register":{register_all:[76,3,1,""],register_tasks_only:[76,3,1,""]},"flytekit.clis.sdk_in_container.serialize":{serialize_all:[76,3,1,""],serialize_tasks_only:[76,3,1,""]},"flytekit.common":{"interface":[77,0,0,"-"],component_nodes:[77,0,0,"-"],constants:[77,0,0,"-"],core:[78,0,0,"-"],exceptions:[79,0,0,"-"],launch_plan:[77,0,0,"-"],mixins:[80,0,0,"-"],nodes:[77,0,0,"-"],notifications:[77,0,0,"-"],promise:[77,0,0,"-"],schedules:[77,0,0,"-"],sdk_bases:[77,0,0,"-"],tasks:[81,0,0,"-"],types:[83,0,0,"-"],utils:[77,0,0,"-"],workflow:[77,0,0,"-"],workflow_execution:[77,0,0,"-"]},"flytekit.common.component_nodes":{SdkTaskNode:[77,1,1,""],SdkWorkflowNode:[77,1,1,""]},"flytekit.common.component_nodes.SdkTaskNode":{promote_from_model:[77,2,1,""],reference_id:[77,2,1,""],sdk_task:[77,2,1,""]},"flytekit.common.component_nodes.SdkWorkflowNode":{launchplan_ref:[77,2,1,""],promote_from_model:[77,2,1,""],sdk_launch_plan:[77,2,1,""],sdk_workflow:[77,2,1,""],sub_workflow_ref:[77,2,1,""]},"flytekit.common.constants":{CloudProvider:[77,1,1,""],SdkTaskType:[77,1,1,""]},"flytekit.common.constants.CloudProvider":{AWS:[77,4,1,""],GCP:[77,4,1,""]},"flytekit.common.constants.SdkTaskType":{BATCH_HIVE_TASK:[77,4,1,""],CONTAINER_ARRAY_TASK:[77,4,1,""],DYNAMIC_TASK:[77,4,1,""],HIVE_JOB:[77,4,1,""],PRESTO_TASK:[77,4,1,""],PYTHON_TASK:[77,4,1,""],PYTORCH_TASK:[77,4,1,""],RAW_CONTAINER_TASK:[77,4,1,""],SAGEMAKER_HYPERPARAMETER_TUNING_JOB_TASK:[77,4,1,""],SAGEMAKER_TRAINING_JOB_TASK:[77,4,1,""],SENSOR_TASK:[77,4,1,""],SIDECAR_TASK:[77,4,1,""],SPARK_TASK:[77,4,1,""]},"flytekit.common.core":{identifier:[78,0,0,"-"]},"flytekit.common.core.identifier":{Identifier:[78,1,1,""],TaskExecutionIdentifier:[78,1,1,""],WorkflowExecutionIdentifier:[78,1,1,""]},"flytekit.common.core.identifier.Identifier":{from_python_std:[78,2,1,""],promote_from_model:[78,2,1,""]},"flytekit.common.core.identifier.TaskExecutionIdentifier":{from_python_std:[78,2,1,""],promote_from_model:[78,2,1,""]},"flytekit.common.core.identifier.WorkflowExecutionIdentifier":{from_python_std:[78,2,1,""],promote_from_model:[78,2,1,""]},"flytekit.common.exceptions":{base:[79,0,0,"-"],scopes:[79,0,0,"-"],system:[79,0,0,"-"],user:[79,0,0,"-"]},"flytekit.common.exceptions.base":{FlyteException:[79,5,1,""],FlyteRecoverableException:[79,5,1,""]},"flytekit.common.exceptions.scopes":{FlyteScopedException:[79,5,1,""],FlyteScopedSystemException:[79,5,1,""],FlyteScopedUserException:[79,5,1,""],system_entry_point:[79,3,1,""],user_entry_point:[79,3,1,""]},"flytekit.common.exceptions.scopes.FlyteScopedException":{error_code:[79,2,1,""],kind:[79,2,1,""],traceback:[79,2,1,""],type:[79,2,1,""],value:[79,2,1,""],verbose_message:[79,2,1,""]},"flytekit.common.exceptions.scopes.FlyteScopedSystemException":{verbose_message:[79,2,1,""]},"flytekit.common.exceptions.scopes.FlyteScopedUserException":{verbose_message:[79,2,1,""]},"flytekit.common.exceptions.system":{FlyteEntrypointNotLoadable:[79,5,1,""],FlyteNotImplementedException:[79,5,1,""],FlyteSystemAssertion:[79,5,1,""],FlyteSystemException:[79,5,1,""]},"flytekit.common.exceptions.user":{FlyteAssertion:[79,5,1,""],FlyteAuthenticationException:[79,5,1,""],FlyteEntityAlreadyExistsException:[79,5,1,""],FlyteEntityNotExistException:[79,5,1,""],FlyteRecoverableException:[79,5,1,""],FlyteTimeout:[79,5,1,""],FlyteTypeException:[79,5,1,""],FlyteUserException:[79,5,1,""],FlyteValidationException:[79,5,1,""],FlyteValueException:[79,5,1,""]},"flytekit.common.interface":{BindingData:[77,1,1,""],TypedInterface:[77,1,1,""]},"flytekit.common.interface.BindingData":{from_python_std:[77,2,1,""],promote_from_model:[77,2,1,""]},"flytekit.common.interface.TypedInterface":{create_bindings_for_inputs:[77,2,1,""],promote_from_model:[77,2,1,""]},"flytekit.common.launch_plan":{SdkLaunchPlan:[77,1,1,""],SdkRunnableLaunchPlan:[77,1,1,""]},"flytekit.common.launch_plan.SdkLaunchPlan":{"interface":[77,2,1,""],auth_role:[77,2,1,""],entity_type_text:[77,2,1,""],execute_with_literals:[77,2,1,""],fetch:[77,2,1,""],id:[77,2,1,""],is_scheduled:[77,2,1,""],launch_with_literals:[77,2,1,""],promote_from_model:[77,2,1,""],resource_type:[77,2,1,""],update:[77,2,1,""],validate:[77,2,1,""]},"flytekit.common.launch_plan.SdkRunnableLaunchPlan":{"interface":[77,2,1,""],fetch:[77,2,1,""],from_flyte_idl:[77,2,1,""],promote_from_model:[77,2,1,""],register:[77,2,1,""],serialize:[77,2,1,""],upstream_entities:[77,2,1,""],workflow_id:[77,2,1,""]},"flytekit.common.mixins":{artifact:[80,0,0,"-"],hash:[80,0,0,"-"],launchable:[80,0,0,"-"],registerable:[80,0,0,"-"]},"flytekit.common.mixins.artifact":{ExecutionArtifact:[80,1,1,""]},"flytekit.common.mixins.artifact.ExecutionArtifact":{error:[80,2,1,""],inputs:[80,2,1,""],is_complete:[80,2,1,""],outputs:[80,2,1,""],sync:[80,2,1,""],wait_for_completion:[80,2,1,""]},"flytekit.common.mixins.hash":{HashOnReferenceMixin:[80,1,1,""]},"flytekit.common.mixins.launchable":{LaunchableEntity:[80,1,1,""]},"flytekit.common.mixins.launchable.LaunchableEntity":{execute:[80,2,1,""],execute_with_literals:[80,2,1,""],launch:[80,2,1,""],launch_with_literals:[80,2,1,""]},"flytekit.common.mixins.registerable":{RegisterableEntity:[80,1,1,""]},"flytekit.common.mixins.registerable.RegisterableEntity":{auto_assign_name:[80,2,1,""],entity_type_text:[80,2,1,""],has_valid_name:[80,2,1,""],instantiated_in:[80,2,1,""],platform_valid_name:[80,2,1,""],register:[80,2,1,""],resource_type:[80,2,1,""],serialize:[80,2,1,""],upstream_entities:[80,2,1,""]},"flytekit.common.nodes":{OutputParameterMapper:[77,1,1,""],ParameterMapper:[77,1,1,""],SdkNode:[77,1,1,""],SdkNodeExecution:[77,1,1,""]},"flytekit.common.nodes.SdkNode":{assign_id_and_return:[77,2,1,""],executable_sdk_object:[77,2,1,""],outputs:[77,2,1,""],promote_from_model:[77,2,1,""],upstream_node_ids:[77,2,1,""],upstream_nodes:[77,2,1,""],with_overrides:[77,2,1,""]},"flytekit.common.nodes.SdkNodeExecution":{error:[77,2,1,""],executions:[77,2,1,""],inputs:[77,2,1,""],is_complete:[77,2,1,""],outputs:[77,2,1,""],promote_from_model:[77,2,1,""],sync:[77,2,1,""],task_executions:[77,2,1,""],workflow_executions:[77,2,1,""]},"flytekit.common.notifications":{Email:[77,1,1,""],Notification:[77,1,1,""],PagerDuty:[77,1,1,""],Slack:[77,1,1,""]},"flytekit.common.notifications.Email":{promote_from_model:[77,2,1,""]},"flytekit.common.notifications.Notification":{VALID_PHASES:[77,4,1,""],from_flyte_idl:[77,2,1,""]},"flytekit.common.notifications.PagerDuty":{promote_from_model:[77,2,1,""]},"flytekit.common.notifications.Slack":{promote_from_model:[77,2,1,""]},"flytekit.common.promise":{Input:[77,1,1,""],NodeOutput:[77,1,1,""]},"flytekit.common.promise.Input":{help:[77,2,1,""],name:[77,2,1,""],promise:[77,2,1,""],promote_from_model:[77,2,1,""],rename_and_return_reference:[77,2,1,""],sdk_default:[77,2,1,""],sdk_required:[77,2,1,""],sdk_type:[77,2,1,""]},"flytekit.common.promise.NodeOutput":{node_id:[77,2,1,""],promote_from_model:[77,2,1,""],sdk_node:[77,2,1,""],sdk_type:[77,2,1,""]},"flytekit.common.schedules":{CronSchedule:[77,1,1,""],FixedRate:[77,1,1,""]},"flytekit.common.schedules.CronSchedule":{promote_from_model:[77,2,1,""]},"flytekit.common.schedules.FixedRate":{promote_from_model:[77,2,1,""]},"flytekit.common.sdk_bases":{ExtendedSdkType:[77,1,1,""]},"flytekit.common.sdk_bases.ExtendedSdkType":{from_flyte_idl:[77,2,1,""],promote_from_model:[77,2,1,""]},"flytekit.common.tasks":{executions:[81,0,0,"-"],generic_spark_task:[81,0,0,"-"],hive_task:[81,0,0,"-"],output:[81,0,0,"-"],presto_task:[81,0,0,"-"],pytorch_task:[81,0,0,"-"],raw_container:[81,0,0,"-"],sagemaker:[82,0,0,"-"],sdk_dynamic:[81,0,0,"-"],sdk_runnable:[81,0,0,"-"],sidecar_task:[81,0,0,"-"],spark_task:[81,0,0,"-"],task:[81,0,0,"-"]},"flytekit.common.tasks.executions":{SdkTaskExecution:[81,1,1,""]},"flytekit.common.tasks.executions.SdkTaskExecution":{error:[81,2,1,""],get_child_executions:[81,2,1,""],inputs:[81,2,1,""],is_complete:[81,2,1,""],outputs:[81,2,1,""],promote_from_model:[81,2,1,""],sync:[81,2,1,""]},"flytekit.common.tasks.generic_spark_task":{SdkGenericSparkTask:[81,1,1,""]},"flytekit.common.tasks.generic_spark_task.SdkGenericSparkTask":{add_inputs:[81,2,1,""]},"flytekit.common.tasks.hive_task":{SdkHiveJob:[81,1,1,""],SdkHiveTask:[81,1,1,""]},"flytekit.common.tasks.hive_task.SdkHiveTask":{execute:[81,2,1,""]},"flytekit.common.tasks.output":{OutputReference:[81,1,1,""]},"flytekit.common.tasks.output.OutputReference":{sdk_type:[81,2,1,""],sdk_value:[81,2,1,""],set:[81,2,1,""],value:[81,2,1,""]},"flytekit.common.tasks.presto_task":{SdkPrestoTask:[81,1,1,""]},"flytekit.common.tasks.presto_task.SdkPrestoTask":{add_inputs:[81,2,1,""],catalog:[81,2,1,""],routing_group:[81,2,1,""],schema:[81,2,1,""]},"flytekit.common.tasks.pytorch_task":{SdkPyTorchTask:[81,1,1,""],SdkRunnablePytorchContainer:[81,1,1,""]},"flytekit.common.tasks.pytorch_task.SdkRunnablePytorchContainer":{args:[81,2,1,""]},"flytekit.common.tasks.raw_container":{SdkRawContainerTask:[81,1,1,""],types_to_variable:[81,3,1,""]},"flytekit.common.tasks.raw_container.SdkRawContainerTask":{METADATA_FORMAT_JSON:[81,4,1,""],METADATA_FORMAT_PROTO:[81,4,1,""],METADATA_FORMAT_YAML:[81,4,1,""],add_inputs:[81,2,1,""],add_outputs:[81,2,1,""]},"flytekit.common.tasks.sagemaker":{hpo_job_task:[82,0,0,"-"],training_job_task:[82,0,0,"-"]},"flytekit.common.tasks.sagemaker.hpo_job_task":{SdkSimpleHyperparameterTuningJobTask:[82,1,1,""]},"flytekit.common.tasks.sagemaker.training_job_task":{SdkBuiltinAlgorithmTrainingJobTask:[82,1,1,""]},"flytekit.common.tasks.sagemaker.training_job_task.SdkBuiltinAlgorithmTrainingJobTask":{training_job_model:[82,2,1,""]},"flytekit.common.tasks.sdk_dynamic":{PromiseOutputReference:[81,1,1,""],SdkDynamicTask:[81,1,1,""]},"flytekit.common.tasks.sdk_dynamic.PromiseOutputReference":{raw_value:[81,2,1,""],set:[81,2,1,""]},"flytekit.common.tasks.sdk_dynamic.SdkDynamicTask":{execute:[81,2,1,""]},"flytekit.common.tasks.sdk_runnable":{ExecutionParameters:[81,1,1,""],SdkRunnableContainer:[81,1,1,""],SdkRunnableTask:[81,1,1,""]},"flytekit.common.tasks.sdk_runnable.ExecutionParameters":{execution_date:[81,2,1,""],execution_id:[81,2,1,""],logging:[81,2,1,""],stats:[81,2,1,""],working_directory:[81,2,1,""]},"flytekit.common.tasks.sdk_runnable.SdkRunnableContainer":{args:[81,2,1,""],env:[81,2,1,""],image:[81,2,1,""]},"flytekit.common.tasks.sdk_runnable.SdkRunnableTask":{add_inputs:[81,2,1,""],execute:[81,2,1,""],local_execute:[81,2,1,""],promote_from_model:[81,2,1,""],task_function:[81,2,1,""],task_function_name:[81,2,1,""],task_module:[81,2,1,""],unit_test:[81,2,1,""],validate:[81,2,1,""]},"flytekit.common.tasks.sidecar_task":{SdkSidecarTask:[81,1,1,""]},"flytekit.common.tasks.sidecar_task.SdkSidecarTask":{reconcile_partial_pod_spec_and_task:[81,2,1,""]},"flytekit.common.tasks.spark_task":{GlobalSparkContext:[81,1,1,""],SdkRunnableSparkContainer:[81,1,1,""],SdkSparkTask:[81,1,1,""]},"flytekit.common.tasks.spark_task.GlobalSparkContext":{get_spark_context:[81,2,1,""]},"flytekit.common.tasks.spark_task.SdkRunnableSparkContainer":{args:[81,2,1,""]},"flytekit.common.tasks.spark_task.SdkSparkTask":{execute:[81,2,1,""]},"flytekit.common.tasks.task":{SdkTask:[81,1,1,""]},"flytekit.common.tasks.task.SdkTask":{"interface":[81,2,1,""],add_inputs:[81,2,1,""],add_outputs:[81,2,1,""],assign_custom_and_return:[81,2,1,""],assign_type_and_return:[81,2,1,""],entity_type_text:[81,2,1,""],fetch:[81,2,1,""],fetch_latest:[81,2,1,""],launch_with_literals:[81,2,1,""],promote_from_model:[81,2,1,""],register:[81,2,1,""],register_and_launch:[81,2,1,""],resource_type:[81,2,1,""],serialize:[81,2,1,""],upstream_entities:[81,2,1,""],validate:[81,2,1,""]},"flytekit.common.types":{base_sdk_types:[83,0,0,"-"],blobs:[83,0,0,"-"],containers:[83,0,0,"-"],helpers:[83,0,0,"-"],impl:[84,0,0,"-"],primitives:[83,0,0,"-"],proto:[83,0,0,"-"],schema:[83,0,0,"-"]},"flytekit.common.types.base_sdk_types":{FlyteSdkType:[83,1,1,""],FlyteSdkValue:[83,1,1,""],InstantiableType:[83,1,1,""],Void:[83,1,1,""]},"flytekit.common.types.base_sdk_types.FlyteSdkType":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],to_flyte_literal_type:[83,2,1,""]},"flytekit.common.types.base_sdk_types.FlyteSdkValue":{from_flyte_idl:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.base_sdk_types.Void":{from_python_std:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.blobs":{Blob:[83,1,1,""],BlobInstantiator:[83,1,1,""],CSV:[83,1,1,""],CsvInstantiator:[83,1,1,""],MultiPartBlob:[83,1,1,""],MultiPartBlobInstantiator:[83,1,1,""],MultiPartCSV:[83,1,1,""],MultiPartCsvInstantiator:[83,1,1,""]},"flytekit.common.types.blobs.Blob":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.blobs.BlobInstantiator":{create_at_known_location:[83,2,1,""],fetch:[83,2,1,""]},"flytekit.common.types.blobs.CSV":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""]},"flytekit.common.types.blobs.CsvInstantiator":{create_at_known_location:[83,2,1,""],fetch:[83,2,1,""]},"flytekit.common.types.blobs.MultiPartBlob":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.blobs.MultiPartBlobInstantiator":{create_at_known_location:[83,2,1,""],fetch:[83,2,1,""]},"flytekit.common.types.blobs.MultiPartCSV":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""]},"flytekit.common.types.blobs.MultiPartCsvInstantiator":{create_at_known_location:[83,2,1,""],fetch:[83,2,1,""]},"flytekit.common.types.containers":{CollectionType:[83,1,1,""],List:[83,3,1,""],ListImpl:[83,1,1,""],TypedCollectionType:[83,1,1,""],TypedListImpl:[83,1,1,""]},"flytekit.common.types.containers.TypedCollectionType":{sub_type:[83,2,1,""]},"flytekit.common.types.containers.TypedListImpl":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""],verbose_string:[83,2,1,""]},"flytekit.common.types.helpers":{get_sdk_type_from_literal_type:[83,3,1,""],get_sdk_value_from_literal:[83,3,1,""],infer_sdk_type_from_literal:[83,3,1,""],pack_python_std_map_to_literal_map:[83,3,1,""],python_std_to_sdk_type:[83,3,1,""],unpack_literal_map_to_sdk_object:[83,3,1,""],unpack_literal_map_to_sdk_python_std:[83,3,1,""]},"flytekit.common.types.impl":{blobs:[84,0,0,"-"],schema:[84,0,0,"-"]},"flytekit.common.types.impl.blobs":{Blob:[84,1,1,""],MultiPartBlob:[84,1,1,""]},"flytekit.common.types.impl.blobs.Blob":{create_at_any_location:[84,2,1,""],create_at_known_location:[84,2,1,""],download:[84,2,1,""],fetch:[84,2,1,""],from_python_std:[84,2,1,""],from_string:[84,2,1,""],local_path:[84,2,1,""],mode:[84,2,1,""],promote_from_model:[84,2,1,""],remote_location:[84,2,1,""],upload:[84,2,1,""]},"flytekit.common.types.impl.blobs.MultiPartBlob":{create_at_any_location:[84,2,1,""],create_at_known_location:[84,2,1,""],create_part:[84,2,1,""],download:[84,2,1,""],fetch:[84,2,1,""],from_python_std:[84,2,1,""],from_string:[84,2,1,""],local_path:[84,2,1,""],mode:[84,2,1,""],promote_from_model:[84,2,1,""],remote_location:[84,2,1,""],upload:[84,2,1,""]},"flytekit.common.types.impl.schema":{Schema:[84,1,1,""],SchemaType:[84,1,1,""],get_supported_literal_types_to_pandas_types:[84,3,1,""]},"flytekit.common.types.impl.schema.Schema":{cast_to:[84,2,1,""],compare_dataframe_to_schema:[84,2,1,""],create_at_any_location:[84,2,1,""],create_at_known_location:[84,2,1,""],create_from_hive_query:[84,2,1,""],download:[84,2,1,""],fetch:[84,2,1,""],from_python_std:[84,2,1,""],from_string:[84,2,1,""],get_write_partition_to_hive_table_query:[84,2,1,""],local_path:[84,2,1,""],mode:[84,2,1,""],multipart_blob:[84,2,1,""],promote_from_model:[84,2,1,""],remote_location:[84,2,1,""],remote_prefix:[84,2,1,""],type:[84,2,1,""],upload:[84,2,1,""],uri:[84,2,1,""]},"flytekit.common.types.impl.schema.SchemaType":{columns:[84,2,1,""],promote_from_model:[84,2,1,""],sdk_columns:[84,2,1,""]},"flytekit.common.types.primitives":{Boolean:[83,1,1,""],Datetime:[83,1,1,""],Float:[83,1,1,""],Generic:[83,1,1,""],Integer:[83,1,1,""],String:[83,1,1,""],Timedelta:[83,1,1,""]},"flytekit.common.types.primitives.Boolean":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.primitives.Datetime":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.primitives.Float":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.primitives.Generic":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],long_string:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.primitives.Integer":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.primitives.String":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""],verbose_string:[83,2,1,""]},"flytekit.common.types.primitives.Timedelta":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.proto":{Protobuf:[83,1,1,""],ProtobufType:[83,1,1,""],create_protobuf:[83,3,1,""]},"flytekit.common.types.proto.Protobuf":{PB_FIELD_KEY:[83,4,1,""],TAG_PREFIX:[83,4,1,""],from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.proto.ProtobufType":{descriptor:[83,2,1,""],pb_type:[83,2,1,""],tag:[83,2,1,""]},"flytekit.common.types.schema":{Schema:[83,1,1,""],SchemaInstantiator:[83,1,1,""],schema_instantiator:[83,3,1,""],schema_instantiator_from_proto:[83,3,1,""]},"flytekit.common.types.schema.Schema":{from_python_std:[83,2,1,""],from_string:[83,2,1,""],is_castable_from:[83,2,1,""],promote_from_model:[83,2,1,""],short_class_string:[83,2,1,""],short_string:[83,2,1,""],to_flyte_literal_type:[83,2,1,""],to_python_std:[83,2,1,""]},"flytekit.common.types.schema.SchemaInstantiator":{columns:[83,2,1,""],create:[83,2,1,""],create_at_known_location:[83,2,1,""],create_from_hive_query:[83,2,1,""],fetch:[83,2,1,""],schema_type:[83,2,1,""]},"flytekit.common.utils":{AutoDeletingTempDir:[77,1,1,""],Directory:[77,1,1,""],ExitStack:[77,1,1,""],PerformanceTimer:[77,1,1,""],fqdn:[77,3,1,""],fqdn_safe:[77,3,1,""],get_version_message:[77,3,1,""],load_proto_from_file:[77,3,1,""],write_proto_to_file:[77,3,1,""]},"flytekit.common.utils.AutoDeletingTempDir":{force_cleanup:[77,2,1,""],get_named_tempfile:[77,2,1,""]},"flytekit.common.utils.Directory":{list_dir:[77,2,1,""],name:[77,2,1,""]},"flytekit.common.utils.ExitStack":{enter_context:[77,2,1,""],pop_all:[77,2,1,""]},"flytekit.common.workflow":{Output:[77,1,1,""],SdkWorkflow:[77,1,1,""],build_sdk_workflow_from_metaclass:[77,3,1,""]},"flytekit.common.workflow.Output":{"var":[77,2,1,""],binding_data:[77,2,1,""],name:[77,2,1,""],rename_and_return_reference:[77,2,1,""]},"flytekit.common.workflow.SdkWorkflow":{"interface":[77,2,1,""],create_launch_plan:[77,2,1,""],entity_type_text:[77,2,1,""],fetch:[77,2,1,""],get_non_system_nodes:[77,2,1,""],get_sub_workflows:[77,2,1,""],promote_from_model:[77,2,1,""],register:[77,2,1,""],resource_type:[77,2,1,""],serialize:[77,2,1,""],upstream_entities:[77,2,1,""],user_inputs:[77,2,1,""],validate:[77,2,1,""]},"flytekit.common.workflow_execution":{SdkWorkflowExecution:[77,1,1,""]},"flytekit.common.workflow_execution.SdkWorkflowExecution":{error:[77,2,1,""],fetch:[77,2,1,""],get_node_executions:[77,2,1,""],inputs:[77,2,1,""],is_complete:[77,2,1,""],node_executions:[77,2,1,""],outputs:[77,2,1,""],promote_from_model:[77,2,1,""],sync:[77,2,1,""],terminate:[77,2,1,""]},"flytekit.configuration":{TemporaryConfiguration:[85,1,1,""],auth:[85,0,0,"-"],aws:[85,0,0,"-"],common:[85,0,0,"-"],creds:[85,0,0,"-"],gcp:[85,0,0,"-"],internal:[85,0,0,"-"],platform:[85,0,0,"-"],resources:[85,0,0,"-"],sdk:[85,0,0,"-"],set_flyte_config_file:[85,3,1,""],statsd:[85,0,0,"-"]},"flytekit.configuration.auth":{ASSUMABLE_IAM_ROLE:[85,6,1,""],KUBERNETES_SERVICE_ACCOUNT:[85,6,1,""]},"flytekit.configuration.common":{FlyteBoolConfigurationEntry:[85,1,1,""],FlyteConfigurationFile:[85,1,1,""],FlyteIntegerConfigurationEntry:[85,1,1,""],FlyteRequiredBoolConfigurationEntry:[85,1,1,""],FlyteRequiredIntegerConfigurationEntry:[85,1,1,""],FlyteRequiredStringConfigurationEntry:[85,1,1,""],FlyteRequiredStringListConfigurationEntry:[85,1,1,""],FlyteStringConfigurationEntry:[85,1,1,""],FlyteStringListConfigurationEntry:[85,1,1,""],format_section_key:[85,3,1,""]},"flytekit.configuration.common.FlyteConfigurationFile":{get_bool:[85,2,1,""],get_int:[85,2,1,""],get_string:[85,2,1,""],reset_config:[85,2,1,""]},"flytekit.configuration.creds":{AUTHORIZATION_METADATA_KEY:[85,6,1,""],AUTH_MODE:[85,6,1,""],CLIENT_CREDENTIALS_SCOPE:[85,6,1,""],CLIENT_CREDENTIALS_SECRET:[85,6,1,""],CLIENT_ID:[85,6,1,""],REDIRECT_URI:[85,6,1,""]},"flytekit.configuration.internal":{look_up_version_from_image_tag:[85,3,1,""]},"flytekit.configuration.platform":{AUTH:[85,6,1,""],HTTP_URL:[85,6,1,""]},"flytekit.configuration.resources":{DEFAULT_CPU_LIMIT:[85,6,1,""],DEFAULT_CPU_REQUEST:[85,6,1,""],DEFAULT_GPU_LIMIT:[85,6,1,""],DEFAULT_GPU_REQUEST:[85,6,1,""],DEFAULT_MEMORY_LIMIT:[85,6,1,""],DEFAULT_MEMORY_REQUEST:[85,6,1,""],DEFAULT_STORAGE_LIMIT:[85,6,1,""],DEFAULT_STORAGE_REQUEST:[85,6,1,""]},"flytekit.configuration.sdk":{EXECUTION_ENGINE:[85,6,1,""],LAUNCH_PLAN_NAME_FORMAT:[85,6,1,""],LOCAL_SANDBOX:[85,6,1,""],LOGGING_LEVEL:[85,6,1,""],NAME_FORMAT:[85,6,1,""],PARQUET_ENGINE:[85,6,1,""],ROLE:[85,6,1,""],SDK_PYTHON_VENV:[85,6,1,""],TASK_NAME_FORMAT:[85,6,1,""],TYPE_ENGINES:[85,6,1,""],WORKFLOW_NAME_FORMAT:[85,6,1,""],WORKFLOW_PACKAGES:[85,6,1,""]},"flytekit.contrib":{notebook:[87,0,0,"-"],sensors:[88,0,0,"-"]},"flytekit.contrib.notebook":{helper:[87,0,0,"-"],supported_types:[87,0,0,"-"],tasks:[87,0,0,"-"]},"flytekit.contrib.notebook.helper":{get_spark_context:[87,3,1,""],record_outputs:[87,3,1,""]},"flytekit.contrib.notebook.tasks":{SdkNotebookSparkTask:[87,1,1,""],SdkNotebookTask:[87,1,1,""],python_notebook:[87,3,1,""],spark_notebook:[87,3,1,""]},"flytekit.contrib.notebook.tasks.SdkNotebookTask":{add_inputs:[87,2,1,""],add_outputs:[87,2,1,""],container:[87,2,1,""],execute:[87,2,1,""],local_execute:[87,2,1,""],unit_test:[87,2,1,""]},"flytekit.contrib.sensors":{base_sensor:[88,0,0,"-"],impl:[88,0,0,"-"],task:[88,0,0,"-"]},"flytekit.contrib.sensors.base_sensor":{Sensor:[88,1,1,""]},"flytekit.contrib.sensors.base_sensor.Sensor":{sense:[88,2,1,""],sense_with_wait_hint:[88,2,1,""]},"flytekit.contrib.sensors.impl":{HiveFilteredPartitionSensor:[88,1,1,""],HiveNamedPartitionSensor:[88,1,1,""],HiveTableSensor:[88,1,1,""]},"flytekit.contrib.sensors.task":{SensorTask:[88,1,1,""],sensor_task:[88,3,1,""]},"flytekit.engines":{common:[89,0,0,"-"],flyte:[90,0,0,"-"],loader:[89,0,0,"-"],unit:[91,0,0,"-"]},"flytekit.engines.common":{BaseExecutionEngineFactory:[89,1,1,""],BaseLaunchPlanLauncher:[89,1,1,""],BaseNodeExecution:[89,1,1,""],BaseTaskExecution:[89,1,1,""],BaseTaskExecutor:[89,1,1,""],BaseWorkflowExecution:[89,1,1,""],BaseWorkflowExecutor:[89,1,1,""],EngineContext:[89,1,1,""]},"flytekit.engines.common.BaseExecutionEngineFactory":{fetch_latest_task:[89,2,1,""],fetch_launch_plan:[89,2,1,""],fetch_task:[89,2,1,""],fetch_workflow:[89,2,1,""],fetch_workflow_execution:[89,2,1,""],get_launch_plan:[89,2,1,""],get_node_execution:[89,2,1,""],get_task:[89,2,1,""],get_task_execution:[89,2,1,""],get_workflow:[89,2,1,""],get_workflow_execution:[89,2,1,""]},"flytekit.engines.common.BaseLaunchPlanLauncher":{launch:[89,2,1,""],register:[89,2,1,""],sdk_launch_plan:[89,2,1,""],update:[89,2,1,""]},"flytekit.engines.common.BaseNodeExecution":{get_inputs:[89,2,1,""],get_outputs:[89,2,1,""],get_subworkflow_executions:[89,2,1,""],get_task_executions:[89,2,1,""],sdk_node_execution:[89,2,1,""],sync:[89,2,1,""]},"flytekit.engines.common.BaseTaskExecution":{get_child_executions:[89,2,1,""],get_inputs:[89,2,1,""],get_outputs:[89,2,1,""],sdk_task_execution:[89,2,1,""],sync:[89,2,1,""]},"flytekit.engines.common.BaseTaskExecutor":{execute:[89,2,1,""],launch:[89,2,1,""],register:[89,2,1,""],sdk_task:[89,2,1,""]},"flytekit.engines.common.BaseWorkflowExecution":{get_inputs:[89,2,1,""],get_node_executions:[89,2,1,""],get_outputs:[89,2,1,""],sdk_workflow_execution:[89,2,1,""],sync:[89,2,1,""],terminate:[89,2,1,""]},"flytekit.engines.common.BaseWorkflowExecutor":{register:[89,2,1,""],sdk_workflow:[89,2,1,""]},"flytekit.engines.common.EngineContext":{execution_date:[89,2,1,""],execution_id:[89,2,1,""],logging:[89,2,1,""],stats:[89,2,1,""],working_directory:[89,2,1,""]},"flytekit.engines.flyte":{engine:[90,0,0,"-"]},"flytekit.engines.flyte.engine":{FlyteEngineFactory:[90,1,1,""],FlyteLaunchPlan:[90,1,1,""],FlyteNodeExecution:[90,1,1,""],FlyteTask:[90,1,1,""],FlyteTaskExecution:[90,1,1,""],FlyteWorkflow:[90,1,1,""],FlyteWorkflowExecution:[90,1,1,""]},"flytekit.engines.flyte.engine.FlyteEngineFactory":{fetch_latest_task:[90,2,1,""],fetch_launch_plan:[90,2,1,""],fetch_task:[90,2,1,""],fetch_workflow:[90,2,1,""],fetch_workflow_execution:[90,2,1,""],get_launch_plan:[90,2,1,""],get_node_execution:[90,2,1,""],get_task:[90,2,1,""],get_task_execution:[90,2,1,""],get_workflow:[90,2,1,""],get_workflow_execution:[90,2,1,""]},"flytekit.engines.flyte.engine.FlyteLaunchPlan":{execute:[90,2,1,""],launch:[90,2,1,""],register:[90,2,1,""],update:[90,2,1,""]},"flytekit.engines.flyte.engine.FlyteNodeExecution":{get_inputs:[90,2,1,""],get_outputs:[90,2,1,""],get_subworkflow_executions:[90,2,1,""],get_task_executions:[90,2,1,""],sync:[90,2,1,""]},"flytekit.engines.flyte.engine.FlyteTask":{execute:[90,2,1,""],launch:[90,2,1,""],register:[90,2,1,""]},"flytekit.engines.flyte.engine.FlyteTaskExecution":{get_child_executions:[90,2,1,""],get_inputs:[90,2,1,""],get_outputs:[90,2,1,""],sync:[90,2,1,""]},"flytekit.engines.flyte.engine.FlyteWorkflow":{register:[90,2,1,""]},"flytekit.engines.flyte.engine.FlyteWorkflowExecution":{get_inputs:[90,2,1,""],get_node_executions:[90,2,1,""],get_outputs:[90,2,1,""],sync:[90,2,1,""],terminate:[90,2,1,""]},"flytekit.engines.loader":{get_engine:[89,3,1,""]},"flytekit.engines.unit":{engine:[91,0,0,"-"],mock_stats:[91,0,0,"-"]},"flytekit.engines.unit.engine":{DynamicTask:[91,1,1,""],HiveTask:[91,1,1,""],ReturnOutputsTask:[91,1,1,""],UnitTestEngineFactory:[91,1,1,""],UnitTestEngineTask:[91,1,1,""]},"flytekit.engines.unit.engine.DynamicTask":{execute_array_task:[91,2,1,""],fulfil_bindings:[91,2,1,""],has_workflow_node:[91,2,1,""]},"flytekit.engines.unit.engine.UnitTestEngineFactory":{fetch_latest_task:[91,2,1,""],fetch_launch_plan:[91,2,1,""],fetch_task:[91,2,1,""],fetch_workflow:[91,2,1,""],fetch_workflow_execution:[91,2,1,""],get_launch_plan:[91,2,1,""],get_node_execution:[91,2,1,""],get_task:[91,2,1,""],get_task_execution:[91,2,1,""],get_workflow:[91,2,1,""],get_workflow_execution:[91,2,1,""]},"flytekit.engines.unit.engine.UnitTestEngineTask":{execute:[91,2,1,""],launch:[91,2,1,""],register:[91,2,1,""]},"flytekit.engines.unit.mock_stats":{MockStats:[91,1,1,""]},"flytekit.engines.unit.mock_stats.MockStats":{current_tags:[91,2,1,""],current_value:[91,2,1,""],decr:[91,2,1,""],gauge:[91,2,1,""],incr:[91,2,1,""],timer:[91,2,1,""],timing:[91,2,1,""]},"flytekit.interfaces":{data:[93,0,0,"-"],random:[92,0,0,"-"],stats:[98,0,0,"-"]},"flytekit.interfaces.data":{common:[93,0,0,"-"],data_proxy:[93,0,0,"-"],gcs:[94,0,0,"-"],http:[95,0,0,"-"],local:[96,0,0,"-"],s3:[97,0,0,"-"]},"flytekit.interfaces.data.common":{DataProxy:[93,1,1,""]},"flytekit.interfaces.data.common.DataProxy":{download:[93,2,1,""],download_directory:[93,2,1,""],exists:[93,2,1,""],get_random_directory:[93,2,1,""],get_random_path:[93,2,1,""],upload:[93,2,1,""],upload_directory:[93,2,1,""]},"flytekit.interfaces.data.data_proxy":{Data:[93,1,1,""],LocalDataContext:[93,1,1,""],LocalWorkingDirectoryContext:[93,1,1,""],RemoteDataContext:[93,1,1,""]},"flytekit.interfaces.data.data_proxy.Data":{data_exists:[93,2,1,""],get_data:[93,2,1,""],get_remote_directory:[93,2,1,""],get_remote_path:[93,2,1,""],put_data:[93,2,1,""]},"flytekit.interfaces.data.data_proxy.LocalWorkingDirectoryContext":{get:[93,2,1,""]},"flytekit.interfaces.data.gcs":{gcs_proxy:[94,0,0,"-"]},"flytekit.interfaces.data.gcs.gcs_proxy":{GCSProxy:[94,1,1,""]},"flytekit.interfaces.data.gcs.gcs_proxy.GCSProxy":{download:[94,2,1,""],download_directory:[94,2,1,""],exists:[94,2,1,""],get_random_directory:[94,2,1,""],get_random_path:[94,2,1,""],upload:[94,2,1,""],upload_directory:[94,2,1,""]},"flytekit.interfaces.data.http":{http_data_proxy:[95,0,0,"-"]},"flytekit.interfaces.data.http.http_data_proxy":{HttpFileProxy:[95,1,1,""]},"flytekit.interfaces.data.http.http_data_proxy.HttpFileProxy":{download:[95,2,1,""],download_directory:[95,2,1,""],exists:[95,2,1,""],get_random_directory:[95,2,1,""],get_random_path:[95,2,1,""],upload:[95,2,1,""],upload_directory:[95,2,1,""]},"flytekit.interfaces.data.local":{local_file_proxy:[96,0,0,"-"]},"flytekit.interfaces.data.local.local_file_proxy":{LocalFileProxy:[96,1,1,""]},"flytekit.interfaces.data.local.local_file_proxy.LocalFileProxy":{download:[96,2,1,""],download_directory:[96,2,1,""],exists:[96,2,1,""],get_random_directory:[96,2,1,""],get_random_path:[96,2,1,""],upload:[96,2,1,""],upload_directory:[96,2,1,""]},"flytekit.interfaces.data.s3":{s3proxy:[97,0,0,"-"]},"flytekit.interfaces.data.s3.s3proxy":{AwsS3Proxy:[97,1,1,""]},"flytekit.interfaces.data.s3.s3proxy.AwsS3Proxy":{download:[97,2,1,""],download_directory:[97,2,1,""],exists:[97,2,1,""],get_random_directory:[97,2,1,""],get_random_path:[97,2,1,""],upload:[97,2,1,""],upload_directory:[97,2,1,""]},"flytekit.interfaces.random":{random:[92,6,1,""],seed_flyte_random:[92,3,1,""]},"flytekit.interfaces.stats":{client:[98,0,0,"-"],taggable:[98,0,0,"-"]},"flytekit.interfaces.stats.client":{ScopeableStatsProxy:[98,1,1,""],StatsClientProxy:[98,1,1,""],get_base_stats:[98,3,1,""],get_stats:[98,3,1,""]},"flytekit.interfaces.stats.client.ScopeableStatsProxy":{EXTENDABLE_FUNC:[98,4,1,""],get_stats:[98,2,1,""],pipeline:[98,2,1,""]},"flytekit.interfaces.stats.taggable":{TaggableStats:[98,1,1,""],get_stats:[98,3,1,""]},"flytekit.interfaces.stats.taggable.TaggableStats":{EXTENDABLE_FUNC:[98,4,1,""],clear_tags:[98,2,1,""],extend_tags:[98,2,1,""],full_prefix:[98,2,1,""],get_stats:[98,2,1,""],pipeline:[98,2,1,""]},"flytekit.models":{"interface":[99,0,0,"-"],admin:[100,0,0,"-"],array_job:[99,0,0,"-"],common:[99,0,0,"-"],core:[101,0,0,"-"],dynamic_job:[99,0,0,"-"],execution:[99,0,0,"-"],filters:[99,0,0,"-"],launch_plan:[99,0,0,"-"],literals:[99,0,0,"-"],matchable_resource:[99,0,0,"-"],named_entity:[99,0,0,"-"],node_execution:[99,0,0,"-"],presto:[99,0,0,"-"],project:[99,0,0,"-"],qubole:[99,0,0,"-"],sagemaker:[102,0,0,"-"],schedule:[99,0,0,"-"],task:[99,0,0,"-"],types:[99,0,0,"-"],workflow_closure:[99,0,0,"-"]},"flytekit.models.admin":{common:[100,0,0,"-"],task_execution:[100,0,0,"-"],workflow:[100,0,0,"-"]},"flytekit.models.admin.common":{Sort:[100,1,1,""]},"flytekit.models.admin.common.Sort":{Direction:[100,1,1,""],direction:[100,2,1,""],from_flyte_idl:[100,2,1,""],from_python_std:[100,2,1,""],key:[100,2,1,""],to_flyte_idl:[100,2,1,""]},"flytekit.models.admin.common.Sort.Direction":{ASCENDING:[100,4,1,""],DESCENDING:[100,4,1,""]},"flytekit.models.admin.task_execution":{TaskExecution:[100,1,1,""],TaskExecutionClosure:[100,1,1,""]},"flytekit.models.admin.task_execution.TaskExecution":{closure:[100,2,1,""],from_flyte_idl:[100,2,1,""],id:[100,2,1,""],input_uri:[100,2,1,""],is_parent:[100,2,1,""],to_flyte_idl:[100,2,1,""]},"flytekit.models.admin.task_execution.TaskExecutionClosure":{created_at:[100,2,1,""],duration:[100,2,1,""],error:[100,2,1,""],from_flyte_idl:[100,2,1,""],logs:[100,2,1,""],output_uri:[100,2,1,""],phase:[100,2,1,""],started_at:[100,2,1,""],to_flyte_idl:[100,2,1,""],updated_at:[100,2,1,""]},"flytekit.models.admin.workflow":{Workflow:[100,1,1,""],WorkflowClosure:[100,1,1,""],WorkflowSpec:[100,1,1,""]},"flytekit.models.admin.workflow.Workflow":{closure:[100,2,1,""],from_flyte_idl:[100,2,1,""],id:[100,2,1,""],to_flyte_idl:[100,2,1,""]},"flytekit.models.admin.workflow.WorkflowClosure":{compiled_workflow:[100,2,1,""],from_flyte_idl:[100,2,1,""],to_flyte_idl:[100,2,1,""]},"flytekit.models.admin.workflow.WorkflowSpec":{from_flyte_idl:[100,2,1,""],sub_workflows:[100,2,1,""],template:[100,2,1,""],to_flyte_idl:[100,2,1,""]},"flytekit.models.array_job":{ArrayJob:[99,1,1,""]},"flytekit.models.array_job.ArrayJob":{from_dict:[99,2,1,""],min_successes:[99,2,1,""],parallelism:[99,2,1,""],size:[99,2,1,""],to_dict:[99,2,1,""]},"flytekit.models.common":{Annotations:[99,1,1,""],AuthRole:[99,1,1,""],EmailNotification:[99,1,1,""],FlyteABCMeta:[99,1,1,""],FlyteCustomIdlEntity:[99,1,1,""],FlyteIdlEntity:[99,1,1,""],FlyteType:[99,1,1,""],Labels:[99,1,1,""],NamedEntityIdentifier:[99,1,1,""],Notification:[99,1,1,""],PagerDutyNotification:[99,1,1,""],SlackNotification:[99,1,1,""],UrlBlob:[99,1,1,""]},"flytekit.models.common.Annotations":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],values:[99,2,1,""]},"flytekit.models.common.AuthRole":{assumable_iam_role:[99,2,1,""],from_flyte_idl:[99,2,1,""],kubernetes_service_account:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.common.EmailNotification":{from_flyte_idl:[99,2,1,""],recipients_email:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.common.FlyteCustomIdlEntity":{from_dict:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_dict:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.common.FlyteIdlEntity":{is_empty:[99,2,1,""],short_string:[99,2,1,""],to_flyte_idl:[99,2,1,""],verbose_string:[99,2,1,""]},"flytekit.models.common.FlyteType":{from_flyte_idl:[99,2,1,""],short_class_string:[99,2,1,""],verbose_class_string:[99,2,1,""]},"flytekit.models.common.Labels":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],values:[99,2,1,""]},"flytekit.models.common.NamedEntityIdentifier":{domain:[99,2,1,""],from_flyte_idl:[99,2,1,""],name:[99,2,1,""],project:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.common.Notification":{email:[99,2,1,""],from_flyte_idl:[99,2,1,""],pager_duty:[99,2,1,""],phases:[99,2,1,""],slack:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.common.PagerDutyNotification":{from_flyte_idl:[99,2,1,""],recipients_email:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.common.SlackNotification":{from_flyte_idl:[99,2,1,""],recipients_email:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.common.UrlBlob":{bytes:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],url:[99,2,1,""]},"flytekit.models.core":{compiler:[101,0,0,"-"],condition:[101,0,0,"-"],errors:[101,0,0,"-"],execution:[101,0,0,"-"],identifier:[101,0,0,"-"],types:[101,0,0,"-"],workflow:[101,0,0,"-"]},"flytekit.models.core.compiler":{CompiledTask:[101,1,1,""],CompiledWorkflow:[101,1,1,""],CompiledWorkflowClosure:[101,1,1,""],ConnectionSet:[101,1,1,""]},"flytekit.models.core.compiler.CompiledTask":{from_flyte_idl:[101,2,1,""],template:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.compiler.CompiledWorkflow":{connections:[101,2,1,""],from_flyte_idl:[101,2,1,""],template:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.compiler.CompiledWorkflowClosure":{from_flyte_idl:[101,2,1,""],primary:[101,2,1,""],sub_workflows:[101,2,1,""],tasks:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.compiler.ConnectionSet":{IdList:[101,1,1,""],downstream:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],upstream:[101,2,1,""]},"flytekit.models.core.compiler.ConnectionSet.IdList":{from_flyte_idl:[101,2,1,""],ids:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.condition":{BooleanExpression:[101,1,1,""],ComparisonExpression:[101,1,1,""],ConjunctionExpression:[101,1,1,""],Operand:[101,1,1,""]},"flytekit.models.core.condition.BooleanExpression":{comparison:[101,2,1,""],conjunction:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.condition.ComparisonExpression":{Operator:[101,1,1,""],from_flyte_idl:[101,2,1,""],left_value:[101,2,1,""],operator:[101,2,1,""],right_value:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.condition.ComparisonExpression.Operator":{EQ:[101,4,1,""],GT:[101,4,1,""],GTE:[101,4,1,""],LT:[101,4,1,""],LTE:[101,4,1,""],NEQ:[101,4,1,""]},"flytekit.models.core.condition.ConjunctionExpression":{LogicalOperator:[101,1,1,""],from_flyte_idl:[101,2,1,""],left_expression:[101,2,1,""],operator:[101,2,1,""],right_expression:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.condition.ConjunctionExpression.LogicalOperator":{AND:[101,4,1,""],OR:[101,4,1,""]},"flytekit.models.core.condition.Operand":{"var":[101,2,1,""],from_flyte_idl:[101,2,1,""],primitive:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.errors":{ContainerError:[101,1,1,""],ErrorDocument:[101,1,1,""]},"flytekit.models.core.errors.ContainerError":{Kind:[101,1,1,""],code:[101,2,1,""],from_flyte_idl:[101,2,1,""],kind:[101,2,1,""],message:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.errors.ContainerError.Kind":{NON_RECOVERABLE:[101,4,1,""],RECOVERABLE:[101,4,1,""]},"flytekit.models.core.errors.ErrorDocument":{error:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.execution":{ExecutionError:[101,1,1,""],NodeExecutionPhase:[101,1,1,""],TaskExecutionPhase:[101,1,1,""],TaskLog:[101,1,1,""],WorkflowExecutionPhase:[101,1,1,""]},"flytekit.models.core.execution.ExecutionError":{code:[101,2,1,""],error_uri:[101,2,1,""],from_flyte_idl:[101,2,1,""],message:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.execution.NodeExecutionPhase":{ABORTED:[101,4,1,""],FAILED:[101,4,1,""],FAILING:[101,4,1,""],QUEUED:[101,4,1,""],RUNNING:[101,4,1,""],SKIPPED:[101,4,1,""],SUCCEEDED:[101,4,1,""],TIMED_OUT:[101,4,1,""],UNDEFINED:[101,4,1,""],enum_to_string:[101,2,1,""]},"flytekit.models.core.execution.TaskExecutionPhase":{ABORTED:[101,4,1,""],FAILED:[101,4,1,""],QUEUED:[101,4,1,""],RUNNING:[101,4,1,""],SUCCEEDED:[101,4,1,""],UNDEFINED:[101,4,1,""],enum_to_string:[101,2,1,""]},"flytekit.models.core.execution.TaskLog":{MessageFormat:[101,1,1,""],from_flyte_idl:[101,2,1,""],message_format:[101,2,1,""],name:[101,2,1,""],to_flyte_idl:[101,2,1,""],ttl:[101,2,1,""],uri:[101,2,1,""]},"flytekit.models.core.execution.TaskLog.MessageFormat":{CSV:[101,4,1,""],JSON:[101,4,1,""],UNKNOWN:[101,4,1,""]},"flytekit.models.core.execution.WorkflowExecutionPhase":{ABORTED:[101,4,1,""],FAILED:[101,4,1,""],FAILING:[101,4,1,""],QUEUED:[101,4,1,""],RUNNING:[101,4,1,""],SUCCEEDED:[101,4,1,""],SUCCEEDING:[101,4,1,""],TIMED_OUT:[101,4,1,""],UNDEFINED:[101,4,1,""],enum_to_string:[101,2,1,""]},"flytekit.models.core.identifier":{Identifier:[101,1,1,""],NodeExecutionIdentifier:[101,1,1,""],ResourceType:[101,1,1,""],TaskExecutionIdentifier:[101,1,1,""],WorkflowExecutionIdentifier:[101,1,1,""]},"flytekit.models.core.identifier.Identifier":{domain:[101,2,1,""],from_flyte_idl:[101,2,1,""],name:[101,2,1,""],project:[101,2,1,""],resource_type:[101,2,1,""],to_flyte_idl:[101,2,1,""],version:[101,2,1,""]},"flytekit.models.core.identifier.NodeExecutionIdentifier":{execution_id:[101,2,1,""],from_flyte_idl:[101,2,1,""],node_id:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.identifier.ResourceType":{LAUNCH_PLAN:[101,4,1,""],TASK:[101,4,1,""],UNSPECIFIED:[101,4,1,""],WORKFLOW:[101,4,1,""]},"flytekit.models.core.identifier.TaskExecutionIdentifier":{from_flyte_idl:[101,2,1,""],node_execution_id:[101,2,1,""],retry_attempt:[101,2,1,""],task_id:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.identifier.WorkflowExecutionIdentifier":{domain:[101,2,1,""],from_flyte_idl:[101,2,1,""],name:[101,2,1,""],project:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.types":{BlobType:[101,1,1,""]},"flytekit.models.core.types.BlobType":{BlobDimensionality:[101,1,1,""],dimensionality:[101,2,1,""],format:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.types.BlobType.BlobDimensionality":{MULTIPART:[101,4,1,""],SINGLE:[101,4,1,""]},"flytekit.models.core.workflow":{Alias:[101,1,1,""],BranchNode:[101,1,1,""],IfBlock:[101,1,1,""],IfElseBlock:[101,1,1,""],Node:[101,1,1,""],NodeMetadata:[101,1,1,""],TaskNode:[101,1,1,""],WorkflowMetadata:[101,1,1,""],WorkflowMetadataDefaults:[101,1,1,""],WorkflowNode:[101,1,1,""],WorkflowTemplate:[101,1,1,""]},"flytekit.models.core.workflow.Alias":{"var":[101,2,1,""],alias:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.BranchNode":{from_flyte_idl:[101,2,1,""],if_else:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.IfBlock":{condition:[101,2,1,""],from_flyte_idl:[101,2,1,""],then_node:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.IfElseBlock":{"case":[101,2,1,""],else_node:[101,2,1,""],error:[101,2,1,""],from_flyte_idl:[101,2,1,""],other:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.Node":{branch_node:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],inputs:[101,2,1,""],metadata:[101,2,1,""],output_aliases:[101,2,1,""],target:[101,2,1,""],task_node:[101,2,1,""],to_flyte_idl:[101,2,1,""],upstream_node_ids:[101,2,1,""],workflow_node:[101,2,1,""]},"flytekit.models.core.workflow.NodeMetadata":{from_flyte_idl:[101,2,1,""],interruptible:[101,2,1,""],name:[101,2,1,""],retries:[101,2,1,""],timeout:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.TaskNode":{from_flyte_idl:[101,2,1,""],reference_id:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.WorkflowMetadata":{OnFailurePolicy:[101,1,1,""],from_flyte_idl:[101,2,1,""],on_failure:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy":{FAIL_AFTER_EXECUTABLE_NODES_COMPLETE:[101,4,1,""],FAIL_IMMEDIATELY:[101,4,1,""]},"flytekit.models.core.workflow.WorkflowMetadataDefaults":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.WorkflowNode":{from_flyte_idl:[101,2,1,""],launchplan_ref:[101,2,1,""],reference:[101,2,1,""],sub_workflow_ref:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.core.workflow.WorkflowTemplate":{"interface":[101,2,1,""],failure_node:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],metadata:[101,2,1,""],metadata_defaults:[101,2,1,""],nodes:[101,2,1,""],outputs:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.dynamic_job":{DynamicJobSpec:[99,1,1,""]},"flytekit.models.dynamic_job.DynamicJobSpec":{from_flyte_idl:[99,2,1,""],min_successes:[99,2,1,""],nodes:[99,2,1,""],outputs:[99,2,1,""],subworkflows:[99,2,1,""],tasks:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution":{Execution:[99,1,1,""],ExecutionClosure:[99,1,1,""],ExecutionMetadata:[99,1,1,""],ExecutionSpec:[99,1,1,""],LiteralMapBlob:[99,1,1,""],NodeExecutionGetDataResponse:[99,1,1,""],NotificationList:[99,1,1,""],TaskExecutionGetDataResponse:[99,1,1,""],WorkflowExecutionGetDataResponse:[99,1,1,""]},"flytekit.models.execution.Execution":{closure:[99,2,1,""],from_flyte_idl:[99,2,1,""],id:[99,2,1,""],spec:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution.ExecutionClosure":{error:[99,2,1,""],from_flyte_idl:[99,2,1,""],outputs:[99,2,1,""],phase:[99,2,1,""],started_at:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution.ExecutionMetadata":{ExecutionMode:[99,1,1,""],from_flyte_idl:[99,2,1,""],mode:[99,2,1,""],nesting:[99,2,1,""],principal:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution.ExecutionMetadata.ExecutionMode":{MANUAL:[99,4,1,""],SCHEDULED:[99,4,1,""],SYSTEM:[99,4,1,""]},"flytekit.models.execution.ExecutionSpec":{annotations:[99,2,1,""],auth_role:[99,2,1,""],disable_all:[99,2,1,""],from_flyte_idl:[99,2,1,""],labels:[99,2,1,""],launch_plan:[99,2,1,""],metadata:[99,2,1,""],notifications:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution.LiteralMapBlob":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],uri:[99,2,1,""],values:[99,2,1,""]},"flytekit.models.execution.NodeExecutionGetDataResponse":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution.NotificationList":{from_flyte_idl:[99,2,1,""],notifications:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution.TaskExecutionGetDataResponse":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.execution.WorkflowExecutionGetDataResponse":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.filters":{Contains:[99,1,1,""],Equal:[99,1,1,""],Filter:[99,1,1,""],FilterList:[99,1,1,""],GreaterThan:[99,1,1,""],GreaterThanOrEqual:[99,1,1,""],LessThan:[99,1,1,""],LessThanOrEqual:[99,1,1,""],NotEqual:[99,1,1,""],SetFilter:[99,1,1,""],ValueIn:[99,1,1,""]},"flytekit.models.filters.Filter":{from_flyte_idl:[99,2,1,""],from_python_std:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.filters.FilterList":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.interface":{Parameter:[99,1,1,""],ParameterMap:[99,1,1,""],TypedInterface:[99,1,1,""],Variable:[99,1,1,""],VariableMap:[99,1,1,""]},"flytekit.models.interface.Parameter":{"default":[99,2,1,""],"var":[99,2,1,""],behavior:[99,2,1,""],from_flyte_idl:[99,2,1,""],required:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.interface.ParameterMap":{from_flyte_idl:[99,2,1,""],parameters:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.interface.TypedInterface":{from_flyte_idl:[99,2,1,""],inputs:[99,2,1,""],outputs:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.interface.Variable":{description:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],type:[99,2,1,""]},"flytekit.models.interface.VariableMap":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],variables:[99,2,1,""]},"flytekit.models.launch_plan":{Auth:[99,1,1,""],LaunchPlan:[99,1,1,""],LaunchPlanClosure:[99,1,1,""],LaunchPlanMetadata:[99,1,1,""],LaunchPlanSpec:[99,1,1,""],LaunchPlanState:[99,1,1,""]},"flytekit.models.launch_plan.Auth":{assumable_iam_role:[99,2,1,""],from_flyte_idl:[99,2,1,""],kubernetes_service_account:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.launch_plan.LaunchPlan":{closure:[99,2,1,""],from_flyte_idl:[99,2,1,""],id:[99,2,1,""],spec:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.launch_plan.LaunchPlanClosure":{expected_inputs:[99,2,1,""],expected_outputs:[99,2,1,""],from_flyte_idl:[99,2,1,""],state:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.launch_plan.LaunchPlanMetadata":{from_flyte_idl:[99,2,1,""],notifications:[99,2,1,""],schedule:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.launch_plan.LaunchPlanSpec":{annotations:[99,2,1,""],auth_role:[99,2,1,""],default_inputs:[99,2,1,""],entity_metadata:[99,2,1,""],fixed_inputs:[99,2,1,""],from_flyte_idl:[99,2,1,""],labels:[99,2,1,""],to_flyte_idl:[99,2,1,""],workflow_id:[99,2,1,""]},"flytekit.models.launch_plan.LaunchPlanState":{ACTIVE:[99,4,1,""],INACTIVE:[99,4,1,""],enum_to_string:[99,2,1,""]},"flytekit.models.literals":{Binary:[99,1,1,""],Binding:[99,1,1,""],BindingData:[99,1,1,""],BindingDataCollection:[99,1,1,""],BindingDataMap:[99,1,1,""],Blob:[99,1,1,""],BlobMetadata:[99,1,1,""],Literal:[99,1,1,""],LiteralCollection:[99,1,1,""],LiteralMap:[99,1,1,""],Primitive:[99,1,1,""],RetryStrategy:[99,1,1,""],Scalar:[99,1,1,""],Schema:[99,1,1,""],Void:[99,1,1,""]},"flytekit.models.literals.Binary":{from_flyte_idl:[99,2,1,""],tag:[99,2,1,""],to_flyte_idl:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.literals.Binding":{"var":[99,2,1,""],binding:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.literals.BindingData":{collection:[99,2,1,""],from_flyte_idl:[99,2,1,""],map:[99,2,1,""],promise:[99,2,1,""],scalar:[99,2,1,""],to_flyte_idl:[99,2,1,""],to_literal_model:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.literals.BindingDataCollection":{bindings:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.literals.BindingDataMap":{bindings:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.literals.Blob":{from_flyte_idl:[99,2,1,""],metadata:[99,2,1,""],to_flyte_idl:[99,2,1,""],uri:[99,2,1,""]},"flytekit.models.literals.BlobMetadata":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],type:[99,2,1,""]},"flytekit.models.literals.Literal":{collection:[99,2,1,""],from_flyte_idl:[99,2,1,""],map:[99,2,1,""],scalar:[99,2,1,""],to_flyte_idl:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.literals.LiteralCollection":{from_flyte_idl:[99,2,1,""],literals:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.literals.LiteralMap":{from_flyte_idl:[99,2,1,""],literals:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.literals.Primitive":{"boolean":[99,2,1,""],datetime:[99,2,1,""],duration:[99,2,1,""],float_value:[99,2,1,""],from_flyte_idl:[99,2,1,""],integer:[99,2,1,""],string_value:[99,2,1,""],to_flyte_idl:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.literals.RetryStrategy":{from_flyte_idl:[99,2,1,""],retries:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.literals.Scalar":{binary:[99,2,1,""],blob:[99,2,1,""],error:[99,2,1,""],from_flyte_idl:[99,2,1,""],generic:[99,2,1,""],none_type:[99,2,1,""],primitive:[99,2,1,""],schema:[99,2,1,""],to_flyte_idl:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.literals.Schema":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],type:[99,2,1,""],uri:[99,2,1,""]},"flytekit.models.literals.Void":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.matchable_resource":{ClusterResourceAttributes:[99,1,1,""],ExecutionClusterLabel:[99,1,1,""],ExecutionQueueAttributes:[99,1,1,""],MatchingAttributes:[99,1,1,""]},"flytekit.models.matchable_resource.ClusterResourceAttributes":{attributes:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.matchable_resource.ExecutionClusterLabel":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.matchable_resource.ExecutionQueueAttributes":{from_flyte_idl:[99,2,1,""],tags:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.matchable_resource.MatchingAttributes":{cluster_resource_attributes:[99,2,1,""],execution_cluster_label:[99,2,1,""],execution_queue_attributes:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.named_entity":{NamedEntityIdentifier:[99,1,1,""],NamedEntityMetadata:[99,1,1,""],NamedEntityState:[99,1,1,""]},"flytekit.models.named_entity.NamedEntityIdentifier":{domain:[99,2,1,""],from_flyte_idl:[99,2,1,""],name:[99,2,1,""],project:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.named_entity.NamedEntityMetadata":{description:[99,2,1,""],from_flyte_idl:[99,2,1,""],state:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.named_entity.NamedEntityState":{ACTIVE:[99,4,1,""],ARCHIVED:[99,4,1,""],enum_to_string:[99,2,1,""]},"flytekit.models.node_execution":{NodeExecution:[99,1,1,""],NodeExecutionClosure:[99,1,1,""]},"flytekit.models.node_execution.NodeExecution":{closure:[99,2,1,""],from_flyte_idl:[99,2,1,""],id:[99,2,1,""],input_uri:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.node_execution.NodeExecutionClosure":{duration:[99,2,1,""],error:[99,2,1,""],from_flyte_idl:[99,2,1,""],output_uri:[99,2,1,""],phase:[99,2,1,""],started_at:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.presto":{PrestoQuery:[99,1,1,""]},"flytekit.models.presto.PrestoQuery":{catalog:[99,2,1,""],from_flyte_idl:[99,2,1,""],routing_group:[99,2,1,""],schema:[99,2,1,""],statement:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.project":{Project:[99,1,1,""]},"flytekit.models.project.Project":{description:[99,2,1,""],from_flyte_idl:[99,2,1,""],id:[99,2,1,""],name:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.qubole":{HiveQuery:[99,1,1,""],HiveQueryCollection:[99,1,1,""],QuboleHiveJob:[99,1,1,""]},"flytekit.models.qubole.HiveQuery":{from_flyte_idl:[99,2,1,""],query:[99,2,1,""],retry_count:[99,2,1,""],timeout_sec:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.qubole.HiveQueryCollection":{from_flyte_idl:[99,2,1,""],queries:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.qubole.QuboleHiveJob":{cluster_label:[99,2,1,""],from_flyte_idl:[99,2,1,""],query:[99,2,1,""],query_collection:[99,2,1,""],tags:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.sagemaker":{hpo_job:[102,0,0,"-"],parameter_ranges:[102,0,0,"-"],training_job:[102,0,0,"-"]},"flytekit.models.sagemaker.hpo_job":{HyperparameterTuningJob:[102,1,1,""],HyperparameterTuningJobConfig:[102,1,1,""],HyperparameterTuningObjective:[102,1,1,""],HyperparameterTuningObjectiveType:[102,1,1,""],HyperparameterTuningStrategy:[102,1,1,""],TrainingJobEarlyStoppingType:[102,1,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningJob":{from_flyte_idl:[102,2,1,""],max_number_of_training_jobs:[102,2,1,""],max_parallel_training_jobs:[102,2,1,""],to_flyte_idl:[102,2,1,""],training_job:[102,2,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningJobConfig":{from_flyte_idl:[102,2,1,""],hyperparameter_ranges:[102,2,1,""],to_flyte_idl:[102,2,1,""],training_job_early_stopping_type:[102,2,1,""],tuning_objective:[102,2,1,""],tuning_strategy:[102,2,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningObjective":{from_flyte_idl:[102,2,1,""],metric_name:[102,2,1,""],objective_type:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningObjectiveType":{MAXIMIZE:[102,4,1,""],MINIMIZE:[102,4,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningStrategy":{BAYESIAN:[102,4,1,""],RANDOM:[102,4,1,""]},"flytekit.models.sagemaker.hpo_job.TrainingJobEarlyStoppingType":{AUTO:[102,4,1,""],OFF:[102,4,1,""]},"flytekit.models.sagemaker.parameter_ranges":{CategoricalParameterRange:[102,1,1,""],ContinuousParameterRange:[102,1,1,""],HyperparameterScalingType:[102,1,1,""],IntegerParameterRange:[102,1,1,""],ParameterRanges:[102,1,1,""]},"flytekit.models.sagemaker.parameter_ranges.CategoricalParameterRange":{from_flyte_idl:[102,2,1,""],to_flyte_idl:[102,2,1,""],values:[102,2,1,""]},"flytekit.models.sagemaker.parameter_ranges.ContinuousParameterRange":{from_flyte_idl:[102,2,1,""],max_value:[102,2,1,""],min_value:[102,2,1,""],scaling_type:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.sagemaker.parameter_ranges.HyperparameterScalingType":{AUTO:[102,4,1,""],LINEAR:[102,4,1,""],LOGARITHMIC:[102,4,1,""],REVERSELOGARITHMIC:[102,4,1,""]},"flytekit.models.sagemaker.parameter_ranges.IntegerParameterRange":{from_flyte_idl:[102,2,1,""],max_value:[102,2,1,""],min_value:[102,2,1,""],scaling_type:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.sagemaker.parameter_ranges.ParameterRanges":{from_flyte_idl:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.sagemaker.training_job":{AlgorithmName:[102,1,1,""],AlgorithmSpecification:[102,1,1,""],InputContentType:[102,1,1,""],InputMode:[102,1,1,""],MetricDefinition:[102,1,1,""],TrainingJob:[102,1,1,""],TrainingJobResourceConfig:[102,1,1,""]},"flytekit.models.sagemaker.training_job.AlgorithmName":{CUSTOM:[102,4,1,""],XGBOOST:[102,4,1,""]},"flytekit.models.sagemaker.training_job.AlgorithmSpecification":{algorithm_name:[102,2,1,""],algorithm_version:[102,2,1,""],from_flyte_idl:[102,2,1,""],input_content_type:[102,2,1,""],input_mode:[102,2,1,""],metric_definitions:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.sagemaker.training_job.InputContentType":{TEXT_CSV:[102,4,1,""]},"flytekit.models.sagemaker.training_job.InputMode":{FILE:[102,4,1,""],PIPE:[102,4,1,""]},"flytekit.models.sagemaker.training_job.MetricDefinition":{from_flyte_idl:[102,2,1,""],name:[102,2,1,""],regex:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.sagemaker.training_job.TrainingJob":{algorithm_specification:[102,2,1,""],from_flyte_idl:[102,2,1,""],to_flyte_idl:[102,2,1,""],training_job_resource_config:[102,2,1,""]},"flytekit.models.sagemaker.training_job.TrainingJobResourceConfig":{from_flyte_idl:[102,2,1,""],instance_count:[102,2,1,""],instance_type:[102,2,1,""],to_flyte_idl:[102,2,1,""],volume_size_in_gb:[102,2,1,""]},"flytekit.models.schedule":{Schedule:[99,1,1,""]},"flytekit.models.schedule.Schedule":{FixedRate:[99,1,1,""],FixedRateUnit:[99,1,1,""],cron_expression:[99,2,1,""],from_flyte_idl:[99,2,1,""],kickoff_time_input_arg:[99,2,1,""],rate:[99,2,1,""],schedule_expression:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.schedule.Schedule.FixedRate":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],unit:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.schedule.Schedule.FixedRateUnit":{DAY:[99,4,1,""],HOUR:[99,4,1,""],MINUTE:[99,4,1,""],enum_to_string:[99,2,1,""]},"flytekit.models.task":{CompiledTask:[99,1,1,""],Container:[99,1,1,""],DataLoadingConfig:[99,1,1,""],IOStrategy:[99,1,1,""],PyTorchJob:[99,1,1,""],Resources:[99,1,1,""],RuntimeMetadata:[99,1,1,""],SidecarJob:[99,1,1,""],SparkJob:[99,1,1,""],Task:[99,1,1,""],TaskClosure:[99,1,1,""],TaskMetadata:[99,1,1,""],TaskSpec:[99,1,1,""],TaskTemplate:[99,1,1,""]},"flytekit.models.task.CompiledTask":{from_flyte_idl:[99,2,1,""],template:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.Container":{args:[99,2,1,""],command:[99,2,1,""],config:[99,2,1,""],data_loading_config:[99,2,1,""],env:[99,2,1,""],from_flyte_idl:[99,2,1,""],image:[99,2,1,""],resources:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.DataLoadingConfig":{LITERALMAP_FORMAT_JSON:[99,4,1,""],LITERALMAP_FORMAT_PROTO:[99,4,1,""],LITERALMAP_FORMAT_YAML:[99,4,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.IOStrategy":{DOWNLOAD_MODE_EAGER:[99,4,1,""],DOWNLOAD_MODE_NO_DOWNLOAD:[99,4,1,""],DOWNLOAD_MODE_STREAM:[99,4,1,""],UPLOAD_MODE_EAGER:[99,4,1,""],UPLOAD_MODE_NO_UPLOAD:[99,4,1,""],UPLOAD_MODE_ON_EXIT:[99,4,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.PyTorchJob":{from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],workers_count:[99,2,1,""]},"flytekit.models.task.Resources":{ResourceEntry:[99,1,1,""],ResourceName:[99,1,1,""],from_flyte_idl:[99,2,1,""],limits:[99,2,1,""],requests:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.Resources.ResourceEntry":{from_flyte_idl:[99,2,1,""],name:[99,2,1,""],to_flyte_idl:[99,2,1,""],value:[99,2,1,""]},"flytekit.models.task.Resources.ResourceName":{CPU:[99,4,1,""],GPU:[99,4,1,""],MEMORY:[99,4,1,""],STORAGE:[99,4,1,""],UNKNOWN:[99,4,1,""]},"flytekit.models.task.RuntimeMetadata":{RuntimeType:[99,1,1,""],flavor:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""],type:[99,2,1,""],version:[99,2,1,""]},"flytekit.models.task.RuntimeMetadata.RuntimeType":{FLYTE_SDK:[99,4,1,""],OTHER:[99,4,1,""]},"flytekit.models.task.SidecarJob":{from_flyte_idl:[99,2,1,""],pod_spec:[99,2,1,""],primary_container_name:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.SparkJob":{application_file:[99,2,1,""],executor_path:[99,2,1,""],from_flyte_idl:[99,2,1,""],hadoop_conf:[99,2,1,""],main_class:[99,2,1,""],spark_conf:[99,2,1,""],spark_type:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.Task":{closure:[99,2,1,""],from_flyte_idl:[99,2,1,""],id:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.TaskClosure":{compiled_task:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.TaskMetadata":{deprecated_error_message:[99,2,1,""],discoverable:[99,2,1,""],discovery_version:[99,2,1,""],from_flyte_idl:[99,2,1,""],interruptible:[99,2,1,""],retries:[99,2,1,""],runtime:[99,2,1,""],timeout:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.TaskSpec":{from_flyte_idl:[99,2,1,""],template:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.task.TaskTemplate":{"interface":[99,2,1,""],container:[99,2,1,""],custom:[99,2,1,""],from_flyte_idl:[99,2,1,""],id:[99,2,1,""],metadata:[99,2,1,""],to_flyte_idl:[99,2,1,""],type:[99,2,1,""]},"flytekit.models.types":{LiteralType:[99,1,1,""],OutputReference:[99,1,1,""],SchemaType:[99,1,1,""],SimpleType:[99,1,1,""]},"flytekit.models.types.LiteralType":{blob:[99,2,1,""],collection_type:[99,2,1,""],from_flyte_idl:[99,2,1,""],map_value_type:[99,2,1,""],metadata:[99,2,1,""],schema:[99,2,1,""],simple:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.types.OutputReference":{"var":[99,2,1,""],from_flyte_idl:[99,2,1,""],node_id:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.types.SchemaType":{SchemaColumn:[99,1,1,""],columns:[99,2,1,""],from_flyte_idl:[99,2,1,""],to_flyte_idl:[99,2,1,""]},"flytekit.models.types.SchemaType.SchemaColumn":{SchemaColumnType:[99,1,1,""],from_flyte_idl:[99,2,1,""],name:[99,2,1,""],to_flyte_idl:[99,2,1,""],type:[99,2,1,""]},"flytekit.models.types.SchemaType.SchemaColumn.SchemaColumnType":{BOOLEAN:[99,4,1,""],DATETIME:[99,4,1,""],DURATION:[99,4,1,""],FLOAT:[99,4,1,""],INTEGER:[99,4,1,""],STRING:[99,4,1,""]},"flytekit.models.types.SimpleType":{BINARY:[99,4,1,""],BOOLEAN:[99,4,1,""],DATETIME:[99,4,1,""],DURATION:[99,4,1,""],ERROR:[99,4,1,""],FLOAT:[99,4,1,""],INTEGER:[99,4,1,""],NONE:[99,4,1,""],STRING:[99,4,1,""],STRUCT:[99,4,1,""]},"flytekit.models.workflow_closure":{WorkflowClosure:[99,1,1,""]},"flytekit.models.workflow_closure.WorkflowClosure":{from_flyte_idl:[99,2,1,""],tasks:[99,2,1,""],to_flyte_idl:[99,2,1,""],workflow:[99,2,1,""]},"flytekit.sdk":{exceptions:[104,0,0,"-"],spark_types:[104,0,0,"-"],tasks:[104,0,0,"-"],test_utils:[104,0,0,"-"],types:[104,0,0,"-"],workflow:[104,0,0,"-"]},"flytekit.sdk.exceptions":{RecoverableException:[104,5,1,""]},"flytekit.sdk.spark_types":{SparkType:[104,1,1,""]},"flytekit.sdk.spark_types.SparkType":{JAVA:[104,4,1,""],PYTHON:[104,4,1,""],R:[104,4,1,""],SCALA:[104,4,1,""]},"flytekit.sdk.tasks":{dynamic_task:[104,3,1,""],generic_spark_task:[104,3,1,""],hive_task:[104,3,1,""],inputs:[104,3,1,""],outputs:[104,3,1,""],python_task:[104,3,1,""],pytorch_task:[104,3,1,""],qubole_hive_task:[104,3,1,""],qubole_spark_task:[104,3,1,""],sidecar_task:[104,3,1,""],spark_task:[104,3,1,""]},"flytekit.sdk.test_utils":{LocalTestFileSystem:[104,1,1,""],flyte_test:[104,3,1,""]},"flytekit.sdk.types":{Types:[104,1,1,""]},"flytekit.sdk.types.Types":{Blob:[104,1,1,""],Boolean:[104,1,1,""],CSV:[104,1,1,""],Datetime:[104,1,1,""],Float:[104,1,1,""],Generic:[104,1,1,""],Integer:[104,1,1,""],List:[104,2,1,""],MultiPartBlob:[104,1,1,""],MultiPartCSV:[104,1,1,""],Proto:[104,2,1,""],Schema:[104,2,1,""],String:[104,1,1,""],Timedelta:[104,1,1,""]},"flytekit.sdk.types.Types.Blob":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.types.Types.Boolean":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.types.Types.CSV":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""]},"flytekit.sdk.types.Types.Datetime":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.types.Types.Float":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.types.Types.Generic":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],long_string:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.types.Types.Integer":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.types.Types.MultiPartBlob":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.types.Types.MultiPartCSV":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""]},"flytekit.sdk.types.Types.String":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""],verbose_string:[104,2,1,""]},"flytekit.sdk.types.Types.Timedelta":{from_python_std:[104,2,1,""],from_string:[104,2,1,""],is_castable_from:[104,2,1,""],promote_from_model:[104,2,1,""],short_class_string:[104,2,1,""],short_string:[104,2,1,""],to_flyte_literal_type:[104,2,1,""],to_python_std:[104,2,1,""]},"flytekit.sdk.workflow":{Input:[104,1,1,""],Output:[104,1,1,""],workflow:[104,3,1,""],workflow_class:[104,3,1,""]},"flytekit.tools":{lazy_loader:[105,0,0,"-"],module_loader:[105,0,0,"-"],subprocess:[105,0,0,"-"]},"flytekit.tools.lazy_loader":{LazyLoadPlugin:[105,1,1,""],lazy_load_module:[105,3,1,""]},"flytekit.tools.lazy_loader.LazyLoadPlugin":{LAZY_LOADING_PLUGINS:[105,4,1,""],get_extras_require:[105,2,1,""]},"flytekit.tools.module_loader":{iterate_modules:[105,3,1,""],iterate_registerable_entities_in_order:[105,3,1,""],load_workflow_modules:[105,3,1,""]},"flytekit.tools.subprocess":{check_call:[105,3,1,""]},"flytekit.type_engines":{"default":[107,0,0,"-"],common:[106,0,0,"-"]},"flytekit.type_engines.common":{TypeEngine:[106,1,1,""]},"flytekit.type_engines.common.TypeEngine":{get_sdk_type_from_literal_type:[106,2,1,""],infer_sdk_type_from_literal:[106,2,1,""],python_std_to_sdk_type:[106,2,1,""]},"flytekit.type_engines.default":{flyte:[107,0,0,"-"]},"flytekit.type_engines.default.flyte":{FlyteDefaultTypeEngine:[107,1,1,""]},"flytekit.type_engines.default.flyte.FlyteDefaultTypeEngine":{get_sdk_type_from_literal_type:[107,2,1,""],infer_sdk_type_from_literal:[107,2,1,""],python_std_to_sdk_type:[107,2,1,""]},flytekit:{bin:[71,0,0,"-"],clients:[72,0,0,"-"],clis:[73,0,0,"-"],common:[77,0,0,"-"],configuration:[85,0,0,"-"],contrib:[86,0,0,"-"],engines:[89,0,0,"-"],interfaces:[92,0,0,"-"],models:[99,0,0,"-"],plugins:[103,0,0,"-"],sdk:[104,0,0,"-"],tools:[105,0,0,"-"],type_engines:[106,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","attribute","Python attribute"],"5":["py","exception","Python exception"],"6":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function","4":"py:attribute","5":"py:exception","6":"py:data"},terms:{"000000000z07":15,"02t15":15,"0x3210de8":92,"0x7fb45a682438":99,"0x7fb45a6824e0":99,"0x7fb45a682588":99,"1000m":147,"100s":113,"10s":7,"123accountid":131,"15s":7,"1757c8c0d7a149b79f2c202c2c78b378":142,"1757c8c0d7a149b79f2c202c2c78b378_tmp":142,"1oq8oblzxgv8pvjftlf0qf":135,"29t17":15,"30m":7,"30s":7,"32g":104,"4gi":[104,145],"5000gi":10,"500m":[104,145],"5tb":10,"60s":7,"8gi":[104,145],"999999999z07":15,"9a7b8cdb982161daebd5618fc7cb5041":135,"abstract":[14,22,42,77,80,83,89,99,106,114,122],"boolean":[22,29,40,47,49,83,99,104],"break":[99,133],"byte":[20,23,47,83,92,99],"case":[0,2,8,15,17,20,22,23,25,27,28,29,34,35,36,43,48,50,63,85,92,101,102,104,112,121,126,130,141,147],"catch":[50,101,123],"class":[20,72,74,76,77,78,80,81,82,83,84,85,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,104,105,106,107,122,126,127,130,134,144],"default":[4,5,7,9,10,12,13,15,17,20,23,25,27,28,33,38,40,41,42,43,44,46,48,49,50,55,60,62,63,65,70,73,77,84,85,88,99,104,106,122,124,127,130,135,144],"enum":[10,15,72,77,80,81,89,90,99,100,101,102,104],"export":2,"final":[17,22,40,41,50,99,101,115,129,130,141],"float":[22,49,62,83,99,102,104,145],"function":[14,15,20,72,73,76,77,79,80,81,85,87,88,91,92,104,105,110,111,118,122,123,132,133,134,140],"import":[0,13,15,20,30,40,80,104,118,126,127,130,132,134,144,146],"int":[4,7,10,22,48,72,76,77,79,80,81,82,83,85,88,89,90,92,99,100,101,102,104],"long":[72,88,104],"new":[0,7,11,13,15,20,22,23,39,52,72,84,98,110,112,122,129,132,133,134],"null":[47,88,104],"public":85,"return":[20,22,23,25,27,29,34,35,36,72,73,74,76,77,78,79,80,81,83,84,85,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,104,105,107,121,140,142,145,146],"static":[22,25,47,50,83,91,104,119,141],"super":131,"switch":[13,72],"throw":[50,101],"transient":[88,104],"true":[2,11,23,25,50,73,74,77,84,98,99,104,105,112,133,134,144,145],"try":[8,77,80,88,99,110,112,136],"var":[11,13,40,46,47,48,49,50,77,99,101],"void":[83,99],"while":[0,2,15,20,63,102,104,105,113,127,146],AKS:8,AND:[22,40,101],AWS:[0,6,8,10,13,33,48,63,77,85,102,119],And:[77,127,144,146],But:20,DOS:2,EKS:8,FOR:8,For:[0,2,7,8,10,11,13,14,15,17,20,22,25,39,48,52,60,62,63,76,80,81,85,87,99,102,114,118,122,123,124,125,127,130,132,135,146],GCS:13,Going:[9,112],INTO:[104,144],K8s:[7,10,20,22,28,48,147],MBs:4,NOT:[49,81,83,104],Not:[22,43],One:[15,17,20,50,119,141,147],RDS:13,SNS:14,SQS:14,That:[20,27,34,50,80,112,142],The:[0,2,4,5,7,8,10,11,12,13,14,15,17,19,20,21,22,23,25,26,29,30,35,38,39,41,42,44,47,48,49,50,52,54,60,63,64,72,76,77,80,81,83,84,85,87,88,89,90,91,99,101,102,104,110,111,112,113,117,118,120,121,122,123,124,127,129,130,132,133,134,135,140,141,142,144,146,147],Then:144,There:[13,19,22,47,99,104,120,130,141],These:[0,2,7,8,10,11,13,14,15,18,19,20,25,26,27,45,47,48,56,76,81,87,99,104,119,123,126,129],Use:[7,10,72,73,77,81,90,104,110,124,130,134,145],Used:[25,38,47,84,85,105],Uses:[33,83,104],Using:[13,18,22,104,118,122,126,146],WITH:144,With:[13,125,134],__future__:[134,144,146],__stories__:17,_base_sdk_typ:83,_common_pb2:99,_commondatarespons:99,_core_workflow:130,_execution_model:77,_execution_pb2:99,_extendedschedul:77,_flyteconfigurationentri:85,_flyterequiredconfigurationentri:85,_hivesensor:88,_identifi:[77,80,81],_idl_parameter_rang:102,_instancetrack:80,_instantiated_in:80,_interfac:91,_node_execution_model:77,_node_execution_pb2:99,_outputdatacontext:93,_parameter_ranges_model:102,_presto:99,_qubol:99,_register:77,_request:134,_schema_impl:83,_sdk_runnabl:81,_struct:99,_task:[81,99,132],_task_execution_model:81,_task_execution_pb2:99,_task_funct:[88,104],_task_templ:104,_training_job:102,_training_job_pb2:102,_type:105,_workflow:99,_workflow_metaclass:104,a_sidecar_task:104,ab_project:10,abc123:[76,132],abc:[99,104],abcmeta:99,abil:[46,77,113,119,133],abl:[13,88,104,134],abort:[25,41,43,50,101,128,130],abort_caus:25,abort_metadata:25,about:[0,8,10,15,18,20,21,22,24,25,43,47,48,50,52,56,72,79,99,101,110,112,122,123,124,135,141,142,144],abov:[7,10,11,15,16,20,23,28,77,80,104,112,121,127,129,134,147],absenc:[10,119],absolut:[41,55,77,99,112],absolute_import:[134,144,146],accept:[0,74,104,123,127,129,146],access:[0,4,8,9,11,13,17,20,23,43,48,72,76,84,85,104,124,132,134,135,136],access_token:[72,74],accesskei:[4,13],accident:129,accompani:48,accomplish:104,accordingli:135,account:[77,85,99,131],acct:131,accuraci:145,achiev:[13,120,121,147],ack:7,acl:25,acquir:7,across:[0,5,9,11,14,15,16,20,23,25,52,72,81,101,113,123,124,133],act:[7,44],action:[7,25,77,79],activ:[0,15,23,27,72,77,99,112,119,124,127],activate_all_impl:76,actual:[14,20,22,23,25,48,55,72,77,111,112,129,142,144],acycl:[0,22,36,50,111,118,123],adapt:[79,104,112],add:[7,11,13,23,48,76,79,81,87,88,98,104,110,112,134,147],add_input:[81,87],add_one_and_print:140,add_output:[81,87],added:[0,11,20,25,38,63,72,81,87,102,140,145],adding:[13,20,129,131,133],addit:[11,15,17,20,25,27,29,35,36,48,50,52,81,87,92,99,101,104,119,123,129,145,146],additional_msg:79,address:[7,8,11,23,30,43,48],adher:104,adjac:39,adjust:127,admin:[5,9,10,13,17,18,19,53,54,70,72,76,77,80,81,85,89,90,91,99,101,117,121,124],admin_api_url:17,admindeploy:[10,11,13],adminent:17,administ:15,administr:[0,2,10,19,21,109,111,112,124],advanc:[77,80,81],advantag:123,advis:[47,122],affect:[15,92],aforement:[19,20],after:[2,15,25,27,39,48,50,80,101,122,124,132,134,141],again:88,against:[7,13,20,104,118],aggreg:[13,19,104],agil:112,aid:2,aim:[0,112,129],algo:[63,102],algorithm:[60,63,102,104],algorithm_nam:[63,102],algorithm_specif:[63,82,102],algorithm_vers:[63,102],algorithmnam:102,algorithmspecif:[82,102],alia:101,alias:[22,50,101],aliv:64,all:[0,5,6,7,9,10,11,13,14,17,20,21,22,23,25,27,28,29,34,35,36,39,42,43,44,48,50,52,53,54,55,69,72,76,77,80,81,92,98,99,101,104,105,112,113,117,121,122,123,124,127,129,130,140,141,146],allevi:142,allow:[4,10,12,15,16,17,22,47,48,49,50,52,62,77,79,80,81,85,87,88,99,104,113,118,119,120,122,124,144,145,147],allowed_failure_ratio:[81,104],along:[2,10,16,25,81,87,142],alongsid:[20,36,104],alpin:[104,146],alreadi:[25,41,72,77,80,85,104,124,127,136,146,147],already_in_terminal_st:24,also:[0,2,8,10,14,15,20,22,39,44,72,79,80,83,84,92,99,104,110,112,114,118,119,121,122,123,124,127,129,132,133,134,140,145,147],alsologtostderr:7,alter:[13,22,50,84,101,110,123,130,142],altern:[0,6,8,15,84,121,131],although:132,alwai:[10,20,22,25,39,47,49,52,77,79,99,112,119,122,123,127,133],amazon:[8,14,60,62,63,102,134],amend:142,amongst:2,amount:[17,25,29,35,80,88,99,104],an_alternative_input:127,an_input:132,an_integer_input:127,analyz:[50,118],ani:[0,2,7,8,10,15,17,20,22,25,27,36,39,47,48,50,52,55,72,79,80,81,84,85,88,89,99,101,104,105,110,111,112,113,118,119,121,122,123,129,130,133,135,141,147],anim:22,annot:[25,27,77,80,81,89,90,91,99,104,125,132,138,140,144],annotation_overrid:[77,80,81,89,90,91],anoth:[2,8,17,25,38,47,49,76,80,99,105,124,127,133,144],anyon:110,anywai:130,api:[0,7,10,14,15,17,23,48,64,72,99,104,109,121,134,142,146],api_algorithmspecif:[63,102],api_createtrainingjob:[63,102],api_metricdefinit:63,api_resourcelimit:[60,102],apimachineri:48,apirefer:[60,63,102],apivers:11,app:[85,135],appear:[48,50,72,76,101],append:[15,23,48,84,104,141,144],append_to_partit:84,appli:[10,11,13,23,25,27,28,32,37,48,72,81,85,99,104,129,131,146],applic:[2,10,14,15,17,43,77,99,111],application_fil:99,applicationtyp:65,approach:22,appropri:[0,14,20,76,79,81,87,104],april:112,arbitrari:[81,99,104,126,141],arbitrarili:104,architect:21,architectur:[1,11,19,109,110],archiv:[23,99],area:112,aren:[20,23,132],arg:[48,72,73,77,80,81,85,87,91,99,104,124,146],argument:[73,88,99,104,119,123,124,131,134,146],arn:131,around:[13,20,22,72,74,102,129],arrai:[15,47,55,92,99,123],arrang:[17,34,123],array_input:91,array_job:[56,70,108],arrayjob:99,artifact:[16,29,38,52,70,77,81,102],artifact_id:38,artifact_tag:38,artifactdata:16,artifacttag:16,ascend:[15,23,100],aspect:[112,129],assembl:[115,141],assert:[99,104,146],assert_and_cr:104,assertionerror:79,assign:[10,14,22,25,28,47,55,80,81,99,124,127],assign_custom_and_return:81,assign_id_and_return:77,assign_type_and_return:81,assigne:112,assist:0,associ:[0,2,6,10,16,22,23,27,29,36,38,47,49,52,72,84,99,104,112,118,119,121,133],assum:[2,7,11,80,81],assumable_iam_rol:[23,27,77,85,99,131],async:14,atleast:39,atom:132,attach:11,attempt:[48,52,77,85,88,99,105,119],attr:76,attribut:[10,15,23,25,27,28,29,32,34,35,37,43,72,77,99,101,102,104,124,126,130],auth:[2,4,11,13,25,70,73,76,99,108,131],auth_cod:74,auth_endpoint:74,auth_mod:85,auth_rol:[25,27,77,89,90,91,99],authent:[1,9,13,25,72,85,124],author:[2,10,25,74,76,85,99,104,111,122,134],authorization_cli:74,authorization_endpoint:74,authorization_head:76,authorization_metadata_kei:85,authorizationcli:74,authorizationcod:74,authorizationendpoint:74,authrol:[25,27,77,89,90,91,99],authtyp:4,auto:[48,60,62,72,77,99,102],auto_assign_nam:80,autodeletingtempdir:[77,81,89,134],autogener:101,autom:2,automat:[2,22,38,48,50,60,62,63,85,101,102,104,112,113,119,120,121,124,129,130,144,145],autonom:113,autorefreshcach:20,avail:[2,4,5,7,8,9,10,43,48,56,72,81,104,110,118,119,121,123,124,130,132,145],avoid:[14,48,104,122,129,130],awai:22,awesom:111,awk:11,aws:[60,62,63,70,77,99,102,108,131],awss3proxi:97,azur:[8,13],b64:83,b78e1502cef04d5db8bef64a2226f707:142,back:[0,14,20,25,46,52,53,81,85,104,129],backend:[1,9,104,118,145],backend_typ:145,background:[18,21],backoff:[7,43],backward:[48,112],bad:98,bak:13,balanc:[0,11],bar:[15,126,144,146],base64:76,base:[0,2,7,10,13,15,16,20,23,25,27,28,34,35,36,50,52,70,72,74,76,77,78,80,81,82,83,84,85,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,104,105,106,107,133,141,145],base_literal_typ:[83,104],base_model:[77,78,81],base_sdk_typ:[70,77,81,84,104,106,107,144],base_sensor:[70,86],base_url:17,baseexecutionenginefactori:[89,90,91],basehttprequesthandl:74,basehttpserv:74,baselaunchplanlaunch:[89,90,91],basenodeexecut:[89,90,91],basetaskexecut:[89,90,91],basetaskexecutor:[89,90,91],baseworkflowexecut:[89,90,91],baseworkflowexecutor:[89,90,91],basi:[99,112,145],basic:[0,2,20,76,80,85,89,120,134],basic_auth:[70,73],batch:[0,7,10,48,81,104,113],batch_hiv:77,batch_hive_task:77,batch_siz:145,battl:122,bayesian:[60,102],baz:15,bearer:76,becaus:[8,15,19,22,38,48,72,85,104,123,127,133,144],becom:[41,48],been:[5,11,13,48,92,129,130,134,142],befor:[7,13,17,19,20,21,47,48,50,72,80,83,84,85,88,99,101,104,110,130,134,135,140,142,146],beforehand:141,began:[25,29,35],begin:[15,20,85,134],behalf:0,behav:[50,119,133],behavior:[2,13,17,20,21,22,34,42,49,50,81,85,87,88,92,99,101,104,130],behind:[25,112,130,144],being:[2,39,48,81,83,84,104,112],belong:[23,25,27,44,90,140],below:[0,8,10,13,14,15,19,133],benchmark:4,bespok:[88,104],best:[21,99,129],beta:48,better:[81,104],between:[7,15,22,24,31,48,49,72,79,80,92,104,112,129,133],beyond:[1,9],bill:120,bin:[70,104,108,124,146],binari:[17,40,48,49,81,84,99,101,121,124,134],bind:[22,41,50,74,77,99,101,115,127,141],bind_and_activ:74,bindindg:115,binding_data:[77,91],bindingdata:[50,77,91,99],bindingdatacollect:99,bindingdatamap:99,bit:[20,80],blob:[4,14,22,29,35,48,49,70,72,77,99,101,104,134,141,145],blobdimension:101,blobinstanti:83,blobmetadata:99,blobtyp:[47,99,101],block:[22,34,50,111,134],blog:[60,62],bodi:[30,128,146],bool:[4,6,7,22,25,29,35,46,47,48,50,73,74,77,80,81,82,83,84,85,88,91,93,94,95,96,97,99,100,104,105],booleanexpress:[50,101],boom:127,both:[2,15,104,146],bottom:[10,135],bottom_trim:79,bound:[22,48,50,88,101,104,117,119,121,123,142],box:131,branch:[19,50,101,118,130],branch_nod:[50,101],branchnod:101,brief:[2,20],bring:[22,55,64,99,104,146],broader:142,broadli:[20,22],broken:14,brought:104,browser:[17,85],bucket:[7,13,142,144],buffer:[7,22,45,47,48,53,54,56,111],bug:110,build:[8,11,13,14,21,81,83,84,87,111,134,140,141,145,147],build_sdk_workflow_from_metaclass:77,builder:19,built:[0,12,20,48,60,63,91,102,129,132,134,140],bundl:[0,17],burst:7,busi:[14,113],button:135,bypass:130,cacert:11,cach:[4,7,12,16,20,29,38,52,87,99,104,122,123,125,130,138],cache_dis:38,cache_hit:38,cache_lookup_failur:38,cache_miss:38,cache_popul:38,cache_put_failur:38,cache_statu:[29,52],cache_vers:[16,82,87,104,133,140,141],cacheabl:[82,130],caches:7,cadenc:[12,13,27],calcul:147,call:[0,2,4,11,13,14,20,29,48,72,76,77,79,80,81,85,87,92,98,104,117,122,129,134,135],callback:[74,85],caller:88,can:[0,2,4,7,8,10,11,13,14,15,16,17,19,20,22,23,24,25,26,27,28,29,34,35,36,40,42,43,44,47,48,49,50,52,55,60,62,63,72,77,79,81,83,84,85,87,88,92,98,99,101,102,104,105,110,111,113,115,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,141,142,144,145,146,147],candid:7,canni:134,cannot:[8,15,47,50,99,101,102,104,119,120,123,127,133],canon:[2,85],capabl:[2,27,110,129],capac:7,captur:[29,52,118,120,123,129],car_blue_l:135,cardin:129,care:[112,122,144],carri:[22,29,52,130],cast:[81,83,87,104],cast_to:84,cat:22,catalog:[1,5,9,18,21,29,44,45,52,57,81,99,144],catalog_kei:[29,52],catalogcach:38,catalogcachestatu:[29,52],catalogmetadata:[29,52],categor:[119,126],categori:[132,140],categorical_parameter_rang:62,categoricalparameterrang:102,caus:[25,72,77,89,90,129,133],caveat:[15,72,129,146],cdf:[63,102],central:14,cert:85,certain:[22,23,33,48,85,104,122,130,132],certpath:11,chang:[8,13,14,15,25,27,50,52,76,99,104,124,127,132,133,134,135],changelog:112,channel:53,charact:122,character:122,characterist:118,check:[0,13,16,20,22,48,49,80,81,84,104,129],check_cal:105,chief:66,chief_replica:66,child:[7,25,29,81,123],child_workflow:25,choos:[72,102,141],chose:20,chosen:[13,63],chunk:104,circumst:122,citi:144,clariti:84,classifi:31,classmethod:[77,78,81,83,84,93,99,100,101,102,104,105],clean:[50,79,83,84,85,101,104,130],cleanup:[77,144],clear_tag:98,cli:[8,9,10,13,22,44,70,108,118,121,125,132,138],click:[73,76,119,135],client:[0,4,7,8,9,14,16,17,70,76,85,92,108,121],client_address:74,client_credentials_scop:85,client_credentials_secret:[76,85],client_credentials_secret_loc:76,client_id:[74,76,85],client_secret:76,clock:122,clone:[13,19,124,134],close:112,closur:[25,27,29,34,35,36,39,99,100,117,121],cloud:[8,13,14,52],cloud_provid:93,cloudprovid:77,cloudstorag:7,cloudwatch:6,cls:[77,87,88,104],cluster1:11,cluster2:11,cluster3:11,cluster:[0,7,8,9,11,13,15,17,25,28,58,59,66,87,99,104,110,112,122,142,145,147],cluster_1:11,cluster_1_cacert:11,cluster_1_token:11,cluster_2:11,cluster_2_cacert:11,cluster_2_token:11,cluster_3:11,cluster_3_cacert:11,cluster_3_token:11,cluster_credenti:11,cluster_label:[59,81,99,104],cluster_resourc:28,cluster_resource_attribut:[28,99],clusterresourc:10,clusterresourceattribut:[10,99],cmd_arg:105,code:[0,2,4,7,14,17,19,20,22,42,43,74,79,80,81,85,87,88,101,104,110,113,118,121,124,128,129,132,134,141,146],codebas:2,cogniz:20,collabor:112,collect:[2,4,7,15,22,41,47,49,51,59,77,83,99,122,123],collection_typ:[49,99],collectiontyp:83,collid:[81,87],collis:92,column:[49,83,84,99,104],column_subset:84,com:[8,10,11,13,16,47,48,58,60,62,63,66,83,85,102,104,112,127,132,134],combin:[10,17,23,32,37,40,52,72,119,122,123,128],come:[0,19,20,34,105,111,113,122,123],comfort:2,comma:85,command:[0,2,8,9,11,48,72,76,81,85,99,104,125,132,135,146],commandlin:[5,9,125],comment:[72,81,104],commit:[19,85],common:[5,9,15,17,19,20,22,26,70,72,87,88,90,91,92,94,95,96,97,101,102,104,105,107,108,124,126,132,134,142,144,145],common_pb2:[77,99,100],commonli:[31,74,123,124,133],commun:[0,17,26,42,47,53,72,112,145],commut:40,compani:[10,111,124],compar:49,compare_dataframe_to_schema:84,comparison:[22,40,101],comparisonexpress:101,compat:[14,22,48,84,112,144],compil:[0,14,17,19,20,21,34,36,44,45,48,50,70,77,80,81,85,99,100,117,121,123],compiled_task:[34,99],compiled_workflow:[36,100],compiledtask:[34,99,101],compiledworkflow:101,compiledworkflowclosur:[36,77,100,101],compiler_pb2:[99,101],complet:[0,2,7,13,20,27,33,39,41,48,50,55,77,80,81,99,101,104,112,113,121,127,129,130,135,146],complex:[0,10,22,49,113],compli:76,compliant:145,complic:20,compon:[0,1,5,9,11,13,17,20,21,22,29,30,48,55,92,109,112,117,124],component_nod:[70,108],compos:[13,15,34,113,118,124,132,134,145],composit:7,compris:[19,49],comput:[0,11,16,22,25,27,29,34,35,38,41,55,63,99,102,104,113,121,122],computed_input:25,concat_then_split:104,concept:[10,22,109,124,127,134,138,141],concern:[15,22],concis:99,concret:20,concurr:[55,60,99,102,104,109,111],condit:[22,45,50,70,99,123],condition_pb2:101,config:[2,4,5,6,7,9,10,11,13,14,48,60,76,81,85,99,102,104,124,131,134,135,145,147],config_file_path:[76,85],configmap:[11,13],configpars:73,configur:[0,1,8,9,11,12,14,15,17,23,25,27,28,34,48,53,70,72,74,76,87,88,99,104,105,108,110,114,118,122,127,131,134,144,145,146],conform:[2,50,76,84,101,113],confus:104,conistitut:122,conjoin:40,conjunct:[40,101,104],conjunctionexpress:101,connect:[4,7,13,39,87,101,104],connectionset:101,connector:144,consecut:129,consid:[2,23,25,44,49,84,99,104,122,127,141],consist:[0,15,17,22,81,104,111,112,113,129,140],consol:[0,6,8,13,18,21,121,125,135],constant:[14,40,50,70,73,85,108],constraint:14,construct:[10,17,23,29,35,50,73,85,101,104],construct_literal_map_from_parameter_map:73,construct_literal_map_from_variable_map:73,constructor:84,consum:[22,47,48,49,50,52,99,101,121,141],contact:0,contain:[0,2,4,5,7,9,11,13,14,15,19,20,22,23,25,27,28,29,34,35,36,39,42,47,49,53,63,64,70,77,81,87,88,99,101,102,104,105,111,113,119,121,122,123,132,134,138,141,142,143,147],container:147,container_arrai:77,container_array_task:77,container_port:48,containercr:43,containererror:101,containerless_task:132,containertask:140,content:[10,19,23,30,43,48,63,108],context:[11,23,25,29,38,50,76,77,79,80,81,84,87,89,90,91,99,101,104,124],context_stat:77,continu:[2,20,62,111,113],continuous_parameter_rang:62,continuousparameterrang:102,contract:112,contrast:80,contrib:[70,108],contribut:[18,21,104,109,110,112,121],contributor:[19,109,111,112],control:[2,5,7,9,20,23,26,50,53,54,104,111,113,115,122,123,141],convei:48,conveni:[22,132],convent:132,convert:[14,20,87,99,106],cookbook:109,cool:131,coordin:123,copi:[11,13,20,21,55,83,94,97,142],copilot:48,copy_tag:98,core:[0,5,9,10,20,22,23,25,27,28,29,34,35,36,52,54,64,67,70,72,76,77,80,81,83,88,89,90,91,99,100,104,111,118,119,130,146,147],correct:[2,78,104,106,147],correctli:[79,129],correl:133,correspond:[2,14,44,48,60,62,102,118,119,127],corrupt:133,cors_proxi:17,cors_proxy_prefix:17,cost:113,costli:48,could:[8,11,15,23,67,112,127,133],count:[41,91,129,132,147],counter:129,coupl:[63,102,140,142],cours:[127,129],cover:20,coverag:112,cpu:[10,13,20,28,48,85,88,99,104,145],cpu_limit:[81,87,88,104,146],cpu_request:[81,87,88,104,146],crd:0,creat:[0,4,8,9,11,14,15,16,19,20,22,23,25,27,29,34,35,36,39,72,73,77,79,80,81,83,84,87,88,89,90,92,99,104,109,111,112,113,118,119,121,124,126,127,129,131,132,133,141,142,144],create_at_any_loc:84,create_at_known_loc:[83,84],create_bindings_for_input:77,create_execut:72,create_from_hive_queri:[83,84,142],create_launch_plan:[72,77,80,126,127,131],create_part:84,create_protobuf:83,create_task:72,create_workflow:72,created_at:[15,25,27,29,34,35,36,100],createexecut:10,createexecutionrequest:[25,27],creation:[28,34,80,99,119,124,127,134],cred:[70,108],credenti:[11,70,72,73,85],criteria:[41,55,99,122],critic:[2,10,20],cron:[12,13,118,127],cron_express:[33,77,99,119],cronschedul:[77,127],crt:11,csv:[43,49,83,101,104],csvinstanti:83,cte:[83,84],ctfasset:135,ctx:76,cuda:145,cumbersom:112,cumul:43,curl:[10,134],current:[0,10,12,14,15,23,30,41,49,50,52,55,63,72,77,84,85,88,92,99,101,102,104,112,115,122,124,128,130,140,142],current_phas:24,current_tag:91,current_valu:91,custom:[0,2,10,13,21,22,23,27,28,32,35,37,43,48,52,57,58,59,63,65,66,72,81,85,87,88,99,102,104,112,113,129,132,146,147],custom_info:[35,52],customiz:[1,9,15,28,48,128,146],customst:20,cv2:134,cycl:[20,85],cyclic:14,daemon:8,dag:[0,118,123],dai:[33,99,119,127],dashboard:[112,120],data:[1,4,7,9,10,15,17,18,20,21,22,25,29,34,35,45,47,48,52,54,55,63,70,74,77,81,83,84,85,87,92,99,101,102,104,109,111,113,122,127,129,133,134,142,144,145,146],data_config:48,data_exist:93,data_fram:84,data_loading_config:99,data_proxi:[70,92],databas:[0,8,9,10,14,15,72,117],datacatalog:[13,16,44,109,112],datacatalog_config:13,datafram:[99,104,122],dataload:[48,145],dataloadingconfig:99,dataplan:[0,11,53],dataplane_gener:11,dataproxi:[93,94,95,96,97],dataset:[16,38,44,48,145],dataset_id:38,datastor:[13,121],date:127,datefram:84,datetim:[47,49,80,81,83,88,89,99,100,101,104,127],dbname:13,deadlin:[7,112],deal:[48,104],debug:[0,9,15,52,81,110,121,133],decid:[20,48,63,102,112,122,127],declar:[22,88,104,117,118,141],decod:17,decor:[20,79,81,87,88,104,134,142,145],decr:[91,98],decreas:[10,62],dedic:145,deep:[110,119,136,138],deeper:[118,137],deepli:[99,104,112],def:[77,80,104,132,133,134,140,141,142,144,145,146,147],default_cpu_limit:85,default_cpu_request:85,default_gpu_limit:85,default_gpu_request:85,default_input:[27,77,99,127],default_memory_limit:85,default_memory_request:85,default_storage_limit:85,default_storage_request:85,defin:[0,7,10,14,15,20,22,23,25,26,27,28,33,40,42,46,47,48,49,50,51,54,55,59,60,62,63,77,80,81,83,85,88,99,101,102,104,112,113,115,119,121,122,123,126,127,130,132,134,140,141,145,146,147],definit:[0,2,10,14,15,20,25,27,48,53,54,63,72,77,84,87,88,99,102,104,117,118,119,121,123,127,132,140,146],defint:[69,81],defualt:50,delai:[7,43],delet:[13,15,77,104,142],delimit:85,deliv:53,demand:[10,113,118],demo:147,demonstr:134,demystifi:0,denorm:39,denot:[47,144],depdend:[50,101],depend:[13,14,21,22,25,29,38,47,48,49,50,81,87,101,105,123,124,130,132,145,146,147],deploi:[8,11,13,85,110,114,145,146],deploy:[0,1,9,10,20,85,110,114],deprec:[48,52,77,80,81,87,88,90,99,104],deprecated_error_messag:[48,99],deprovis:113,depth:2,dequeu:14,deriv:34,descend:[15,23,100],describ:[0,1,4,11,13,20,22,23,41,46,47,55,62,88,99,101,104,121],descript:[4,6,7,15,23,31,43,46,49,83,99,112,129],descriptor:[83,104],deseri:104,design:[0,2,5,8,13,14,15,72,122],desir:[27,48,64,83,84,88,99,104,130,141,146],detail:[0,1,8,18,21,22,24,27,29,35,39,42,43,45,48,49,54,60,62,63,85,102,121,127,135,147],detect:[50,77,101,104,130,135],detect_unreferenced_ent:105,determin:[0,10,15,28,48,50,60,72,88,99,101,102,104,123,131],determinist:[34,133],develop:[0,4,14,18,23,31,47,85,111,112,114,122,124,132,134,135],devic:145,diagnos:129,diagram:9,dict:[73,77,80,81,83,84,87,88,89,90,91,99,101,102,104,105,144],dictat:[42,77,80,81,123],dictionari:[73,80,81,84,87,91,99,104],did:134,differ:[2,8,14,15,17,20,22,31,47,48,50,63,72,81,85,87,101,102,114,118,119,122,123,124,127,128,133,144,146],differenti:[31,79],digest:0,dimens:10,dimension:[22,49,101],dir:145,direct:[0,9,15,22,36,50,60,83,100,102,111,118,123],directli:[2,7,20,63,81,85,87,104,144],directori:[7,11,13,14,17,19,48,63,77,81,85,87,93,94,97,104,124,134],disabl:[4,7,25,38,77,80,81,114,119,127],disable_al:[25,99],discard:25,discourag:2,discov:[74,76,77,85,105,112],discover:[48,81,87,88,99,104],discoveri:[2,48,70,73,85,99,104],discovery_url:74,discovery_vers:[48,81,87,88,99],discoverycli:74,discret:[62,129],discuss:[2,10,20,142],disjunct:40,disk:[13,84,88,104],dispatch:79,displai:[17,31,49],dist:145,distinguish:[48,146],distribut:[0,58,63,66,102,109,111,113,122,145,147],distributeddataparallel:145,distributeddataparallelcpu:145,distributor:145,dive:[14,118,119,136,138],divid:112,divis:134,do_get:74,do_not_download:48,do_not_upload:48,doc:[8,9,11,13,47,48,60,62,63,102,109,111,124],docker:[8,48,63,102,113,134,135],docker_build:134,docker_registry_password:134,docker_registry_usernam:134,dockerfil:[85,145,147],dockerhub:134,document:[0,1,2,4,6,10,20,21,22,48,54,63,88,102,104,109,110,127,138,142,144,147],doe:[0,2,10,12,15,16,19,25,50,80,104,122,124,126,133,135,140,142,144,146],doesn:[4,10,20,22,27,30,36,81,84,87,127,142],doing:[102,105],domain:[10,14,15,16,17,23,25,27,28,32,37,44,72,76,77,78,80,81,89,90,91,99,101,104,118,119,120,122,123,128,129,132,133,135,138],don:[20,63,79,102,124,127,132,144],done:[17,48,77,92,102,104,121,129,134],dot:105,doubl:[47,62],down:[113,135],download:[4,48,63,84,93,94,95,96,97,99,104,135,145],download_directori:[93,94,95,96,97],download_eag:48,download_mod:[48,99],download_mode_eag:99,download_mode_no_download:99,download_mode_stream:99,download_stream:48,downstream:[0,7,39,50,101,104,142],drill:113,drive:[80,81],driven:22,driver:[87,104,113,147],drop:[142,144],due:[17,55,81],dump:99,duplic:48,durabl:20,durat:[7,15,25,29,35,43,47,48,49,50,52,77,80,99,100,104,129],dure:[20,28,42,60,85,102,121,123,132,140],dynam:[9,10,28,41,72,77,99,104,113,119,127,138,142,143,144],dynamic_job:[45,70,108],dynamic_job_pb2:99,dynamic_task:[77,80,104,141,144],dynamicjob:52,dynamicjobspec:[99,115],dynamictask:91,each:[0,8,10,11,13,14,17,20,21,22,29,30,40,50,73,81,83,87,101,104,110,112,118,119,120,122,124,144],earli:[60,102],earlier:[13,122],easi:[112,113,119,121,127],easier:[17,22],easiest:[8,13,134],easili:[0,81,119,132],easist:124,east:4,echo:[104,146],ecr:134,edg:[134,135],edge_detection_canni:134,edgedetectorwf:[134,135],edit:[13,133],effect:[0,2,10,63,102,118,122],effici:144,effort:[99,112,134],either:[8,10,14,19,20,22,28,39,47,63,76,85,102,104,119,121,124,127],elabor:48,elect:[5,9],element:[21,72,76,83],elif:104,elimin:48,els:[22,50,104,145],else_nod:[50,101],email:[23,30,77,99,127,128],emailnotif:99,embed:[36,38],emit:[7,102,129],emphas:112,empti:[7,23,25,27,29,32,34,35,36,37,77,80,81,104],emptydir:[104,146],emptydirvolumesourc:[104,146],enabl:[6,7,11,12,17,48,58,62,66,79,88,99,104,109,111,112,118,119,125,145],enact:77,encapsul:[22,23,25,28,29,34,35,36,44,47,48,50,81,118,122,123],enclos:[39,51,123],encod:[48,52,76,83,104],encompass:25,encourag:129,encrypt:85,end:[0,15,20,25,48,77,80,85,112,113,122,123,129,130,142],end_dat:127,endpoint:[2,4,7,8,10,11,13,15,17,26,69,74,76,117,124,134,135],enforc:[14,22,84],engag:113,engin:[0,14,20,42,48,50,53,70,77,80,81,85,87,101,104,108,115,120,129,142,144],engine_nam:89,enginecontext:[81,87,89],enhanc:85,enqu:14,enqueu:[7,14],ensur:[13,48,50,79,81,84,92,101,104,112,113,117,122],enter:[13,79,85,104],enter_context:77,entered_stack:77,enthusiast:110,entir:[0,4,5,11,22,29,50,104,119,123,126,130],entiti:[0,14,18,22,23,25,27,29,31,35,44,45,54,72,76,80,81,85,87,99,105,118,121],entity_metadata:[27,99],entity_typ:77,entity_type_text:[77,80,81],entrant:79,entri:[11,72,73,133],entropi:92,entrypoint:[2,48,70,85,108,122,140,147],enum_to_str:[99,101],enum_type_wrapp:99,enumer:104,enumtypewrapp:99,env:[13,48,81,99,124,146],environ:[2,8,19,48,72,76,81,85,87,88,99,104,113,114,118,124,133,144,146],epic:112,epoch:145,epoch_accuraci:145,epoch_step:145,equal:[15,22,47,88,99,104],equir:[47,51],equival:104,errimagepul:43,error:[7,25,29,35,38,43,45,47,48,50,52,70,72,77,79,80,81,84,99,100,104,113,121,122],error_cod:79,error_messag:79,error_uri:[43,101],errordocu:101,errorkind:42,errors_pb2:101,especi:[77,104],essenti:[104,124],eta:113,etc:[8,14,20,22,23,31,48,49,52,77,81,83,87,99,102,104,106,107,111,118,122,124,145],etcd:20,etl:144,eval:7,evalu:[7,22,40,50,63,101,102,123],evaluation_interv:88,even:[2,20,27,29,36,79,81,85,111,112,123,134],event:[0,5,9,15,25,26,54,104,121,128,129],eventsink:7,eventu:[44,118,145],ever:79,everi:[7,16,22,33,39,79,81,85,112,122,127,129,132,133],everyth:[8,11,120],evolut:112,evolv:[13,113],exact:[121,133],exactli:[72,112],exampl:[5,9,11,13,15,17,48,62,77,81,85,109,114,118,123,124,125,127,130,132,133,134,136,138,140,141,142,143,144,145,147],exc_tb:79,exc_typ:79,exc_valu:79,exce:[11,122],excecut:132,exceed:[43,88],excel:14,except:[63,70,72,77,80,81,83,84,88,102,105,108,124,141],excerpt:145,exchang:122,exclus:145,excut:[125,138],execut:[0,2,5,7,8,9,11,12,13,14,17,18,20,22,23,24,26,27,28,29,31,33,35,36,38,39,41,42,44,45,47,48,50,52,53,55,59,67,70,72,73,77,80,85,87,88,89,90,91,100,104,108,111,118,119,121,122,124,125,127,130,131,133,138,141,144,145,146,147],executable_sdk_object:77,execute_array_task:91,execute_with_liter:[77,80],execution_clust:25,execution_cluster_label:[28,99],execution_created_at:15,execution_d:[81,89],execution_engin:85,execution_ev:14,execution_id:[44,52,81,89,101],execution_nam:132,execution_pb2:[99,101],execution_queu:28,execution_queue_attribut:[28,99],execution_spec:72,execution_updated_at:15,executionartifact:[77,80,81],executionclosur:99,executionclusterlabel:99,executionerror:[25,29,35,42,52,77,80,81,99,100,101],executionid:29,executionmetadata:99,executionmod:99,executionnam:16,executionparamet:81,executionqueueattribut:[10,99],executionspec:[72,99],executionvers:16,executor:[20,52,64,104,146,147],executor_path:99,executorpath:65,exercis:0,exeuct:0,exist:[2,4,10,11,14,15,16,22,25,39,49,72,76,81,84,87,90,93,94,95,96,97,99,104,134,147],exit:[48,53,83,84,104,122,140],exitstack:77,expand:[8,9],expect:[48,104,119,122,141],expected_input:[27,99],expected_output:[27,99],expected_typ:79,experi:112,expir:[74,76],expiri:43,explain:[0,9,15,21,85,112,124],explan:[2,14],explicit:[15,72],explicitli:[23,50,85,88,104,123,144],explod:48,explor:110,expos:[0,14,15,22,23,30,48,122],express:[15,22,40,88,101,113,118,122,127],extend:[21,22,49,77,85,104,109,110,112,123,126,146],extend_tag:98,extendable_func:98,extendedsdktyp:[77,83],extens:[20,21,48,52,77,88,99,104,122],extern:[5,9,12,14,17,54,81,142,144],external_loc:144,extra:[17,48,50,99,101,145,146],extrem:[5,113],face:[0,25],facilit:[85,123],fact:[13,20,36,80,129,142],fact_airport_sess:144,fail:[0,15,25,35,38,41,43,47,50,81,87,101,104,119,121,128,129,130],fail_after_executable_nodes_complet:[50,101,130],fail_immedi:[50,101,130],failed_node_id:49,failur:[7,11,42,48,50,55,77,79,88,99,101,104,113,121,122,123,125,129,138],failure_nod:[50,101],fall:85,fallback:85,fals:[48,72,73,76,81,82,84,87,93,101,104,127,145],far:22,fashion:112,faster:[133,144],fault:[0,118],favor:25,featur:[7,12,48,109,112,114,118,138],feed:[10,81,87],feedback:112,feel:[112,124],fetch:[2,17,23,25,27,29,34,35,36,77,80,81,83,84,89,90,91,104,117,121,125],fetch_latest:81,fetch_latest_task:[89,90,91],fetch_launch_plan:[89,90,91],fetch_task:[89,90,91],fetch_workflow:[89,90,91],fetch_workflow_execut:[89,90,91],few:[8,19,113,135,141,146],ficu:132,field1:104,field2:104,field:[10,15,20,23,25,30,34,36,38,39,41,44,47,49,50,52,57,59,63,72,80,81,99,101,102,104,129,133,146],file:[2,7,10,11,13,14,19,20,23,28,42,47,48,52,63,72,76,80,81,84,85,93,94,95,96,97,99,102,104,105,112,124,134,135,146],file_path:[11,93,94,97],filenam:[17,81,87],filepath:77,filesystem:[48,84],fill:[10,39,46,73,85],filter:[14,23,29,35,70,72,77,81,89,90,108],filter_list:99,filterlist:99,find:[10,13,14,27,63,102,105,132,135,137],fine:127,finish:[17,22,122],first:[1,11,13,20,48,50,72,76,80,81,83,88,101,104,117,122,124,135,136,137,138,142],first_task:104,fit:[0,21],fix:[25,27,99,110,127,130],fixed_input:[27,77,99,119,127],fixedr:[77,99,127],fixedrateunit:99,flag:[17,29,48,112],flavor:[48,99,123,128],flexibl:[22,122,123],float_valu:[47,99],flow:[9,50,74,85,110,111,118,123],flush:43,flyte:[0,1,4,7,8,10,11,12,14,15,19,21,23,27,34,38,44,48,50,62,63,70,72,77,81,85,87,88,89,99,101,102,104,106,111,112,114,119,120,121,122,126,131,133,136,137,138,140,141,142,145,147],flyte_cach:16,flyte_cli:[70,73],flyte_client_url:74,flyte_credentials_auth_mod:2,flyte_credentials_authorization_metadata_kei:2,flyte_credentials_client_id:2,flyte_credentials_client_secret:2,flyte_credentials_client_secret_from_env_var:2,flyte_credentials_client_secret_from_fil:2,flyte_credentials_scop:2,flyte_gener:[8,11,13],flyte_input_fil:48,flyte_internal_imag:85,flyte_output_fil:48,flyte_platform_auth:2,flyte_platform_url:[134,135],flyte_sdk:[48,99],flyte_task:16,flyte_temporary_t:144,flyte_test:104,flyteabcmeta:99,flyteadmin:[0,5,7,9,10,11,13,18,21,109,117,118,121,124],flyteadmin_config:13,flyteassert:[77,79],flyteauthenticationexcept:79,flyteboolconfigurationentri:85,flytecli:[0,119,124],flyteconfigurationfil:85,flyteconsol:[0,8,14,18,121],flytecustomidlent:99,flytedefaulttypeengin:107,flyteenginefactori:90,flyteentityalreadyexistsexcept:[72,79],flyteentitynotexistexcept:79,flyteentrypointnotload:79,flyteexcept:79,flyteidl:[1,7,20,54,72,76,77,81,83,99,100,101,102,112],flyteidlent:[77,81,87,90,91,99,100,101,102],flyteintegerconfigurationentri:85,flytekit:[0,2,14,19,20,48,63,109,111,112,118,124,126,130,132,134,144,145,146,147],flytekit_install_spark:147,flytekit_spark_entrypoint:147,flytelaunchplan:90,flytenodeexecut:90,flytenotimplementedexcept:79,flyteplugin:[0,109,145],flytepropel:[0,13,14,48,109,112,145],flyteproto:146,flyterecoverableexcept:[79,104],flyterequiredboolconfigurationentri:85,flyterequiredintegerconfigurationentri:85,flyterequiredstringconfigurationentri:85,flyterequiredstringlistconfigurationentri:85,flytescopedexcept:79,flytescopedsystemexcept:79,flytescopeduserexcept:79,flytesdk:140,flytesdktyp:[77,81,83,84,104,106,107,144],flytesdkvalu:[81,83,104],flytesnack:[109,134,135,137,145],flytestdlib:[4,5,14],flytestringconfigurationentri:85,flytestringlistconfigurationentri:85,flytesystemassert:79,flytesystemexcept:79,flytetask:90,flytetaskexecut:90,flytetimeout:79,flytetyp:[77,99],flytetypeexcept:[79,83,104],flyteuserexcept:79,flytevalidationexcept:79,flytevalueexcept:[79,81],flyteworkflow:[0,11,90],flyteworkflowexecut:90,focu:[112,113],focus:112,folder:[19,48,76,105],follow:[1,2,7,10,11,17,76,85,112,122,124,127,129,131,135,140,141,142,144,145,146,147],foo:[15,72,144,146],forbidden:84,forc:[2,7,10,84,85,104],force_auth_flow:72,force_cleanup:77,forget:127,form:[10,49,50,83,104,106,107,111,124,133,135],format:[0,4,14,17,22,25,42,47,48,49,52,77,78,80,81,83,84,85,87,99,101,104,106,117,132,134,140,144,146,147],format_section_kei:85,formatt:4,formatted_query_1:142,formatted_query_2:142,former:119,forward:[30,112],found:[2,14,48,72,77,80],four:10,fqdn:77,fqdn_safe:77,fraction:[88,104],frame:[84,99],framework:118,fraud:113,free:[10,49],frequenc:[7,33],friendli:[50,52,70,104,108,119],friendlyworkflownam:13,from:[0,2,7,10,11,13,14,17,19,20,22,27,30,34,36,39,41,42,43,47,48,49,50,53,63,72,73,76,77,79,80,81,83,84,85,87,88,89,90,91,99,100,101,102,104,106,109,113,114,119,120,125,126,127,129,130,133,134,135,142,144,145,146],from_dict:[99,104],from_flyte_idl:[77,83,99,100,101,102],from_path:[95,96],from_python_std:[77,78,83,84,99,100,104],from_str:[83,84,104],front:113,fulfil:[0,11,101,113,134,135],fulfil_bind:91,fulfilled_promis:91,full:[2,14,22,43,115,132],full_prefix:98,fullfil:[0,50],fulli:[15,99,120,122],func:15,fundament:111,further:[0,25,99,129],furthermor:[72,79],futur:[19,20,23,25,27,32,37,38,81,99,112,125],fyi:85,gain:110,garbag:[4,7],gate:25,gatewai:[14,15],gauarante:48,gaug:[91,98],gcp:[8,13,70,77,108],gcs:[70,92,93],gcs_proxi:[70,92,93],gcsproxi:94,gener:[0,2,13,19,20,22,23,25,28,38,41,42,47,48,52,72,77,83,84,85,87,92,99,104,109,119,122,124,129,133,141,142,144,146],generate_doc:19,generate_oth:141,generate_pod_spec_for_task:[104,146],generate_queri:142,generate_simple_queri:142,generated_pb2:[81,104,146],generatedprotocolmessagetyp:83,generic_spark_task:[70,77,104],get:[1,9,10,11,13,14,15,20,22,25,28,47,50,76,80,93,99,101,109,113,121,124,134,135,137,138,141,144,146],get_active_launch_plan:72,get_authorization_endpoint:74,get_base_stat:98,get_basic_authorization_head:76,get_bool:85,get_child_execut:[81,89,90],get_client:74,get_command:76,get_data:93,get_engin:89,get_execut:72,get_execution_data:72,get_extras_requir:105,get_input:[89,90],get_int:85,get_launch_plan:[72,89,90,91],get_named_tempfil:77,get_node_execut:[72,77,89,90,91],get_node_execution_data:72,get_non_system_nod:77,get_output:[89,90],get_pod_spec:146,get_random_directori:[93,94,95,96,97],get_random_path:[93,94,95,96,97],get_remote_directori:93,get_remote_path:93,get_sdk_type_from_literal_typ:[83,106,107],get_sdk_value_from_liter:83,get_secret:76,get_spark_context:[81,87],get_stat:98,get_str:85,get_sub_workflow:77,get_subworkflow_execut:[89,90],get_supported_literal_types_to_pandas_typ:84,get_task:[72,89,90,91],get_task_execut:[72,89,90,91],get_task_execution_data:72,get_token:76,get_version_messag:77,get_workflow:[72,89,90,91],get_workflow_execut:[89,90,91],get_write_partition_to_hive_table_queri:84,getcustomst:20,getlaunchplan:117,git:[13,124,134],github:[13,16,19,48,58,66,83,104,109,112,124,134],githubusercont:8,give:[7,72,80,81],given:[14,20,25,27,39,48,52,55,72,73,76,77,81,85,87,99,105,119,124,133,135,144],gizmo:14,gke:8,global:[10,22,48,50,77,92,99,101],globalsparkcontext:81,gloo:145,glossari:42,goal:[0,112,120,122],godoc:4,goe:[80,129],going:137,golang:[0,4,5,20,22,48,99],golden:112,gone:13,goodnight:104,googl:[8,14,25,27,29,34,35,36,43,47,48,49,50,52,99,134],gorm:14,gormimpl:14,got:127,gpu:[10,28,48,85,88,99,104,122,145],gpu_limit:[81,87,88,104],gpu_request:[81,87,88,104],grab:104,grace:122,grade:9,grant:17,graph:[0,22,29,36,49,50,52,99,101,111,113,118,123,130],greater:[15,22,40,63,72,102],greaterthan:99,greaterthanorequ:99,grep:11,greter:15,group:[6,27,29,43,52,76,81,118,120,124,144],grow:10,grpc:[0,2,7,14,15,26,54,72,85,124],gte:[15,40,101],guarante:[14,39,48,88,99,104,118,122],guid:[0,19,136,137,138],guidanc:73,guidelin:[21,112],had:[20,127,134],hadoop:[99,104,147],hadoop_conf:[81,99,104,147],hadoopconf:65,hand:80,handbook:8,handl:[0,1,7,8,9,14,48,50,72,74,79,81,85,113,122,129,144],handle_authorization_cod:74,handle_login:74,handler:[14,20,48,123,129,134],happen:[16,19,141,142],hard:[22,128],hardcod:85,hardwar:113,has:[0,5,7,8,10,13,14,15,17,20,22,24,29,39,46,48,50,55,63,80,81,99,101,102,104,112,113,122,127,129,130,132,133,134],has_valid_nam:80,has_workflow_nod:91,hash:[16,38,70,77,81,124,133],hash_string_task:133,hashonreferencemixin:[77,80,81],have:[2,8,10,11,12,13,15,16,17,19,20,22,23,25,27,29,36,41,43,46,48,49,50,52,73,76,77,80,81,85,87,89,90,91,92,99,101,104,112,113,118,119,122,123,132,134,136,141,142,146,147],haven:146,havoc:129,head:14,header:[2,10,76],headless:2,hear:112,held:77,hello:[8,104],hello_spark:147,help:[0,2,13,17,19,47,77,79,81,85,99,104,111,112,128,129,132,134,144],helper:[70,77,86,108],henc:147,her:[85,110],here:[0,2,10,11,13,14,20,23,25,43,48,54,77,79,85,112,119,122,124,127,134,141,145],hidden:112,hierarchi:9,high:[0,11,19,20,43,54,112,122,129,144],highest:112,highlevel:129,highli:[109,111],highlight:112,his:85,histor:121,histori:112,hit:[2,7,10,16,79,80],hive:[0,52,59,77,81,83,84,104,122,138,143,144],hive_job:[77,81],hive_result:142,hive_sensor:105,hive_task:[20,70,77,104,142],hivefilteredpartitionsensor:88,hivenamedpartitionsensor:88,hivequeri:99,hivequerycollect:99,hivetablesensor:88,hivetask:91,hmsclient:105,hold:[13,22,36,99],home:[7,80],homepag:135,homogen:49,honor:[77,80,81],hook:81,hop:17,host:[8,13,17,19,88,110,132,134,135,138],hour:[7,33,99,119],hous:[14,19],how:[0,1,8,9,10,13,18,20,21,22,23,41,43,47,48,50,85,88,99,101,102,104,109,111,115,122,125,127,129,140,141],howev:[2,11,14,15,17,27,48,76,80,85,104,119,123,127,130,146],hpo:[60,102],hpo_job:[70,99],hpo_job_task:[70,77,81],html:[19,48,60,62,63,85,102],http:[2,8,10,13,14,15,16,17,47,48,58,60,62,63,66,70,74,76,83,85,92,93,102,104,135],http_data_proxi:[70,92,93],http_url:85,httpfileproxi:95,httpserver:74,hub:109,human:[0,15,99],hundr:0,hydrat:[77,81],hyperparamet:[60,62,63,102,122],hyperparameter_rang:[60,102],hyperparameter_tuning_job:61,hyperparameter_tuning_job_pb2:102,hyperparameterscalingtyp:102,hyperparametertuningjob:102,hyperparametertuningjobconfig:102,hyperparametertuningobject:102,hyperparametertuningobjectivetyp:102,hyperparametertuningstrategi:102,hysteresi:134,iam:[4,13,77,85,99,125],iceberg:137,idea:[80,112],ideal:[85,88,113],idempot:[88,104,122],ident:[2,13,14,22,25,72,122,133],identif:[44,126],identifi:[13,15,22,23,25,27,29,34,35,36,38,39,45,48,49,50,52,70,72,77,80,81,85,89,90,91,99,100,121,124,126],identifier_pb2:101,idl:[0,2,19,77,99],idl_dict:99,idl_object:99,idlist:101,idp:[9,76,85],ids:[15,39,41,50,99,101],ietf:85,if_els:[50,101],ifblock:101,ifelseblock:101,ignor:[39,72,105],ignore_ent:105,ignore_schedul:76,iktp762nh:144,imag:[8,20,22,48,63,81,85,99,102,104,132,134,135,140,145,146,147],image_input:[134,135],image_loc:134,image_nam:134,ime:25,img:134,immedi:[41,77,112,130,132],immut:[15,123],impl:[70,77,83,86,104],implement:[0,2,7,14,15,18,22,48,49,69,74,76,83,88,89,104,111,129,140],impli:[14,25,119],implicit:[50,101],implicitli:15,impliment:21,importantli:[8,20],importerror:105,impos:2,imposs:[41,85,122],improv:[60,102],improved_sea_launch_plan:127,imread:134,imwrit:134,in1:[104,146],in2:104,in3:104,inact:[15,27,72,99,127],inadvert:133,inbound:10,includ:[0,4,7,8,10,11,13,14,15,20,21,23,25,27,34,35,43,48,50,52,63,81,85,87,99,101,102,104,105,113,117,118,120,123,124,128,129,140,145,146],include_ent:105,inclus:104,incom:14,incomplet:27,incr:[91,98],increas:[8,9,10,11,62,112,113],increment:[25,52],indefinit:[88,104],indentifi:22,independ:[55,112,118,122,124],index:[14,16,19,92,141],indic:[7,23,25,27,29,35,38,43,44,48,50,52,112,133],individu:[0,5,9,15,22,25,29,44,48,52,83,104,113,119,120,141],inevit:122,infer:[72,106],infer_sdk_type_from_liter:[83,106,107],infinit:80,influenc:92,info:[8,23,29,35,43,140],inform:[0,7,8,10,15,16,17,18,19,20,22,23,25,29,33,35,38,39,43,48,49,50,52,56,72,88,99,101,102,104,120,121,122,123,124,129,142],ingenu:80,ingress:[8,17],inher:[122,129],inherit:[14,77],init:[13,134],init_process_group:145,initi:[4,14,43,74,85,127,134],inject:[81,88,104,123,129,146],inlin:[2,39,48],inner:49,input:[16,20,22,25,27,29,33,34,35,36,40,46,47,48,50,52,55,63,72,73,77,80,81,83,87,88,89,90,91,99,101,102,104,106,107,117,118,121,122,123,132,133,134,135,140,141,144,145,146],input_a:104,input_argu:73,input_b:[73,104],input_blob:104,input_c:73,input_content_typ:[63,102],input_data_dir:81,input_link:77,input_map:[81,87],input_mod:[63,102],input_path:[48,99],input_uri:[29,35,52,99,100],inputcontenttyp:102,inputmod:102,insecur:[7,72],insert:[84,104,135,142,144],insid:[11,48,104,124],insight:120,instal:[1,8,13,19,104,109,111,134,135,136,143,145,147],instanc:[2,16,20,31,55,63,77,80,81,87,92,99,102,104,118,123,124,134,142,147],instance_count:[63,102],instance_typ:[63,102],instanti:[25,35,77,80,104,123],instantiabletyp:83,instantiated_in:80,instead:[2,7,8,13,15,48,77,90,133,142,144],instruct:[50,101,115,130,141],int32:[58,66],int64:[23,41,47,55,60,62,63,115],int_list:104,int_valu:[99,101],integ:[15,47,48,49,62,77,80,81,83,88,99,101,104,106,107,127,132,140,141,144,145],integer_parameter_rang:62,integerparameterrang:102,integr:[2,20],intend:[4,25],intens:0,intention:47,interact:[0,2,22,47,89,110,125,137],interest:110,interfac:[0,14,20,22,45,47,48,49,50,54,70,72,73,81,84,87,89,101,104,108,113,122,125,133,140],interface_pb2:99,interfer:129,intermedi:[102,115,123],intern:[15,20,23,30,39,54,70,99,108],internal_overrid:85,interoper:49,interpret:[48,80],interrupt:[48,50,81,88,99,101,104],interv:[7,12],introduc:[119,122,124],introduct:[109,127],invari:22,inventori:118,invest:19,investig:2,invoc:[25,119,122,126],invok:[20,87],involv:113,io_strategi:[48,81,99],iostrategi:[81,99],irrevers:25,is_avail:145,is_castable_from:[83,104],is_complet:[77,80,81],is_distribut:145,is_empti:99,is_initi:145,is_multipart:93,is_par:[35,100],is_parent_nod:29,is_schedul:77,isfil:[104,146],isn:[80,104],isol:[0,11,114,118],issu:[2,14,112,113,129],item:[7,22,47],iter:[19,23,72,76,84,105,112,122,132],iter_chunk:104,iteract:124,iterate_modul:105,iterate_node_execut:72,iterate_registerable_entities_in_ord:105,iterate_task_execut:72,its:[0,8,10,15,17,20,22,23,30,39,48,50,101,112,115,118,122,124,132,140,141,145],itself:[0,2,20,46,48,64,80,85,104,134],java:[22,65,104],javascript:0,job:[41,47,55,58,60,63,64,66,81,92,99,102,104,112,122,141,145,147],join:76,jpg:134,json:[4,10,20,22,43,48,83,101,104,121],jsonpath:11,jump:110,just:[8,11,20,50,80,85,90,91,123,124,132,134,137,142],jwt:2,k8s:[7,8,48,64,99,104,105,145,146],kafka:14,katib:122,katrogan:23,keep:[20,64,77,112,129],kei:[4,10,11,13,14,15,20,23,28,47,49,76,77,84,85,99,100,104,126,133],keyvaluepair:48,keyword:[88,104],kick:[33,52,124,127],kickoff:33,kickoff_time_input_arg:[33,77,99,127],kind:[11,43,79,89,90,91,101,122],kit:[124,134],knob:[110,113],know:[22,43,79,80,122,133,140,141,142],knowledg:36,known:[40,48,74,80,83,84,122],known_loc:[83,84],known_remote_loc:84,kube:[7,131],kubeapi:11,kubeconfig:7,kubectl:[8,11,13],kubeflow:[58,66,104,145],kuberent:8,kubernet:[0,1,5,7,8,9,10,13,15,28,48,77,85,88,99,104,117,125,126,145,146,147],kubernetes_service_account:[23,27,77,85,99,131],kustom:[10,11,13],kwarg:[72,77,79,80,81,88,91,104,105,145],l187:20,l27:20,l30:48,l623:20,l80:48,l92:20,label:[9,11,25,27,28,77,80,81,89,90,91,99,104,112,125,132,138],label_overrid:[77,80,81,89,90,91],lack:[52,92],lambda:[88,122],languag:[0,21,47,106,109,111,118,121,122],lanugag:121,laptop:137,larg:[7,20,25,48,99,112,141],larger:22,last:[7,25,27,29,35,88,127],latenc:[17,99,129],later:[105,121,142],latest:[48,60,62,63,81,85,89,90,91,102],lauch_plan:15,launch:[0,2,7,10,11,12,14,15,22,23,25,27,29,46,50,52,55,60,63,67,72,73,77,80,81,85,89,90,91,99,101,102,105,113,117,118,121,123,124,125,127,131,135,138,141],launch_plan:[14,15,25,26,28,44,70,72,73,89,90,91,101,108],launch_plan_id:[89,90,91],launch_plan_identif:72,launch_plan_name_format:85,launch_plan_pb2:[76,77,99],launch_plan_spec:72,launch_with_liter:[77,80,81],launchabl:[70,77,81],launchableent:[77,80,81],launcher:[5,9],launchplan:[22,23,72,89,90,91,99,114,118,141],launchplan_ref:[50,77,101],launchplanabstractgroup:76,launchplanclosur:99,launchplanexecutegroup:76,launchplanmetadata:99,launchplanspec:[72,76,77,99],launchplanst:[72,77,89,90,99,127],layer:[14,20,22,39,48,49,99],lazy_load:[70,108],lazy_load_modul:105,lazy_loading_plugin:105,lazyloadplugin:105,lead:[2,122],leader:[5,9],leaderelector:7,leadership:7,leak:79,learn:[8,60,62,109,111],learning_r:145,leas:7,least:[13,80],leav:135,left:101,left_express:[40,101],left_valu:[40,101],leg:2,less:[15,22,40,47,85],lessthan:99,lessthanorequ:99,let:[10,11,13,16,22,122,127,134],level:[0,4,5,7,9,11,14,15,19,20,21,25,31,40,47,48,50,52,54,85,88,99,101,104,120,122,124,129,140,144],leverag:[0,14,23,80,145],lexicograph:84,lib:145,libari:17,librari:[14,85,104,129,134],lifecycl:[15,113,146],lifetim:25,like:[0,2,10,11,12,13,15,17,20,23,31,43,45,48,49,52,72,73,80,85,99,104,111,112,119,121,122,123,127,132,134,141,142,144,145,146],likewis:11,limit:[4,7,10,11,13,15,23,27,28,29,35,48,49,60,72,85,99,114,120,132,144,145],line:[0,2,7,11,13,30,72,104,113,125,132,134],lineag:12,linear:[62,102],link:[5,9,23,25,29,35,43,50,77,81,88,104,111,118,132,134,135],linux:85,list:[2,6,8,10,13,14,15,16,22,23,25,27,29,30,34,35,36,39,41,43,48,49,50,63,72,76,77,80,81,83,84,85,89,90,91,99,100,101,102,104,105,112,124,127,135],list_active_launch_plans_pagin:72,list_command:76,list_dir:77,list_executions_pagin:72,list_launch_plan_ids_pagin:72,list_launch_plans_pagin:72,list_node_execut:72,list_node_executions_for_task_pagin:72,list_node_executions_pagin:72,list_project:72,list_task_executions_pagin:72,list_task_ids_pagin:72,list_tasks_pagin:72,list_workflow_ids_pagin:72,list_workflows_pagin:72,listexecut:15,listimpl:83,listlaunchplan:15,listnodeexecut:15,listtask:15,listtaskexecut:15,listtaskid:15,listworkflow:15,listworkflowid:15,liter:[16,22,45,46,50,70,72,73,77,80,81,83,84,87,89,90,91,101,104,106,107,108],literal_input:[77,80,81],literal_map:83,literal_model:[83,104],literal_typ:[77,83,106,107],literalcollect:99,literalmap:[25,27,29,35,48,72,73,77,80,81,83,87,89,90,91,99],literalmap_format_json:99,literalmap_format_proto:99,literalmap_format_yaml:99,literalmapblob:99,literals_pb2:[83,99],literaltyp:[46,47,77,83,99,104,106,107],littl:141,live:[11,13,17,99,111,129],load:[0,1,8,9,11,14,17,48,76,80,83,104,105],load_proto_from_fil:77,load_workflow_modul:105,loader:[70,77,80,81,108],local:[4,8,13,17,21,22,48,70,81,84,85,87,92,93,99,104,110,134,137,138],local_execut:[81,87],local_file_proxi:[70,92,93],local_path:[83,84,93,94,97],local_sandbox:85,localdatacontext:93,localfileproxi:96,localhost:[8,17,134,135],localstorag:17,localtestfilesystem:104,localworkingdirectorycontext:93,locat:[4,7,16,17,19,48,83,84,85,92,104,113,134,142],lock:7,log:[0,4,5,7,9,17,35,43,52,81,85,88,89,100,104,132,134,140],log_backtrace_at:7,log_dir:7,log_interv:145,logarithm:[62,102],logger:[5,9],logging_level:85,logic:[0,14,15,20,22,34,48,76,81,83,87,88,99,104,113,118,124,132],logicaloper:101,logtostderr:7,long_str:[83,104],longer:[11,13,23],longhand:104,look:[0,2,11,13,17,20,48,80,85,127,134,144],look_up_version_from_image_tag:85,lookup:[2,38,48],loop:[7,20],lose:48,lot:144,love:112,low:[21,43,60,92,102,140],lower:[88,104,114],lp_argument:76,lsof:85,lte:[15,40,101],lyft:[2,8,13,16,20,50,101,109,111,112,113,114,124,134,135],lytekit:83,mac:8,machin:[0,8,13,60,62,84,109,111,113,134],made:[2,20,48,85,99,133],mai:[2,10,23,25,27,28,29,32,33,35,37,38,40,43,46,47,49,50,52,62,104,112,118,132,133,134,135],main:[11,14,19,39,48,70,73,99,129],main_application_fil:[81,104],main_class:[81,99,104],mainapplicationfil:65,mainclass:[65,104],mainli:52,mainta:112,maintain:[92,109,111,112],major:[0,21,112],make:[8,10,11,13,17,19,20,22,44,48,50,79,84,101,111,112,113,117,121,122,127,130,133,134,137,145],makefil:134,manag:[0,1,5,7,10,12,13,15,23,48,83,84,99,104,111],mani:[15,34,112,119,123,127,129,133,141],manipul:141,manner:[44,62],manual:[17,22,25,99,112,133],manual_se:145,map:[7,15,20,22,23,25,28,29,34,36,39,46,47,49,52,60,62,65,73,77,81,83,84,87,99,101,102,120,122,140,141,147],map_of_bind:77,map_value_typ:[49,99],mark:[41,46,50,55,99,101,104,112,122,130,133,134],marker:48,marshal:20,massiv:[0,122],master:[7,8,19,48,104,145],match:[10,22,28,38,46,47,49,50,55,72,80,84,88,99,101,104,112,117,119,134],matchabl:[10,15],matchable_attribut:10,matchable_resourc:[26,70,108],matchable_resource_pb2:99,matchableresourc:[32,37],matching_attribut:[32,37,72],matchingattribut:[10,32,37,72,99],matter:104,matthewphsmith:80,max:[7,48,88,104],max_concurr:[81,104],max_failur:88,max_number_of_training_job:[60,82,102],max_parallel_training_job:[60,82,102],max_size_mb:4,max_valu:[62,102],maxdownloadmb:4,maxim:[60,102],maximum:[4,7,60,72,102,104],mean:[15,17,20,72,80,85,99,119,123,133,142],meaningless:146,meant:[10,13,77,80,114,126],measur:[7,129],mechan:118,medium:[43,47,104,112,146],meet:112,mem:4,memoiz:[18,118],memori:[4,10,13,20,28,48,80,85,88,99,104,122,146,147],memory_limit:[81,87,88,104],memory_request:[81,87,88,104],mention:[20,112],mere:[76,81,87],merg:[19,23,25],messag:[14,15,17,20,22,25,28,29,35,42,43,47,49,53,57,59,84,101,104,113,115,124,128,146],message_format:[43,101],messageformat:101,met:[41,55,99],meta:[16,72],metaclass:[77,80],metadata:[5,7,9,11,16,23,25,27,29,34,35,36,38,39,43,47,48,49,50,52,72,77,81,85,87,99,101,124,126],metadata_default:[50,77,101],metadata_format:81,metadata_format_json:81,metadata_format_proto:81,metadata_format_yaml:81,metadataprefix:7,metastor:[121,142],metat:84,method:[9,14,20,25,72,73,77,79,80,81,84,88,98,99,104,122,132],metric:[7,60,63,79,91,98,99,102,125,138],metric_definit:[63,102],metric_nam:[60,102],metricdefinit:102,microsoft:8,might:[49,55,72,79,81,84,92,122,129,141,145],migrat:85,migration_model:14,mileston:111,mimic:88,min:48,min_success:[41,55,99,115],min_valu:[62,102],mind:20,minikub:8,minim:[13,17,22,60,102],minimum:[4,55,99],minio:[4,135],miniostorag:135,minut:[7,33,99,119,127],miscellan:143,miss:73,mixin:[70,77,81,105],mkdir:[11,134],mnist:145,mnist_cnn:145,mnist_pytorch_job:145,mock_stat:[70,89],mockstat:91,mode:[15,23,25,48,50,63,84,85,99,101,102],model:[22,44,60,62,63,70,72,73,76,77,78,80,81,82,83,84,87,88,89,90,91,104,106,107,108,113,122,126,130,144,145],model_fil:145,model_st:145,modif:[13,21],modifi:[13,110,146],modul:[0,5,17,108,124],module_load:[70,108],moduletyp:105,moment:[8,13,48,135],momentum:145,monitor:[15,20,104,111,121,125,146],month:[33,112],monthli:112,moon:104,more:[0,2,8,10,14,15,19,20,22,23,25,27,29,34,35,36,39,43,48,55,60,63,79,81,84,85,87,102,104,111,115,118,122,123,124,127,129,136,138,141,142,144,146],more_input:132,most:[0,2,8,15,17,20,25,27,50,55,99,104,112,119,124,132,134],mostli:[63,80,102,112],mount:[11,13,19,48,63,85,146],mountpath:[11,104,146],move:[112,129],much:[43,50,101,119,122,130],multi:[8,10,84,118,124],multipart:[48,49,84,101],multipart_blob:[48,84],multipartblob:[83,84,104],multipartblobinstanti:83,multipartcsv:[83,104],multipartcsvinstanti:83,multipl:[0,15,20,22,23,25,27,29,34,35,36,40,44,52,55,72,81,87,112,118,119,120,122,124,127,132,133,146],multiple_presto_queri:144,must:[10,14,15,17,25,27,39,47,48,49,50,72,73,77,80,81,84,87,88,89,99,101,104,113,122,127,134,136],mutabl:15,mute:4,my_complicated_task:132,my_contain:146,my_cron_launch_plan:127,my_domain:132,my_fixed_rate_launch_plan:127,my_flyte_project:132,my_flyte_projext:132,my_input:77,my_launch_plan:[80,126],my_lp:131,my_nod:104,my_other_project:132,my_other_task:104,my_output:77,my_pod_spec:146,my_project:132,my_protos_pb2:104,my_pytorch_job:104,my_queu:10,my_routing_group:132,my_schedul:127,my_second_task_inst:77,my_sidecar_task:146,my_single_task_execut:132,my_sub_task:104,my_task:[77,104,132],my_task_exec:132,my_task_inst:77,my_workflow_id:104,myemail:127,myexecutionlabel:126,myflytedomain:127,myflyteproject:[127,134],myimag:85,myscheduledworkflow:127,mystr:73,mytag:142,myuniqueworkflow:13,myworkflow:[104,126,127,131],name:[7,10,11,13,14,16,22,23,25,27,28,31,33,37,38,43,44,46,47,48,49,50,52,60,62,63,72,73,76,77,78,80,81,83,84,85,87,88,89,90,91,98,99,101,102,104,114,117,119,120,122,123,127,129,132,133,134,140,146],name_format:85,named_ent:[70,72,108],named_entity_act:23,named_entity_archiv:23,named_task:[89,90,91],namedentityidentifi:[27,72,89,90,91,99],namedentityidentifiermetadata:72,namedentitymetadata:99,namedentityst:99,namespac:[7,10,11,17,31,72,99,129,134],nativ:[80,132,146],natur:[123,141],neccessarili:133,necessari:[0,2,13,17,20,25,73,81,84,88,104,113,119,121,124,127],necessarili:[22,27,119,146],need:[0,2,7,8,11,13,16,17,19,20,22,30,36,48,50,51,52,63,73,77,79,80,81,84,99,101,102,104,122,123,127,134,135,140,141,144,145,146,147],neg:55,neither:14,neq:[40,101],nest:[25,29,40,47,98,99,104,118],nested:25,net:[10,124,135,145],netloc:85,network:[55,80,134,135],never:[23,127],new_client:98,new_config_path:85,new_nam:77,new_typ:81,newer:[88,104],newer_cli:98,newli:[0,19],next:[11,13,17,20,23,25,27,29,34,35,36,72,81,87,112,113,133,134],nil:[20,47],node1:104,node2:104,node:[8,14,15,22,24,25,29,35,38,39,40,41,43,44,45,47,48,49,52,70,72,81,87,89,90,91,99,101,104,108,118,129,130,135,138,141,145],node_exec:[89,90,91],node_execut:[14,15,26,70,72,77,89,90,104,108],node_execution_created_at:15,node_execution_ev:14,node_execution_id:[35,44,78,101],node_execution_identifi:72,node_execution_pb2:99,node_execution_updated_at:15,node_id:[15,44,49,52,77,99,101],node_nam:52,nodea:22,nodec:22,nodeexecut:[52,72,77,99],nodeexecutionclosur:99,nodeexecutionev:[15,24],nodeexecutiongetdatarespons:[72,99],nodeexecutionidentifi:[25,29,35,52,72,99,101],nodeexecutionphas:101,nodej:17,nodemetadata:101,nodeoutput:77,nodeport:8,non:[7,15,25,27,29,55,99,104,126],non_recover:[42,101],none:[25,47,49,50,72,74,76,77,79,80,81,83,84,85,87,88,89,90,91,93,98,99,100,101,102,104,105],none_typ:[47,99],nonetyp:83,noop:7,nor:14,normal:[20,85,145],noschedul:145,note:[8,10,13,17,20,21,30,48,55,60,72,77,79,80,81,85,88,102,104,105,122,124,127,134,135,141,144,145],notebook:[70,86],notebook_path:87,notequ:99,noth:[77,127,142],notic:[11,133],notif:[14,24,25,26,27,70,80,81,89,90,91,99,108,113,119,121,125,127,132,138],notifi:[48,127],notification_overrid:[77,80,81,89,90,91],notificationlist:99,notimplementederror:79,notion:10,now:[11,13,20,60,62,124,127,134,135],npm:17,num_rides_complet:144,num_work:145,number:[7,23,27,29,35,41,47,48,50,52,55,58,60,63,66,72,85,88,92,99,102,104,113,122,141,142,145],numpi:105,nwdwxc7fjnksj9rtzdvbm894pjlvdgrm_extern:144,nwdwxc7fjnksj9rtzdvbm894pjlvdgrm_temp:144,oauth2:[2,85],oauth:[2,85,124],oauthcallbackhandl:74,oauthhttpserv:74,object:[2,7,8,9,20,23,25,27,30,39,44,48,49,57,59,60,63,72,74,76,77,80,81,83,84,85,88,89,91,92,93,98,99,100,101,102,104,105,106,107,126,127,129,130,134,144],objective_typ:[60,102],observ:[7,27,77,80,81,135],obsess:112,obtain:[73,121],obviou:2,occur:[24,52,133],occurred_at:52,off:[0,11,33,52,60,102,110,124,127,129],offer:[14,22,122,131,134,141],offici:[63,102,124,144,145],offload:[0,14,16,47,48,99,134],offset:72,often:[20,112,118,124],okta:2,old:[13,133],older:133,omv4ybckx:2,on_failur:[50,77,101,104,130],onc:[8,11,17,20,72,77,81,87,99,119,127,130,141],one:[2,8,11,13,15,17,19,20,22,23,25,27,28,29,33,35,38,39,40,43,46,47,49,50,52,62,72,92,99,101,102,104,105,112,113,115,118,119,127,129,133,134,140,141,144,146],one_dai:127,one_last_execut:127,oneof:[47,48],ones:13,onfailurepolici:[77,101,104,130],ongo:112,oni:11,onli:[2,4,5,8,9,10,11,15,17,20,21,22,23,25,27,28,29,33,35,38,39,40,43,46,47,48,49,50,51,52,60,62,63,72,77,79,81,84,85,99,101,102,104,105,110,115,119,120,123,124,127,141],onto:48,opaqu:[11,129],open:[2,11,13,48,85,112,134,135],openid:[2,74],oper:[0,14,15,22,58,66,81,101,104,110,122,145],operand:[22,101],opfil:134,oppos:72,opt:122,optim:[20,110,145],optimist:55,option:[1,7,8,9,15,20,22,23,25,27,29,33,35,38,39,41,46,47,48,50,72,77,80,81,83,84,85,88,99,101,104,112,118,119,122,124,126,132,144],order:[0,8,10,11,13,19,22,23,27,29,34,35,36,40,49,50,76,77,84,85,101,104,122,123,133,136,144,145],ordiat:112,ordinari:[132,146],ordinarili:123,org:[48,85],organ:[1,2,110,113,134,138],orient:145,origin:[17,25,29,42,52,73,133,145],other:[2,7,10,13,17,20,22,27,30,36,38,44,48,50,55,72,80,83,99,101,104,105,117,120,121,122,123,124,127,130,135,140,141,144],other_env_vari:2,other_input:132,other_task:141,other_task_out:141,other_typ:84,otherwis:[48,77,80,81,85,88,129],our:[0,2,10,11,13,14,20,43,79,83,112,113,127,134,135],out1:[104,146],out2:104,out:[2,7,13,14,36,43,64,74,77,80,99,104,110,122,131,132,140,141,147],out_list:104,outcom:141,output:[8,15,16,20,22,25,27,29,34,35,36,39,41,46,47,48,49,50,52,55,70,72,77,80,83,84,87,90,91,99,101,104,118,122,123,124,132,133,134,135,140,141,142,144,145,146,147],output_a:144,output_alias:[50,101],output_bind:77,output_data_dir:81,output_fil:134,output_link:77,output_m:144,output_path:[48,99],output_result:[25,29],output_schema:[81,132,144],output_uri:[29,35,52,99,100],outputparametermapp:77,outputrefer:[47,50,77,81,99],over:[14,25,26,76,84,112,113,124,127,146],overal:[29,48,50,112],overhead:[17,113],overlai:[10,11,13],overrid:[7,10,13,15,20,23,25,27,77,81,88,89,90,91,99,104,129],overridden:[119,127],overriden:127,overview:[1,14,15,118,119,138],overwrit:[72,84,92,142],overwritten:[84,146],own:[0,2,9,17,20,30,92,120,126,129,147],owner:[2,48,79,112],p_task:144,pack_python_std_map_to_literal_map:83,packag:[2,14,51,108,124],page:[14,19,23,25,27,29,34,35,36,72,129,135],pager_duti:[23,77,99],pagerduti:[23,77,128],pagerdutynotif:99,pagin:72,pair:[10,47,80,99,104,126],panda:[84,104,105],parallel:[55,99,104,115,118,123,145,147],param:[15,16,72,73,76,77,78,81,83,84,87,88,89,90,91,92,99,104,105,106],paramet:[5,9,50,62,66,72,73,76,77,78,80,81,83,84,85,87,88,89,90,91,93,94,95,96,97,99,100,101,102,104,105,107,118,119,122,124,126,128,129,133,143,145],parameter:16,parameter_map:73,parameter_rang:[61,70,99],parameter_range_map:[62,102],parameter_ranges_pb2:102,parametermap:[27,73,99],parametermapp:77,parameterrang:[60,102],parent:[29,36,52,81,99],parent_id:52,parent_node_execut:25,parent_node_execution_id:52,parent_node_metadata:52,parent_task_metadata:52,parquet:[49,85,104,142,144],parquet_engin:85,pars:[0,47,63,73,74,78,83,85,102,104],parse_args_into_dict:73,parsed_imag:134,part:[15,20,39,47,48,77,80,84,112,124,133,146,147],parti:2,particular:120,particularli:[50,101],partit:[55,84,147],partition_filt:88,partition_nam:88,partitions_in_t:84,pass:[15,22,23,25,27,29,35,36,60,63,77,79,81,85,87,88,89,90,91,99,102,104,113,119,124,128,130,131,132,134,140,141,146],password:[2,13,76,85,134,135],passwordpath:13,past:0,patch:[13,112],path:[2,7,15,29,35,48,63,76,77,84,85,93,94,95,96,97,99,102,104,105,135,146],pattern:[0,15,17,142],payload:17,pb2:99,pb2_objct:101,pb2_object:[77,83,99,100,101,102],pb2_type:77,pb_field_kei:83,pb_object:83,pb_type:[83,104],pend:[25,104],per:[4,7,10,48,50,72,85,104,118,119,145],per_replica_cpu_limit:[81,104],per_replica_cpu_request:[81,104,145],per_replica_gpu_limit:[81,104,145],per_replica_gpu_request:[81,104],per_replica_memory_limit:[81,104,145],per_replica_memory_request:[81,104,145],per_replica_storage_limit:[81,104],per_replica_storage_request:[81,104],percentag:4,perfectli:127,perform:[113,124,144],performancetim:77,perhap:81,period:[0,7,20,122,133],perman:142,permiss:[23,27,131],permit:15,persist:[0,13,14],persona:110,phase:[14,15,23,25,27,29,35,52,67,77,99,100,128,129],phase_vers:52,philodendron:132,photo:135,physic:[88,104],pi_val:147,piec:[55,84],pillar:112,pin_memori:145,pip:[124,145,146],pipe:[17,63,102],pipelin:[2,98],pitfal:112,pkce:[2,74,85],pkg:[14,48,76,105],place:[13,84,85,127,135],plan:[0,2,7,10,14,15,22,23,25,27,46,50,72,73,77,80,81,85,89,90,99,101,105,117,118,123,124,125,127,131,135,138],plane:[1,2,7,9,20,26,53,54,134],plane_fnam:134,plant:132,platform:[17,23,25,27,70,77,79,80,81,88,104,108,109,111,112,123,124,129],platform_valid_nam:80,playground:8,pleas:[2,8,10,19,20,22,72,85,112,122,129,147],plug:22,pluggabl:144,plugin:[0,5,9,13,19,22,34,35,43,48,52,54,70,99,102,108,110,122,142,145,146],plugin_nam:105,plugin_requir:105,png:135,pod:[0,8,11,13,48,64,81,145],pod_spec:[64,81,99,104,146],podiniti:43,podspec:[64,81,99,104,146],point:[11,13,23,55,62,63,80,84,85,99,102,112,140,144],polici:[77,104,125,138],poll:[0,80],poll_interv:80,pollut:129,pop_al:77,popul:[23,27,30,32,35,37,48,81,87,104],port:[7,13,17,48,85,88],portabl:[22,48],portion:[17,85,88,104],posit:[55,99],posix:77,possibl:[2,42,44,48,62,72,121,122,123,129],post:134,postgr:[13,14],postgresql:[8,13],potenti:[110,112,141],power:[22,113,142],practic:113,pre:[0,22,48,63,102],prebuilt:[124,145],preced:48,predefin:[27,48,119,127],prefer:[25,112,126],prefix:[7,17,81,85,98,124,129],prepar:[77,104],prerequisit:9,present:[27,77,80,81],pressur:142,presto:[56,70,77,81,108,138,143],presto_dynam:144,presto_result:144,presto_task:[70,77,144],prestoqueri:99,prestoworkflow:144,presum:73,pretti:[142,147],prevent:[7,17],previou:[25,38,121],previous:[20,48,72,117,132,134],price:113,primari:[14,15,20,39,64,81,101,104,127,142],primarili:[14,124],primary_contain:[104,146],primary_container_nam:[64,81,99,104,146],primit:[15,22,40,48,70,77,99,101,104,110,118,124,134],primtiv:50,princip:[2,25,99],print0:13,print:[11,132,140,146,147],print_funct:[134,146],priori:142,priorit:112,prioriti:[25,27,43,50,112],privileg:131,proactiv:112,problem:113,process:[0,7,8,13,14,19,22,25,34,39,52,55,60,99,102,109,111,112,113,118,122,123,124,132,134,138],produc:[20,22,25,34,35,36,41,42,49,73,77,81,83,84,87,104,115,118,122,123,129,133,135,142],producer_id:52,product:[1,8,9,10,31,81,112,113,114,124,129,132,133],prof:7,profil:7,program:[0,47,76,77,87,88,104,109,111,118,121,122],programmat:127,progress:[7,20,25,50,53,63,77,80,81,101,102,112,121,122,130,132],project:[9,10,14,15,16,17,23,25,26,27,28,32,37,44,70,72,76,77,78,80,81,89,90,91,101,104,108,118,119,122,123,131,132,133,135,138,146],project_domain_attribut:[10,26],project_pb2:[72,99],projectdomain:28,projectdomainattribut:15,projectnam:10,projectquotacpu:10,projectquotamemori:10,projectregisterrespons:72,promis:[47,70,91,99,104,108],promiseoutputrefer:81,promot:77,promote_from_model:[77,78,81,83,84,104],prompt:85,propag:42,propel:[5,9,13,15,16,19,36,52,81,87,99,129],proper:[15,81],properli:[83,84,85,113],properti:[21,48,72,74,77,79,80,81,82,83,84,87,89,91,98,99,100,101,102,104],propos:112,protect:[11,92],proto:[10,14,15,20,26,45,53,56,61,69,70,77,99,100,101,104,105,128,146],protobuf:[0,15,20,25,27,29,34,35,36,43,47,48,49,50,52,83,99,104,112,115,118,121,123,146],protobuftyp:83,protocol:[17,22,45,47,48,53,54,56,111],prototyp:112,proven:[12,113],provid:[0,1,2,5,8,9,13,14,17,18,21,22,23,25,27,29,34,35,36,42,44,45,48,52,54,56,63,69,72,77,80,81,84,87,88,99,102,104,113,114,118,120,121,122,125,133,134,147],provis:[63,102,113],proxi:[15,98],ps_replica:66,pseudo:92,ptional:51,pub:121,publicli:135,publish:[7,14,19,30,85,121],pubsub:[14,53],pull:[50,101,124,129],pure:[118,121,122],purpos:[8,15,48,60,85,104],purposefulli:[23,27,32,37],push:[8,81,87],put:[10,104],put_data:93,pyarrow:105,pyflyt:[70,73,85,134,135],pyspark:105,python3:124,python:[0,19,20,22,48,52,65,73,77,80,81,85,87,91,99,104,105,106,111,124,134,143,146],python_notebook:87,python_std_to_sdk_typ:[83,106,107],python_task:[77,80,104,132,133,134,140],pythonpath:104,pytimepars:[83,104],pytorch:[56,77,104,105,138,143],pytorch_task:[70,77,104,145],pytorchjob:[99,104],q64oxuoxt:2,q8mvene1wzq4:135,qualifi:[99,120],qualiti:[28,43,112],quality_of_servic:[25,27,28,50],quality_of_service_specif:28,qualityofservic:[25,27,28,50],quantiti:[48,99],qubol:[6,56,70,81,104,108,142],qubole_hive_task:[104,142],qubole_spark_task:104,qubole_work:20,qubolehivejob:99,queri:[8,14,15,16,20,22,23,25,27,29,34,35,36,59,72,81,83,84,90,99,104,121,122,144],query_collect:[59,99],question:99,queu:[15,43,99,101,129],queue:[5,9,14,28,43,74,99,129],queueing_budget:43,quick:[118,136,138],quickli:[19,130],quota:[10,28,43,99],qwerti:132,rais:[42,72,77,80,81,83,84,104,105],ran:25,randint:104,random:[60,62,70,102,104,108,122],randomli:[72,84,124],rang:[60,62,102,127,141,145,147],rapid:112,rate:[7,33,88,99,118,127],rate_unit:119,ratelimit:7,rather:[25,84,142],ratio:104,raw:[8,10,15,48,70,77,99,108,112],raw_contain:[70,77],raw_container_task:77,raw_valu:81,rawsynchronousflytecli:72,reach:[36,41,77,80,81,118],read:[8,10,13,21,48,72,73,76,84,85,104,109,111,112,121,122,134,144],readabl:[15,52,91,99],reader:104,readi:[8,13],real:118,realiz:[112,127],realtim:121,reason:[17,20,22,25,38,42,85,130,144],receiv:[22,30,72,99,104,112,121,129,133,146],received_typ:79,received_valu:79,recent:[25,104],recipi:[23,30,128],recipients_email:[23,30,77,99],recogn:0,recommend:[17,48,88,92,104,110,122,137],reconcil:81,reconcile_partial_pod_spec_and_task:81,record:[7,13,25,29,35,52,87,117],record_output:87,recov:[88,104],recover:[42,47,99,101],recoverableexcept:[88,104],recurs:[77,104,141],redefin:[14,119,127],redi:48,redirect:[2,85],redirect_path:74,redirect_uri:[74,85],reduc:[122,141,147],reeval:7,ref:14,refer:[6,7,8,9,10,13,20,22,25,27,32,37,39,47,48,49,50,51,53,60,62,63,77,99,101,102,105,110,112,119,120,122,123,124,127,132,136,144,147],referenc:[15,22,23,25,27,41,51,77,99,115,121,123],reference_execut:25,reference_id:[50,77,101],refil:7,refin:142,reflect:[112,119,134],reformat:79,refresh:[2,7,15,85],refresh_access_token:74,regard:[16,27,88,104],regardless:[4,27,52,72,104],regex:[63,102],region:[4,6,13,126,127],regisri:8,regist:[8,13,14,15,16,20,22,27,36,48,70,72,73,77,80,81,85,89,90,91,105,118,121,123,124,125,134,135,140],register:[70,77,81,105],register_al:76,register_and_launch:[81,132],register_project:72,register_tasks_onli:76,registerableent:[77,80,81,105],registertask:121,registerworkflow:121,registr:[2,14,22,23,27,77,85,118,119,123,138,140,146],registri:[8,63,102,134],relat:[0,25,29,52,99,102,119,129],related_modul:105,relaunch:[25,130],relaunch_execut:72,releas:111,relev:[0,2,77,147],reli:[13,20,132,133],reliabl:[8,9,13,48,113],remain:[2,72,130],remot:[7,8,11,13,14,29,35,48,80,81,84,87,88,94,97,104,134],remote_loc:84,remote_path:[83,84,93,94,97],remote_prefix:84,remotedatacontext:93,remov:[11,13,14,81,112,133,134],rename_and_return_refer:77,render:22,renew:7,repeat:[15,41,47,115,122,129],repeatedli:[29,122],replac:[0,13,48,121,134],replica:[58,66,104,145],repo:[13,21,112,134,147],repons:14,report:[25,120,129],repos:14,repositori:[10,13,19,76,112,118,124,134],repres:[0,10,16,22,23,25,27,28,29,30,33,34,35,36,39,43,44,49,52,67,72,77,81,99,101,104,118,122,123,134],represent:[0,22,34,36,48,99,121,144],request:[0,7,10,14,17,23,24,25,27,28,29,34,35,36,48,72,74,85,99,117,118,119,121,127,134,144,145],request_access_token:74,request_id:24,requesthandlerclass:74,requir:[0,2,4,7,13,15,17,20,22,23,25,27,33,39,41,46,48,49,50,55,63,73,74,80,85,99,101,102,104,112,117,118,119,120,121,123,124,127,134,141,144,145,146,147],requisit:99,reregist:15,rerun:122,res:141,reserv:[50,101],reset_config:85,resid:124,resolv:[48,85,127],resourc:[0,1,2,9,11,13,14,15,20,23,25,27,28,29,35,43,44,50,60,70,72,81,88,89,90,91,99,101,104,108,113,114,118,120,121,122,124,126,130,145,146],resource_typ:[10,23,28,32,37,44,72,77,78,80,81,101],resourceentri:99,resourcenam:99,resourcetyp:[23,72,77,80,81,101],respect:[14,15,60,102,145],respons:[0,14,17,20,23,25,27,28,29,34,35,64,72,104,112],response_blob:104,rest:[0,15,20,22,26,54,99,142],restart:20,restrict:[47,55,119,141],result:[23,25,27,29,34,35,36,38,40,72,84,85,88,92,104,118,133,141,144],retain:7,retri:[7,29,42,47,48,50,52,81,82,87,88,99,101,104,113,122],retriev:[0,2,11,16,20,23,29,35,47,49,72,76,80,117,121,122,144],retry_attempt:[15,44,52,78,101],retry_count:99,retry_group:[29,52],retryabl:104,retryattempt:52,retrycount:59,retrystrategi:[48,50,99,101],returnoutputstask:91,reusabl:34,revers:[15,84],reverselogarithm:[62,102],revis:[16,34,36],rewritten:15,rfc1808:85,rfc3339nano:15,rfc:9,rich:113,right:[80,101],right_express:[40,101],right_valu:[40,101],roadmap:[109,111],robust:113,role:[13,27,77,85,99,125,138],roll:2,root:[40,48,124],root_input_path:91,rout:[17,81,144],routin:14,routing_group:[57,81,99,132,144],row:72,rpc:[0,72],rpcerror:72,rst:21,rtype:[72,73,76,77,78,80,81,83,84,87,88,89,90,91,94,95,96,97,99,100,101,102,104,106,107],rule:[121,141],run:[0,2,7,8,10,11,12,13,15,16,18,19,20,25,28,29,33,35,41,43,48,50,52,55,80,81,83,84,85,88,99,101,102,104,112,115,119,123,124,127,129,130,132,133,134,137,140,141,142,144,145,146,147],run_dat:127,run_edge_detect:134,runbook:19,runnabl:55,runtim:[25,27,48,50,83,85,99,123],runtimemetadata:[99,140],runtimetyp:99,runtocompletionwf:130,s3proxi:[70,92,93],safe:[62,77],sagemak:[56,70,77,81,99],sagemaker_hyperparameter_tuning_job_task:77,sagemaker_training_job_task:77,sai:[10,127],said:[27,112],same:[13,17,19,20,22,29,50,72,73,77,85,98,99,101,112,119,120,121,122,123,124,127,132,133,134],sampl:[10,127],sample_s:127,sample_task:80,sandbox:[9,10,14,93,96,134,135,136],satisfi:[20,50,89,99],satsifi:22,save:[20,113,118,123,134,144,145],scala:[65,104],scalabl:[0,8,11,109,110,111],scalar:[77,83,99],scale:[0,1,7,8,9,60,62,110,112,113],scaling_typ:[62,102],scan:80,scenario:112,scene:144,schedul:[0,9,14,15,25,26,27,50,70,72,101,108,113,114,118,133,138],schedule_express:99,schedule_pb2:99,scheduled_at:25,schema:[0,22,48,49,57,70,77,81,99,104,105,129,132,144],schema_1:142,schema_2:142,schema_instanti:83,schema_instantiator_from_proto:83,schema_to_table_name_map:[83,84],schema_typ:[83,84],schemacolumn:[84,99],schemacolumntyp:99,schemainstanti:83,schematyp:[47,83,84,99],scienc:113,scope:[2,15,22,70,76,77,85,91,98,129],scopeablestatsproxi:98,scratch:[104,134],script:[2,104],scroll:135,sdk:[0,2,19,22,48,49,57,59,70,73,77,81,88,89,99,106,108,111,119,123,129,134,140,142,144,146],sdk_base:[70,83,108],sdk_branch:77,sdk_column:84,sdk_default:77,sdk_dynam:[70,77,104],sdk_in_contain:[70,73],sdk_launch_plan:[77,89,90,91],sdk_node:77,sdk_node_execut:89,sdk_python_venv:85,sdk_requir:77,sdk_runnabl:[20,70,77,88,89,104],sdk_runnable_task:81,sdk_task:[77,89,90,91],sdk_task_execut:89,sdk_type:[77,81,83,104,134,144],sdk_valu:81,sdk_wf_exec:[89,90],sdk_workflow:[77,89,90,91],sdk_workflow_execut:89,sdkbuiltinalgorithmtrainingjobtask:82,sdkdynamictask:[81,104],sdkgenericsparktask:81,sdkhivejob:81,sdkhivetask:[81,104],sdklaunchplan:[77,89,90,91],sdknode:[77,104],sdknodeexecut:[77,81,89,90,91],sdknotebooksparktask:87,sdknotebooktask:87,sdkprestotask:[81,132,144],sdkpytorchtask:81,sdkrawcontainertask:81,sdkrunnablecontain:81,sdkrunnablelaunchplan:77,sdkrunnablepytorchcontain:81,sdkrunnablesparkcontain:81,sdkrunnabletask:[20,81,88,89,104],sdksidecartask:81,sdksimplehyperparametertuningjobtask:82,sdksparktask:[81,104],sdktask:[20,77,81,82,87,89,90,91,132],sdktaskexecut:[77,81,89,90,91],sdktasknod:77,sdktasktyp:77,sdkworkflow:[77,89,90,91,104],sdkworkflowexecut:[77,81,89,90,91,104,132],sdkworkflownod:77,sea:[126,127],sea_launch_plan:127,seamlessli:2,search:[60,62,102],searchabl:112,second:[7,15,52,72,76,88,104,146],second_task:104,secondari:[104,146],secondary_contain:[104,146],secret:[2,4,11,13,76,85],secretnam:11,section:[1,11,13,14,18,53,69,85,110,112,118,124,135],secur:85,sed:13,see:[10,13,14,16,17,19,20,36,48,60,62,63,72,85,102,104,112,119,124,129,135,142,146],seed:[92,122,145],seed_flyte_random:92,seen:2,select:[83,84,104,132,142,144],select_queri:[83,84,142],self:[2,34,99],send:[0,2,11,15,24,52,102,144],sender:30,sender_email:30,sens:[10,48,79,88,112,127],sense_with_wait_hint:88,sensit:28,sensor:[70,77,86],sensor_task:[77,88],sensortask:88,sent:[30,52,81,144],separ:[0,11,19,29,48,80,81,92,105,118,133,141,144],seri:50,serial:[14,22,48,70,73,77,80,81,104,121],serialize_al:76,serialize_tasks_onli:76,serv:[0,14,17],server:[2,7,23,25,27,29,34,35,36,66,74,85],server_address:74,servic:[0,2,5,8,9,12,14,16,18,21,24,28,31,43,53,54,72,77,85,99,112,117,118,122,124,129,131],serviceaccount:125,session_id:144,set:[2,4,7,8,10,13,14,15,17,19,22,23,25,27,28,29,32,33,34,35,37,39,40,41,43,45,46,47,48,49,50,52,60,62,63,72,77,80,81,85,88,98,99,101,102,104,105,110,115,119,120,121,122,124,127,129,132,133,134,136,137,140,141,142,144,145,146,147],set_access_token:72,set_flyte_config_fil:85,setfilt:99,setup:[8,124,137,143],sever:[4,7,11,20,133],sgd:145,sgd_momentum:145,sha:[85,133],share:[0,4,14,15,17,23,27,104,119,127,132,133,146],shared_volume_mount:[104,146],she:121,shelf:110,shim:14,ship:[2,20],short_class_str:[83,99,104],short_str:[83,99,104],shortcut:81,shorthand:104,should:[2,4,7,13,19,20,22,23,25,28,39,41,44,48,50,52,55,63,72,76,77,79,80,81,83,85,87,88,89,90,91,92,99,101,102,104,107,112,115,127,129,133,134,135,144],should_distribut:145,shouldn:[88,104],show:[4,7,135],shown:15,shuffl:145,sibl:[92,104],side:[2,20,48,117,118,122],sidecar:[20,56,77,81,104,105,138,143],sidecar_task:[70,77,104,146],sidecarjob:99,sig:8,sign:[25,29,35,72],signal:[77,80,81],signatur:[20,122,133,134],significantli:[60,102],similar:[13,44,77,104,144],similarli:15,simpl:[7,13,20,40,47,49,63,74,99,102,122,140,141,142,144,146,147],simple_sidecar_task:146,simplest:[8,9,13,134],simpletyp:99,simpli:[25,127],simplifi:[17,27,42],sinc:[10,11,13,15,20,36,47,80,81,112,114,120,122,130],singl:[0,8,11,13,14,15,17,19,23,25,29,35,49,62,72,81,88,89,90,91,101,104,119,122,123,125,128,138,144,145,146],single_step:134,singlesteptask:140,singleton:[20,76],sink:43,situat:[92,133],size:[4,7,23,55,63,72,99,102,127,141],skip:[16,20,43,72,101],slack:[23,77,99,128],slacknotif:99,sleep:[88,104,146],slight:13,slightli:[20,112,119,146],slip:112,slist:22,slow:19,small:34,snooz:113,sole:[0,113,124,146],solut:113,solv:[112,113],some:[8,10,11,13,14,20,22,25,45,50,52,73,80,85,99,101,112,118,124,127,134,135,141,144],some_task:80,some_test:104,somedock:85,someon:110,someth:[15,20,85,104,134,135,142,144],sometim:20,someversion123:85,someworflow:80,someworkflow:80,soon:[41,50,55,99,101,123,130],sort:[14,25,27,29,35,72,100,105,123],sort_bi:[15,23,27,29,35,72],sortedcontain:77,sorteddict:77,sourc:[4,7,10,19,20,38,52,72,73,74,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,104,105,106,107,109,110,112,118],source_task_execut:38,space:[60,62,72,88,102,104],span:19,spark3:105,spark:[0,6,20,52,56,77,81,87,99,104,105,122,138,143],spark_conf:[81,87,99,104,147],spark_context:[104,147],spark_notebook:87,spark_pb2:99,spark_task:[70,77,104,147],spark_typ:[70,81,99,108],sparkconf:65,sparkcontext:87,sparki:104,sparkjob:99,sparkoper:147,sparktyp:104,spawn:[35,58,66,72,104],spec:[15,22,25,26,27,28,34,36,41,43,63,72,81,99,106,113,126,141,145],spec_node_id:[29,52],speci:23,special:[8,15,17,20,34,46,49,50,76,77,81,85,101,104,118,140],specif:[0,7,10,12,13,14,15,17,18,20,21,23,25,26,29,34,35,36,38,43,44,48,52,56,60,72,77,81,84,87,102,109,111,112,113,118,119,121,122,124,127,133,140],specifi:[0,2,4,7,10,13,15,17,20,23,25,41,42,43,47,48,50,52,60,62,63,72,76,77,80,81,83,84,85,88,89,90,91,99,101,102,104,105,106,111,114,117,118,122,124,140,145,146],speed:[19,123],spent:[25,29,35,129],sphinx:19,spike:7,spin:17,split:104,sql:[13,22],square_each:104,squish:112,ssl:4,stabil:112,stack:[7,43],stage:[10,20,114,124,133],stage_queri:[83,84],stall:17,stand:[104,124],standard:[2,7,17,48,77,80,81,85,87,106],start:[1,7,9,13,17,20,25,39,48,81,85,99,109,112,123,124,134,137,138,140,147],started_at:[15,25,29,35,99,100],starttask:20,stat:[70,81,89,92,125],state:[0,10,15,20,23,25,27,29,35,72,74,77,80,81,88,89,90,99,104,118,129],state_dict:145,stateless:[0,117],statement:[57,81,99,132,144],statement_templ:144,statsclientproxi:98,statsd:[70,81,98,108,129],statu:[0,23,25,27,29,38,52,99,113,132,146],status:14,std:[81,87,91],std_map:83,stderr:[7,63,102],stderrthreshold:7,stdout:[63,102],step1:104,step2:104,step:[19,20,22,39,48,77,104,113,115,118,121,129,135,140,141,142],still:[10,15,17,48,80,146],stop:[60,102],storag:[5,9,10,13,14,16,17,28,47,48,63,85,88,99,102,104,113,134],storage_limit:[81,87,88,104],storage_request:[81,87,88,104],store:[0,4,6,7,8,9,10,14,15,20,25,29,35,36,39,47,99,102,121,122,133,134,135,142,144],stori:[17,43],stow:14,str2bool:73,str:[72,73,81,82,99,102],strategi:[42,47,48,50,60,99,102,122],stream:[6,48,63,102,104],strict:[8,113],strictli:27,string:[4,6,7,15,20,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,43,44,46,47,48,49,50,52,57,59,60,62,63,64,65,67,73,77,78,83,84,85,88,99,101,104,105,106,107,119,122,127,132,133,134,144,145,146],string_valu:[47,83,84,99,104],strong:49,strongli:[16,22,46,47,48,49,50,88,101,104,122],struct:[4,20,22,27,35,47,48,49,52,99],struct_pb2:99,structur:[0,18,22,23,25,27,29,34,35,36,45,48,50,52,62,80,102,106,109,110,111,118],stub:72,style:12,sub:[7,29,39,77,81,88,104,121,123,124],sub_typ:83,sub_workflow:[36,39,77,100,101],sub_workflow_ref:[50,77,101],subclass:[20,77,88,104],subcommand:76,subdirectori:[11,13],subject:[30,128],subject_lin:30,submit:[0,27,81,83,84,104,113,145],submodul:[70,86,108],subpackag:108,subprocess:[70,108],subscrib:30,subsequ:[14,22,122,123,133],subset:[15,23,25,44,50,60,63,101,102,115],subsidiari:112,substitut:[28,91],subsystem:98,subtask:[41,55,99],subtyp:22,subworkflow:[25,36,39,41,50,77,99,101,123],succe:[25,34],succeed:[15,35,41,43,101,127,129],success:[25,41,55,72,77,99,113,121,122,124,128,129],successfulli:[13,22,25,50,101,112,124],sudo:85,suffici:[8,13],suffix:17,suit:[8,112],suitabl:2,sum:104,sum_of_list:104,summar:0,summari:[15,48,121],superclass:81,superset:104,supplement:119,suppli:[10,20,25,33,63,102,117],support:[0,2,14,15,17,22,38,47,48,60,62,63,72,83,84,85,88,99,102,104,115,122,124,132,141,144,145],supported_typ:[70,86],suppos:140,sure:[20,117,127,137,145],surfac:0,swimlan:9,sync:[20,77,80,81,84,89,90],synchron:72,synchronousflytecli:72,syntax:[33,77,104,119],sys:104,system:[0,2,4,7,13,14,15,21,22,23,25,39,42,43,44,45,47,48,50,52,53,56,70,77,84,85,99,101,104,109,110,112,113,117,118,121,122,124,129,130,134,135,141],system_entry_point:79,system_gener:23,system_metadata:25,t_valu:[77,83,84,104],tab:135,tabl:[14,19,83,84,142,144],table_nam:[84,88],tag1:104,tag:[10,16,28,38,47,59,81,83,85,91,98,99,104,112,129,142],tag_prefix:83,taggabl:[70,81,89,92],taggablestat:[81,89,98],tailor:13,taint:145,take:[8,10,13,22,73,76,77,79,88,104,106,122,123,127,135,144,147],taken:[50,101,105],talk:[7,110],target:[4,17,19,48,50,52,60,87,99,101,102,123,134],target_gc_perc:4,task:[0,2,7,8,9,14,15,18,21,22,23,24,26,28,29,35,36,38,39,41,43,44,45,50,51,52,53,54,57,59,64,70,72,76,77,80,85,86,89,90,91,101,105,108,109,111,113,118,120,121,124,125,130,138],task_exec:[89,90,91],task_execut:[14,26,70,72,77,81,99],task_execution_created_at:15,task_execution_id:29,task_execution_identifi:72,task_execution_pb2:100,task_execution_updated_at:15,task_funct:[81,88],task_function_nam:81,task_id:[44,52,78,89,90,91,101],task_identif:72,task_input:[81,132,144],task_modul:[79,81],task_nam:79,task_name_format:85,task_nod:[50,101],task_node_metadata:[29,52],task_pb2:[76,81,99],task_resourc:28,task_resource_attribut:28,task_spec:72,task_typ:[81,87,88],taska:22,taskb:22,taskc:22,taskcategori:48,taskclosur:99,taskcontext:20,taskdefinit:99,taskexecut:[52,72,81,100],taskexecutionclosur:100,taskexecutionev:[15,24],taskexecutiongetdatarespons:99,taskexecutionidentifi:[29,35,38,52,72,78,100,101],taskexecutionphas:[100,101],taskid:48,tasklog:[35,52,100,101],taskmetadata:99,tasknam:16,tasknod:[29,77,101],tasknodemetadata:38,tasks_count:141,tasks_pb2:[76,99],taskspec:[72,76,81,99],tasktempl:[20,22,34,39,41,51,57,59,76,77,81,99,115],tasktyp:143,team:[0,13,111,120,133],technic:20,tediou:[0,132],tell:[2,88,104,135],temp:[19,144],tempdir:77,templat:[10,20,27,28,34,36,39,51,77,85,99,100,101,104,112,119,123,144],templatedata:10,temporari:[81,83,84,104,142],temporaryconfigur:85,tenanc:[118,124],tend:144,tensorflow:[56,122],term:[7,124],termin:[0,15,25,29,64,77,89,90,118,128,129],terminate_execut:72,test:[4,8,17,76,85,104,110,112,122,133,134,144],test_batch_s:145,test_hiv:104,test_load:145,test_task:104,test_util:[70,108],text:[2,48,72,73,76,77,78,79,80,81,83,84,85,87,88,89,90,91,92,93,94,95,96,97,99,100,101,104,105,124,142,144],text_arg:73,text_csv:[63,102],textual:99,than:[10,15,17,20,22,25,40,47,63,72,81,84,87,102,104,114,135,144],thank:80,thats:8,thei:[0,2,8,10,11,17,20,22,40,63,76,79,90,102,104,110,112,117,118,126,131,132,142],them:[0,2,11,13,15,79,122,129,142,144],themselv:[10,79,111,123],then_nod:[50,101],thereaft:20,therefor:[22,76,79,104,124,132,146],theworst:15,thi:[0,1,2,4,7,8,9,10,11,13,14,15,17,18,19,20,22,23,24,25,27,28,29,30,32,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,52,53,55,57,58,59,60,62,63,66,69,72,73,76,77,79,80,81,83,84,85,87,88,89,90,91,92,98,99,101,102,104,105,110,112,113,115,117,118,121,123,124,127,129,130,133,134,135,137,138,140,141,142,144,146,147],thin:[14,72],thing:[13,72,112,127,140,142],think:[112,130,141],third:2,thorough:15,those:[2,20,73,76,88,104,112,114,122,134,141],though:[2,142],thought:[2,20],thread:7,three:[2,10,19,22,62,128],threshold:[7,134],threw:49,throttl:7,through:[2,10,13,15,16,17,43,60,63,102,110,123,129,135,137],throughout:[22,23,113],thrown:49,thu:[8,112],tied:[10,119,123],tighter:48,time:[2,7,10,15,20,22,23,25,27,29,33,34,35,36,43,48,64,72,80,81,84,85,87,88,91,98,99,104,112,113,119,121,122,123,124,127,129,132,133,141,146],timed_out:[43,101,128],timedelta:[80,81,83,88,99,100,101,104,127],timeout:[48,50,80,81,87,88,99,101,104,122],timeout_sec:[59,99],timer:[91,98,129],timestamp:[15,25,27,29,34,35,36,47,52],tip:137,tmp:99,tmp_dir:[77,81,89],tmpdir:134,to_dict:99,to_flyte_idl:[76,99,100,101,102],to_flyte_literal_typ:[83,104],to_literal_model:99,to_path:[93,94,95,96,97],to_python_std:[83,104],tocken:7,todai:38,todo:[23,48,72,81,85,88,89,99,101,104],togeth:[0,19,21,77,111,144],toggl:15,token:[2,7,11,23,25,27,29,34,35,36,72,74,76,85],token_endpoint:[74,76],tokenpath:11,toler:[0,43,118,145],too:[25,99,127],tool:[0,10,13,70,81,85,108,113,121,124],toolkit:14,top:[5,7,9,14,31,112,140],top_trim:79,topic:14,topolog:105,torch:[105,145],total:11,totensor:145,touch:134,tps:7,trace:[7,24,43,52,79],traceback:79,track:[15,20,63,77,89,102,113,132],trackabl:112,tradit:0,tradition:[85,132],train:[58,60,63,66,102,113,145],train_load:145,training_job:[60,61,70,82,99],training_job_early_stopping_typ:[60,102],training_job_model:82,training_job_pb2:102,training_job_resource_config:[63,82,102],training_job_task:[70,77,81],trainingimag:[63,102],trainingjob:[60,102],trainingjobearlystoppingtyp:102,trainingjobresourceconfig:[82,102],transact:[7,72],transform:[14,20,76,122,145],transit:[15,25,27,99,129],translat:[20,47,76,117],treat:133,tree:[22,40],tri:7,triag:113,trickster:80,trigger:[7,14,23,25,27,33,48,88,99,104,119,123,127,128],triggered_tim:127,trivial:146,truth:20,tsk:132,tsx:17,ttl:[7,43,101],tune:[34,60,62,63,102,122],tuning_object:[60,102],tuning_strategi:[60,102],tunnel:8,tupl:[73,83,88],turn:[10,81,87,113,129],tutori:[8,129,137],tweak:10,two:[17,19,22,40,122,129,142,146],txt:[104,146],type:[0,4,6,7,9,11,13,15,16,20,21,23,28,38,42,43,44,45,46,47,48,50,52,57,59,62,63,70,72,73,74,76,77,78,79,80,81,85,87,88,89,90,91,93,94,95,96,97,98,100,102,105,106,107,108,109,118,119,123,127,129,132,133,134,138,140,141,142,144,145,146,147],type_engin:[70,85,108],type_map:[77,83],typedcollectiontyp:83,typedinterfac:[48,50,77,81,99,101,140],typedlistimpl:83,typeengin:106,typeerror:79,types_pb2:[99,101],types_to_vari:81,typic:[8,13,85,110,114,118],uint32:[23,25,27,29,33,35,44,47,48,52,59],ultim:20,unabl:48,uncov:112,undefin:[17,28,43,47,101],under:[2,7,11,13,23,29,105,122,132,133,134,135],underli:[14,22,43,47,49,50,60,77,80,81,83,98,99,101,102,104],underneath:27,understand:[0,6,7,8,9,20,21,48,110,112,118,137,138],understood:49,unfortun:[14,15,20],unicod:122,union:92,uniqu:[14,15,16,22,23,24,25,27,29,32,34,35,36,37,39,44,47,48,49,50,52,72,77,80,81,85,99,101,119,120,122,124],unique_parent_id:29,unit:[22,33,47,50,70,81,87,88,89,99,104,112,118,122,123,127,132,134],unit_test:[81,87,104],unittestenginefactori:91,unittestenginetask:91,unknown:[42,43,48,99,101,129],unless:50,unlik:[0,77,144],unmanag:84,unmarsh:20,unnecessari:17,unpack:[83,99],unpack_literal_map_to_sdk_object:83,unpack_literal_map_to_sdk_python_std:83,unspecifi:[44,101],unsur:124,until:[0,17,22,64,80,141,146],untriag:112,unus:113,unvers:124,updat:[7,13,14,15,19,23,25,27,29,35,72,77,80,84,88,89,90,104,123,127,132,133],update_configuration_fil:76,update_launch_plan:72,update_named_ent:72,update_project_domain_attribut:72,update_workflow_attribut:72,updated_at:[15,25,27,29,35,100],upload:[48,81,84,87,93,94,95,96,97,118,134],upload_directori:[93,94,95,96,97],upload_eag:48,upload_mod:[48,99],upload_mode_eag:99,upload_mode_no_upload:99,upload_mode_on_exit:99,upload_on_exit:48,upon:[0,77,80,81,83,84,104],upper:[15,88,104],upstream:[39,50,77,101,104],upstream_ent:[77,80,81],upstream_nod:77,upstream_node_id:[50,77,101],uri:[7,25,43,47,52,84,85,99,101],url:[4,6,17,22,23,25,29,35,48,52,72,74,85,99,124,132,135],urlblob:[25,29,35,99],urllib:134,urlopen:134,urlpars:85,usabl:[72,104],usag:[19,81,120,124,125,143],use:[0,2,4,7,8,10,11,13,14,15,17,19,20,22,25,27,38,39,47,48,52,63,73,81,85,88,99,102,104,112,114,119,121,123,125,132,133,134,135,141,144,145,146,147],usecas:7,used:[2,4,7,10,13,14,15,17,19,20,22,23,25,26,27,28,29,31,34,35,36,38,39,46,48,49,50,53,60,63,72,74,77,81,84,85,87,88,92,99,101,102,104,112,119,123,124,126,132,134,140,146,147],useful:[2,18,25,50,77,81,101,104,113,133],usefulli:81,user:[1,2,5,8,9,10,13,20,22,23,25,27,34,42,43,44,48,60,62,63,70,72,77,80,81,83,85,87,88,91,99,102,104,106,107,109,111,112,113,117,118,120,121,122,123,125,127,132,133,140,142,144,145,146,147],user_entry_point:79,user_id:104,user_input:77,usernam:[2,13,85,124,134,135],users_t:104,uses:[0,4,5,7,8,12,14,15,39,48,77,81,85,111,121,124,126,140,147],using:[0,2,4,7,13,17,25,40,48,50,58,63,66,73,76,85,89,90,99,101,102,104,110,112,113,118,119,120,121,122,123,124,129,132,134,135,138,140,141,142,144,145,146,147],usual:[2,17,50,84,106,112,124,129],util:[14,70,81,89,108,124,134,145],uuid:16,val:[4,6,7,99,147],valid:[0,10,14,22,23,30,47,48,49,50,77,81,85,99,101,104,113,117,119,121,123],valid_phas:77,valu:[2,5,7,9,10,14,15,16,17,20,21,23,25,27,28,29,33,34,35,36,38,39,41,44,46,47,48,49,50,52,55,72,73,76,77,79,81,83,84,85,89,90,91,99,100,101,102,104,106,119,124,126,127,130,133,134,135,140,141,146,147],value_in:15,value_to_print:140,valueerror:79,valuein:99,vari:15,variabl:[2,4,10,22,28,33,40,47,48,49,50,73,76,77,80,81,85,87,88,99,101,104,117,119,122],variable_dict:73,variable_proto:99,variablemap:[27,99],varieti:[34,113,123],variou:[7,22,43,45,48,50,52,54,56,110,112,122,129,144],variti:141,varriou:22,vector:2,veloc:112,venv:124,verbose_class_str:99,verbose_messag:79,verbose_str:[83,99,104],veri:[15,17,22,112,122,141],verifi:19,version:[15,16,20,22,23,27,34,36,44,48,52,63,72,76,77,78,80,81,85,91,99,101,102,104,112,117,118,119,122,124,132,133,135,138],via:[0,43,72,76,77,87,131,145,147],view:[0,17,72,110,121,144],virtual:[8,19,124],virtualenv:124,visibl:[22,23,129],visit:[113,132,134,135],visual:[0,39,121],volum:[11,63,102,104,146],volume_size_in_gb:[63,102],volumemount:[11,104,146],volumesourc:[104,146],wai:[2,10,13,15,20,22,62,110,119,122,124,131,133,134,141,147],wait:[7,22,67,80,99,127,146],wait_for_complet:[80,132],waitabl:[20,56],waiting_for_resourc:43,walk:[10,16],want:[2,8,10,11,13,15,19,20,43,63,72,81,92,102,111,112,127,132,136,138,144,145],warn:[8,88,99,104],wast:[122,130],wastag:118,watch:7,water:118,web:[0,2,17,113,122],webpack:17,week:33,weird:79,welcom:[109,112,121],well:[2,7,8,14,17,22,25,27,34,35,38,45,47,74,81,110,115,119,122,126,133,141,142,145],were:[13,15,20,50,76,84,99,101],wf_exec:[89,90,91],wf_exec_id:[67,89,90,91],wf_handl:104,wf_param:[77,80,104,132,133,134,142,144,146],wfparam:[104,146],wfs:22,what:[10,18,19,20,21,22,29,47,76,77,79,99,109,111,118,125,134,141],whatsoev:20,wheel:124,when:[2,4,7,10,16,17,18,20,25,27,28,33,43,47,48,50,52,60,63,72,73,77,79,80,81,84,85,88,99,101,102,104,113,117,121,122,123,129,130,132,133,134,135,140,142],whenev:[50,101,104,124,129],where:[0,2,4,7,10,15,22,25,28,29,35,40,43,47,63,72,80,81,84,85,87,90,92,99,102,104,112,132,133,135,141,142,144,147],wherea:[20,126],wherev:48,whether:[7,15,35,48,50,77,80,81,83,84,85,87,88,93,94,95,96,97,99,104,122,124,129],which:[6,7,8,10,13,14,15,17,20,22,23,25,27,28,29,32,33,34,35,36,37,48,52,60,62,63,72,73,76,77,80,81,84,85,87,98,99,102,104,112,118,119,121,122,123,124,126,129,134,140,141,142,144,146,147],whichev:99,who:[2,92,110],whose:[50,104],why:[38,125,138,144],wide:131,widget:132,widgetmodel:10,wildcard:85,window:[17,85],wish:[2,15,27],with_overrid:77,within:[1,2,8,23,25,27,28,29,31,44,48,49,52,77,79,80,81,87,88,99,104,112,117,120,123,124,146],without:[2,17,48,85,104,118],won:[17,22,124],word:[72,73,99,123,124],work:[0,8,38,48,57,59,81,87,88,104,110,111,113,123,125,134,137,143,144],workaround:47,worker:[0,7,58,66,104,145],workers_count:[81,99,104,145],workflow:[0,2,5,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,31,33,34,37,39,43,44,45,48,51,52,53,70,72,76,80,81,85,87,89,90,91,99,105,108,109,111,113,114,115,118,119,120,121,122,124,126,127,128,129,130,132,133,136,137,138,141,142,144,145,147],workflow_attribut:[10,26],workflow_class:[104,127,130,134,144],workflow_closur:[45,70,108],workflow_closure_pb2:99,workflow_execut:[70,81,89,90,91,108],workflow_execution_id:29,workflow_execution_identifi:72,workflow_id:[25,27,67,77,89,90,91,99,104],workflow_identifi:72,workflow_nam:129,workflow_name_format:85,workflow_nod:[50,101],workflow_node_metadata:[29,52],workflow_packag:85,workflow_param:145,workflow_paramet:[140,141,147],workflow_pb2:[76,77,100,101],workflow_spec:72,workflowattribut:[15,28],workflowclosur:[99,100],workflowexecut:[23,25,52,67,128,132],workflowexecutionev:[15,24],workflowexecutiongetdatarespons:[72,99],workflowexecutionidentifi:[25,29,52,67,72,78,80,89,90,91,99,101],workflowexecutionphas:[99,101,127],workflowmetadata:[77,101,104,130],workflowmetadatadefault:101,workflownod:[29,39,77,101],workflowspec:[72,76,77,100],workflowtempl:[29,36,39,41,51,52,76,77,99,100,101,115],working_dir_prefix:77,working_directori:[81,89],workload:[0,99,113,141],workqueu:7,world:[10,104,118,146],world_siz:145,worri:[20,79],worth:127,would:[10,15,17,48,76,80,85,92,104,112,128],wrap:[20,72,79,81,83,87,88,104],wrapper:[20,72,74,77,79,104],wreak:129,write:[7,20,63,84,90,104,111,113,123,132,136,138,142,146,147],write_proto_to_fil:77,writer:[104,145],written:[4,5,19,22,48,84,88,104,123,135],wrobert:[83,104],wrong:127,www:[48,85],xarg:[11,13],xgboost:[63,102],xrang:104,xyz:80,yaml:[7,8,10,11,13,48,121],yarn:17,year:[33,127],yet:[10,22,48,132],yield:[15,80,104,141],you:[0,2,8,10,11,13,14,15,17,20,27,63,72,77,80,81,102,113,117,119,127,128,129,132,133,134,135,136,137,138,141,144,145,146],your:[1,2,8,9,10,11,19,20,27,50,63,81,102,119,124,125,126,127,131,132,133,135,136,137,138,142,145,146,147],your_aws_access_kei:13,your_aws_secret_kei:13,your_database_password:13,your_database_usernam:13,yourself:[1,10,124],yourworkflownam:10,zero:[52,104,115,127]},titles:["Architecture","Administrator Docs","Authentication","FlyteAdmin Configuration","Common configuration across all backend components","Configure Flyte backend","Plugin Configuration","Propeller Configuration","Getting Started","Installing Flyte","Configuring customizable resources","Scaling Beyond Kubernetes","Optional Components","Handling Production Load","FlyteAdmin","FlyteAdmin Service Background","What is Data Catalog?","Flyte Console","Flyte System Components","Contributing to Docs","Extending Flyte","Contributor Docs","Flyte Specification Language","common.proto","event.proto","execution.proto","Flyte Admin Service entities","launch_plan.proto","matchable_resource.proto","node_execution.proto","notification.proto","project.proto","project_domain_attributes.proto","schedule.proto","task.proto","task_execution.proto","workflow.proto","workflow_attributes.proto","catalog.proto","compiler.proto","condition.proto","dynamic_job.proto","errors.proto","execution.proto","identifier.proto","Core Flyte language specification","interface.proto","literals.proto","tasks.proto","types.proto","workflow.proto","workflow_closure.proto","event.proto","Flyte Internal and External Eventing interface","Flyte Language and API specification","array_job.proto","Flyte Task Plugins","presto.proto","pytorch.proto","qubole.proto","hyperparameter_tuning_job.proto","sagemaker","parameter_ranges.proto","training_job.proto","sidecar.proto","spark.proto","tensorflow.proto","waitable.proto","admin.proto","REST and gRPC interface for the Flyte Admin Service","flytekit package","flytekit.bin package","flytekit.clients package","flytekit.clis package","flytekit.clis.auth package","flytekit.clis.flyte_cli package","flytekit.clis.sdk_in_container package","flytekit.common package","flytekit.common.core package","flytekit.common.exceptions package","flytekit.common.mixins package","flytekit.common.tasks package","flytekit.common.tasks.sagemaker package","flytekit.common.types package","flytekit.common.types.impl package","flytekit.configuration package","flytekit.contrib package","flytekit.contrib.notebook package","flytekit.contrib.sensors package","flytekit.engines package","flytekit.engines.flyte package","flytekit.engines.unit package","flytekit.interfaces package","flytekit.interfaces.data package","flytekit.interfaces.data.gcs package","flytekit.interfaces.data.http package","flytekit.interfaces.data.local package","flytekit.interfaces.data.s3 package","flytekit.interfaces.stats package","flytekit.models package","flytekit.models.admin package","flytekit.models.core package","flytekit.models.sagemaker package","flytekit.plugins package","flytekit.sdk package","flytekit.tools package","flytekit.type_engines package","flytekit.type_engines.default package","flytekit","Flyte","How to read these docs?","Introduction","Roadmap","What is Flyte?","Domains","Dynamic Job Spec","Timeline of a workflow execution","Overview of the Execution of a Workflow","Flyte Concepts","Launch plans","Projects","Understanding Registration process","Tasks","Workflows","Flyte CLI","Flyte Features","Labels and Annotations","Flyte Launchplans","Notifications","Metrics for your executions","On Failure Policy","Why roles?","Single Task Excution","Task Cache","Writing Your First Workflow","Quick Start Examples","Getting Started","Want more example to Deep Dive","User docs","Python SDK","Container Task","Dynamic Tasks","Hive Tasks","Flyte Task Types","Presto Tasks","PyTorch Task","Sidecar Tasks","Spark Task"],titleterms:{"default":[6,107,119,129],"enum":[23,25,27,28,33,38,40,42,43,44,48,49,50,60,62,63,65],"static":15,"void":47,Adding:15,For:133,Going:13,Using:[15,121],With:129,abortmetadata:25,access:2,across:4,activelaunchplanlistrequest:27,activelaunchplanrequest:27,addit:14,admin:[2,7,14,15,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,68,69,100],administr:[1,110],algorithmnam:63,algorithmspecif:63,alia:50,all:[4,15,19],annot:[23,126],api:54,architectur:0,array_job:[55,99],arrayjob:55,artifact:80,asynchron:14,auth:[27,74,85],authent:2,authrol:23,avail:6,awesom:110,aws:85,backend:[4,5,121],background:[15,20],base:79,base_sdk_typ:83,base_sensor:88,basic:142,basic_auth:76,beyond:[11,13],bin:71,binari:47,bind:47,bindingdata:47,bindingdatacollect:47,bindingdatamap:47,blob:[47,83,84],blobdimension:49,blobmetadata:47,blobtyp:49,booleanexpress:40,branch:123,branchnod:50,bug:112,build:19,cach:133,catalog:[7,12,16,38],catalogartifacttag:38,catalogcachestatu:38,catalogmetadata:38,categoricalparameterrang:62,chang:112,characterist:122,cli:[2,73,74,75,76,117,124],client:[2,72,98],cluster:10,clusterresourceattribut:28,command:[10,124],commandlin:[7,132],common:[4,14,23,77,78,79,80,81,82,83,84,85,89,93,99,100,106],compani:110,comparisonexpress:40,compil:[22,39,101],compiledtask:39,compiledworkflow:39,compiledworkflowclosur:39,compon:[2,4,12,14,18],component_nod:77,concept:118,condit:[40,101],config:3,configur:[2,3,4,5,6,7,10,13,85,124],conjunctionexpress:40,connectionset:39,consol:[17,132],constant:[76,77],contain:[6,48,83,129,140,146],containererror:42,containerport:48,content:[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],continu:112,continuousparameterrang:62,contrib:[86,87,88],contribut:19,contributor:[21,110],control:[0,6,11],copi:19,cor:17,core:[7,38,39,40,41,42,43,44,45,46,47,48,49,50,51,78,101,112],creat:[13,134,135],cred:85,credenti:74,cron:119,custom:20,customiz:10,dashboard:129,data:[0,11,12,14,16,93,94,95,96,97],data_proxi:93,databas:13,dataloadingconfig:48,debug:[10,17],deep:137,definit:122,depend:[17,19],deploy:[8,11,13],detail:14,develop:[17,113],diagram:2,direct:[2,23],discoveri:74,distributedpytorchtrainingtask:58,distributedtensorflowtrainingtask:66,dive:137,doc:[1,19,21,110,138],document:[19,112],domain:[31,114,124],downloadmod:48,dynam:[13,115,141],dynamic_job:[41,99],dynamicjobspec:41,egress:53,elect:7,element:22,emailmessag:30,emailnotif:23,enabl:133,engin:[89,90,91],entiti:[15,26,124],entrypoint:71,environ:[17,142],error:[14,42,49,101],errordocu:42,errorkind:43,even:110,event:[7,24,52,53],eventerroralreadyinterminalst:24,eventfailurereason:24,exampl:[3,6,7,10,20,122,126,131,135,137,146],except:[79,104],excut:132,execut:[6,10,15,16,25,43,81,99,101,113,116,117,123,126,129,132,135,142],executionclosur:25,executionclusterlabel:28,executioncreaterequest:25,executioncreaterespons:25,executionerror:43,executionlist:25,executionmetadata:25,executionmod:25,executionqueueattribut:28,executionrelaunchrequest:25,executionspec:25,executionterminaterequest:25,executionterminaterespons:25,express:119,extend:20,extens:22,extern:[7,53],failur:130,fault:122,featur:125,fetch:132,filter:[15,99],first:134,fix:[112,119],fixedr:33,fixedrateunit:33,flow:[2,117,121],flyte:[2,5,9,13,16,17,18,20,22,26,45,53,54,56,69,90,107,109,110,113,117,118,123,124,125,127,129,132,134,135,143,144],flyte_cli:75,flyteadmin:[3,14,15],flyteconsol:17,flyteidl:[0,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,55,57,58,59,60,62,63,64,65,66,67],flytekit:[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,121],friendli:72,from:[124,132],futur:128,gcp:85,gcs:94,gcs_proxi:94,generic_spark_task:81,get:[8,136],grade:13,grpc:69,handl:13,hash:80,have:124,help:[110,124],helper:[72,73,83,87],hierarchi:10,hive:[20,142],hive_task:81,hivequeri:59,hivequerycollect:59,host:124,how:[16,110,112,130],hpo_job:102,hpo_job_task:82,http:95,http_data_proxi:95,hyperparameter_tuning_job:60,hyperparameterscalingtyp:62,hyperparametertuningjob:60,hyperparametertuningjobconfig:60,hyperparametertuningobject:60,hyperparametertuningobjectivetyp:60,hyperparametertuningstrategi:60,iam:131,identifi:[44,78,101],idl:20,idlist:39,idp:2,ifblock:50,ifelseblock:50,impl:[84,88],improv:112,includ:19,individu:6,initi:20,input:[119,127],inputcontenttyp:63,inputmod:63,instal:[9,17,110,124,146],integerparameterrang:62,integr:142,interact:[124,134],interfac:[46,53,69,77,92,93,94,95,96,97,98,99,124],intern:[53,85],introduct:111,iostrategi:48,job:115,keyvaluepair:47,kind:42,kubernet:[6,11,131],label:[10,23,126],languag:[22,45,54],launch:[119,126,132],launch_plan:[27,76,77,99],launchabl:80,launcher:7,launchplan:[27,127],launchplanclosur:27,launchplancreaterequest:27,launchplancreaterespons:27,launchplanlist:27,launchplanmetadata:27,launchplanspec:27,launchplanst:27,launchplanupdaterequest:27,launchplanupdaterespons:27,lazy_load:105,leader:7,level:6,line:124,link:6,listmatchableattributesrequest:28,listmatchableattributesrespons:28,liter:[47,99],literalcollect:47,literalmap:47,literalmapblob:25,literalmapformat:48,literaltyp:49,live:112,load:13,loader:89,local:[19,96],local_file_proxi:96,log:6,logger:4,logicaloper:40,main:75,make:110,manag:[14,110,112],matchable_resourc:[28,99],matchableattributesconfigur:28,matchableresourc:28,matchingattribut:28,memoiz:[16,122],messageformat:43,metadata:[4,15],metric:129,metricdefinit:63,mileston:112,miscellan:142,mixin:80,mock_stat:91,model:[14,99,100,101,102],modif:19,modul:[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],module_load:105,monitor:[113,132],more:[110,137],name:[15,124],named_ent:99,namedent:23,namedentitygetrequest:23,namedentityidentifi:23,namedentityidentifierlist:23,namedentityidentifierlistrequest:23,namedentitylist:23,namedentitylistrequest:23,namedentitymetadata:23,namedentityst:23,namedentityupdaterequest:23,namedentityupdaterespons:23,network:17,node:[50,77,115,123],node_execut:[29,99],nodeexecut:[29,43],nodeexecutionclosur:29,nodeexecutionev:52,nodeexecutioneventrequest:24,nodeexecutioneventrespons:24,nodeexecutionfortasklistrequest:29,nodeexecutiongetdatarequest:29,nodeexecutiongetdatarespons:29,nodeexecutiongetrequest:29,nodeexecutionidentifi:44,nodeexecutionlist:29,nodeexecutionlistrequest:29,nodeexecutionmetadata:29,nodemetadata:50,note:19,notebook:87,notif:[23,30,77,128],notificationlist:25,object:13,objectgetrequest:23,observ:112,onfailurepolici:50,onli:[7,19],oper:40,operand:40,option:12,output:[17,81,115],outputrefer:49,overview:117,own:13,packag:[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],pagerdutynotif:23,paramet:[7,46,144],parameter_rang:[62,102],parametermap:46,parameterrang:62,parameterrangeoneof:62,parentnodeexecutionmetadata:52,parenttaskexecutionmetadata:52,partial:127,phase:43,plan:[119,126],plane:[0,11],platform:[15,85],plugin:[6,20,55,56,57,58,59,60,62,63,64,65,66,67,103],pod:146,polici:130,prerequisit:8,presto:[57,99,144],presto_task:81,prestoqueri:57,primari:146,primit:[47,83],process:121,product:13,project:[13,31,99,120,124,129,134],project_domain_attribut:32,projectdomainattribut:32,projectdomainattributesdeleterequest:32,projectdomainattributesdeleterespons:32,projectdomainattributesgetrequest:32,projectdomainattributesgetrespons:32,projectdomainattributesupdaterequest:32,projectdomainattributesupdaterespons:32,projectlistrequest:31,projectregisterrequest:31,projectregisterrespons:31,promis:77,propel:[7,20],properti:22,proto:[23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,55,57,58,59,60,62,63,64,65,66,67,68,83],protobuf:17,provid:[6,119,129],proxi:17,put:15,pyflyt:76,pypi:124,python:[139,140],pytorch:[58,145],pytorch_task:81,qualityofservic:43,qualityofservicespec:43,qubol:[20,59,99],qubolehivejob:59,queri:142,queue:[7,10],quick:135,random:92,rate:119,raw:72,raw_contain:81,read:110,real:122,recommend:124,refer:2,regist:[76,132],register:80,registr:[121,135],releas:112,reliabl:112,repo:19,repositori:14,request:15,requir:122,resourc:[10,48,85],resourceentri:48,resourcelistrequest:23,resourcenam:48,resourcetyp:44,rest:69,retrystrategi:47,rfc:2,roadmap:112,role:131,rpc:14,rst:19,run:[17,135],runtim:14,runtimemetadata:48,runtimetyp:48,s3proxi:97,sagemak:[60,61,62,63,82,102],sandbox:[8,13],scalar:47,scale:11,schedul:[12,33,77,99,119,127],schema:[47,83,84,142],schemacolumn:49,schemacolumntyp:49,schematyp:49,scope:79,sdk:[20,85,104,139],sdk_base:77,sdk_dynam:81,sdk_in_contain:76,sdk_runnabl:81,sensor:88,serial:76,server:17,servic:[7,15,26,69],serviceaccount:131,setup:[135,145,147],sidecar:[64,146],sidecar_task:81,sidecarjob:64,simpletyp:49,singl:132,slacknotif:23,sort:[15,23],sourc:124,spark:[65,147],spark_task:81,spark_typ:104,sparkappl:65,sparkjob:65,spec:[115,146],specif:[22,45,54,123],start:[8,135,136],stat:[98,129],statsd:85,storag:4,store:13,storybook:17,structur:[14,20,123],subcommand:124,submodul:[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,104,105,106,107],subpackag:[70,73,77,81,83,86,89,92,93,99,106],subprocess:105,subworkflow:115,supported_typ:87,swimlan:2,syntax:15,system:[18,79],systemmetadata:25,tab:17,taggabl:98,task:[10,16,20,34,48,56,81,82,87,88,99,104,115,122,123,129,132,133,134,140,141,142,143,144,145,146,147],task_execut:[35,100],taskclosur:34,taskcreaterequest:34,taskcreaterespons:34,taskexecut:[35,43],taskexecutionclosur:35,taskexecutionev:52,taskexecutioneventrequest:24,taskexecutioneventrespons:24,taskexecutiongetdatarequest:35,taskexecutiongetdatarespons:35,taskexecutiongetrequest:35,taskexecutionidentifi:44,taskexecutionlist:35,taskexecutionlistrequest:35,tasklist:34,tasklog:43,taskmetadata:48,tasknod:50,tasknodemetadata:[29,52],taskresourceattribut:28,taskresourcespec:28,taskspec:34,tasktempl:48,team:112,tensorflow:66,terminolog:124,test:124,test_util:104,tier:43,timelin:116,togeth:15,toler:122,tool:105,top:6,train:112,training_job:[63,102],training_job_task:82,trainingjob:63,trainingjobearlystoppingtyp:60,trainingjobresourceconfig:63,type:[10,22,49,65,83,84,99,101,104,122,143],type_engin:[106,107],typedinterfac:46,typic:[117,121],understand:[13,121],unit:[91,119],updat:20,uploadmod:48,urlblob:23,urn:124,usag:[126,140,142,144,145,146,147],use:[127,130],user:[0,6,11,79,110,124,129,138],using:117,util:77,valu:[6,22,60,62,63],variabl:[17,46],variablemap:46,version:123,waitabl:67,want:[110,137],what:[16,113,119,130,132],when:127,why:131,without:121,work:[112,124,128,146],workflow:[7,36,50,77,100,101,104,110,116,117,123,134,135],workflow_attribut:37,workflow_closur:[51,99],workflow_execut:77,workflowattribut:37,workflowattributesdeleterequest:37,workflowattributesdeleterespons:37,workflowattributesgetrequest:37,workflowattributesgetrespons:37,workflowattributesupdaterequest:37,workflowattributesupdaterespons:37,workflowclosur:[36,51],workflowcreaterequest:36,workflowcreaterespons:36,workflowengin:14,workflowexecut:43,workflowexecutionev:52,workflowexecutioneventrequest:24,workflowexecutioneventrespons:24,workflowexecutiongetdatarequest:25,workflowexecutiongetdatarespons:25,workflowexecutiongetrequest:25,workflowexecutionidentifi:44,workflowlist:36,workflowmetadata:50,workflowmetadatadefault:50,workflownod:50,workflownodemetadata:[29,52],workflowspec:36,workflowtempl:50,world:122,write:[110,134],you:124,your:[13,129,134]}}) \ No newline at end of file +Search.setIndex({docnames:["administrator/architecture","administrator/faq/gcp","administrator/faq/index","administrator/index","administrator/install/authentication","administrator/install/configure/admin","administrator/install/configure/common","administrator/install/configure/index","administrator/install/configure/plugins","administrator/install/configure/propeller","administrator/install/getting_started","administrator/install/index","administrator/install/managing_customizable_resources","administrator/install/multi_cluster","administrator/install/optional_components","administrator/install/production","contributor/components/admin","contributor/components/admin_service","contributor/components/catalog","contributor/components/console","contributor/components/index","contributor/docs/index","contributor/extending/index","contributor/index","contributor/language/index","flyteidl/admin/common.proto","flyteidl/admin/event.proto","flyteidl/admin/execution.proto","flyteidl/admin/index","flyteidl/admin/launch_plan.proto","flyteidl/admin/matchable_resource.proto","flyteidl/admin/node_execution.proto","flyteidl/admin/notification.proto","flyteidl/admin/project.proto","flyteidl/admin/project_domain_attributes.proto","flyteidl/admin/schedule.proto","flyteidl/admin/task.proto","flyteidl/admin/task_execution.proto","flyteidl/admin/workflow.proto","flyteidl/admin/workflow_attributes.proto","flyteidl/core/catalog.proto","flyteidl/core/compiler.proto","flyteidl/core/condition.proto","flyteidl/core/dynamic_job.proto","flyteidl/core/errors.proto","flyteidl/core/execution.proto","flyteidl/core/identifier.proto","flyteidl/core/index","flyteidl/core/interface.proto","flyteidl/core/literals.proto","flyteidl/core/tasks.proto","flyteidl/core/types.proto","flyteidl/core/workflow.proto","flyteidl/core/workflow_closure.proto","flyteidl/event/event.proto","flyteidl/event/index","flyteidl/index","flyteidl/plugins/array_job.proto","flyteidl/plugins/index","flyteidl/plugins/presto.proto","flyteidl/plugins/pytorch.proto","flyteidl/plugins/qubole.proto","flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto","flyteidl/plugins/sagemaker/index","flyteidl/plugins/sagemaker/parameter_ranges.proto","flyteidl/plugins/sagemaker/training_job.proto","flyteidl/plugins/sidecar.proto","flyteidl/plugins/spark.proto","flyteidl/plugins/tensorflow.proto","flyteidl/plugins/waitable.proto","flyteidl/service/admin.proto","flyteidl/service/index","flytekit/flytekit","flytekit/flytekit.bin","flytekit/flytekit.clients","flytekit/flytekit.clis","flytekit/flytekit.clis.auth","flytekit/flytekit.clis.flyte_cli","flytekit/flytekit.clis.sdk_in_container","flytekit/flytekit.common","flytekit/flytekit.common.core","flytekit/flytekit.common.exceptions","flytekit/flytekit.common.mixins","flytekit/flytekit.common.tasks","flytekit/flytekit.common.tasks.sagemaker","flytekit/flytekit.common.types","flytekit/flytekit.common.types.impl","flytekit/flytekit.configuration","flytekit/flytekit.contrib","flytekit/flytekit.contrib.notebook","flytekit/flytekit.contrib.sensors","flytekit/flytekit.engines","flytekit/flytekit.engines.flyte","flytekit/flytekit.engines.unit","flytekit/flytekit.interfaces","flytekit/flytekit.interfaces.data","flytekit/flytekit.interfaces.data.gcs","flytekit/flytekit.interfaces.data.http","flytekit/flytekit.interfaces.data.local","flytekit/flytekit.interfaces.data.s3","flytekit/flytekit.interfaces.stats","flytekit/flytekit.models","flytekit/flytekit.models.admin","flytekit/flytekit.models.core","flytekit/flytekit.models.sagemaker","flytekit/flytekit.plugins","flytekit/flytekit.sdk","flytekit/flytekit.sdk.sagemaker","flytekit/flytekit.tools","flytekit/flytekit.type_engines","flytekit/flytekit.type_engines.default","flytekit/index","index","introduction/docs_overview","introduction/index","introduction/roadmap","introduction/whatis","user/concepts/domains","user/concepts/dynamic_spec","user/concepts/execution_timeline","user/concepts/executions","user/concepts/index","user/concepts/launchplans_schedules","user/concepts/projects","user/concepts/registration","user/concepts/tasks","user/concepts/workflows_nodes","user/features/flytecli","user/features/index","user/features/labels_annotations","user/features/lanuchplans","user/features/notifications","user/features/observability","user/features/on_failure_policy","user/features/roles","user/features/single_task_execution","user/features/task_cache","user/getting_started/create_first","user/getting_started/examples","user/getting_started/index","user/getting_started/more_examples","user/index","user/sdk/index","user/tasktypes/container","user/tasktypes/dynamic","user/tasktypes/hive","user/tasktypes/index","user/tasktypes/presto","user/tasktypes/pytorch","user/tasktypes/sidecar","user/tasktypes/spark"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["administrator/architecture.rst","administrator/faq/gcp.rst","administrator/faq/index.rst","administrator/index.rst","administrator/install/authentication.rst","administrator/install/configure/admin.rst","administrator/install/configure/common.rst","administrator/install/configure/index.rst","administrator/install/configure/plugins.rst","administrator/install/configure/propeller.rst","administrator/install/getting_started.rst","administrator/install/index.rst","administrator/install/managing_customizable_resources.rst","administrator/install/multi_cluster.rst","administrator/install/optional_components.rst","administrator/install/production.rst","contributor/components/admin.rst","contributor/components/admin_service.rst","contributor/components/catalog.rst","contributor/components/console.rst","contributor/components/index.rst","contributor/docs/index.rst","contributor/extending/index.rst","contributor/index.rst","contributor/language/index.rst","flyteidl/admin/common.proto.rst","flyteidl/admin/event.proto.rst","flyteidl/admin/execution.proto.rst","flyteidl/admin/index.rst","flyteidl/admin/launch_plan.proto.rst","flyteidl/admin/matchable_resource.proto.rst","flyteidl/admin/node_execution.proto.rst","flyteidl/admin/notification.proto.rst","flyteidl/admin/project.proto.rst","flyteidl/admin/project_domain_attributes.proto.rst","flyteidl/admin/schedule.proto.rst","flyteidl/admin/task.proto.rst","flyteidl/admin/task_execution.proto.rst","flyteidl/admin/workflow.proto.rst","flyteidl/admin/workflow_attributes.proto.rst","flyteidl/core/catalog.proto.rst","flyteidl/core/compiler.proto.rst","flyteidl/core/condition.proto.rst","flyteidl/core/dynamic_job.proto.rst","flyteidl/core/errors.proto.rst","flyteidl/core/execution.proto.rst","flyteidl/core/identifier.proto.rst","flyteidl/core/index.rst","flyteidl/core/interface.proto.rst","flyteidl/core/literals.proto.rst","flyteidl/core/tasks.proto.rst","flyteidl/core/types.proto.rst","flyteidl/core/workflow.proto.rst","flyteidl/core/workflow_closure.proto.rst","flyteidl/event/event.proto.rst","flyteidl/event/index.rst","flyteidl/index.rst","flyteidl/plugins/array_job.proto.rst","flyteidl/plugins/index.rst","flyteidl/plugins/presto.proto.rst","flyteidl/plugins/pytorch.proto.rst","flyteidl/plugins/qubole.proto.rst","flyteidl/plugins/sagemaker/hyperparameter_tuning_job.proto.rst","flyteidl/plugins/sagemaker/index.rst","flyteidl/plugins/sagemaker/parameter_ranges.proto.rst","flyteidl/plugins/sagemaker/training_job.proto.rst","flyteidl/plugins/sidecar.proto.rst","flyteidl/plugins/spark.proto.rst","flyteidl/plugins/tensorflow.proto.rst","flyteidl/plugins/waitable.proto.rst","flyteidl/service/admin.proto.rst","flyteidl/service/index.rst","flytekit/flytekit.rst","flytekit/flytekit.bin.rst","flytekit/flytekit.clients.rst","flytekit/flytekit.clis.rst","flytekit/flytekit.clis.auth.rst","flytekit/flytekit.clis.flyte_cli.rst","flytekit/flytekit.clis.sdk_in_container.rst","flytekit/flytekit.common.rst","flytekit/flytekit.common.core.rst","flytekit/flytekit.common.exceptions.rst","flytekit/flytekit.common.mixins.rst","flytekit/flytekit.common.tasks.rst","flytekit/flytekit.common.tasks.sagemaker.rst","flytekit/flytekit.common.types.rst","flytekit/flytekit.common.types.impl.rst","flytekit/flytekit.configuration.rst","flytekit/flytekit.contrib.rst","flytekit/flytekit.contrib.notebook.rst","flytekit/flytekit.contrib.sensors.rst","flytekit/flytekit.engines.rst","flytekit/flytekit.engines.flyte.rst","flytekit/flytekit.engines.unit.rst","flytekit/flytekit.interfaces.rst","flytekit/flytekit.interfaces.data.rst","flytekit/flytekit.interfaces.data.gcs.rst","flytekit/flytekit.interfaces.data.http.rst","flytekit/flytekit.interfaces.data.local.rst","flytekit/flytekit.interfaces.data.s3.rst","flytekit/flytekit.interfaces.stats.rst","flytekit/flytekit.models.rst","flytekit/flytekit.models.admin.rst","flytekit/flytekit.models.core.rst","flytekit/flytekit.models.sagemaker.rst","flytekit/flytekit.plugins.rst","flytekit/flytekit.sdk.rst","flytekit/flytekit.sdk.sagemaker.rst","flytekit/flytekit.tools.rst","flytekit/flytekit.type_engines.rst","flytekit/flytekit.type_engines.default.rst","flytekit/index.rst","index.rst","introduction/docs_overview.rst","introduction/index.rst","introduction/roadmap.rst","introduction/whatis.rst","user/concepts/domains.rst","user/concepts/dynamic_spec.rst","user/concepts/execution_timeline.rst","user/concepts/executions.rst","user/concepts/index.rst","user/concepts/launchplans_schedules.rst","user/concepts/projects.rst","user/concepts/registration.rst","user/concepts/tasks.rst","user/concepts/workflows_nodes.rst","user/features/flytecli.rst","user/features/index.rst","user/features/labels_annotations.rst","user/features/lanuchplans.rst","user/features/notifications.rst","user/features/observability.rst","user/features/on_failure_policy.rst","user/features/roles.rst","user/features/single_task_execution.rst","user/features/task_cache.rst","user/getting_started/create_first.rst","user/getting_started/examples.rst","user/getting_started/index.rst","user/getting_started/more_examples.rst","user/index.rst","user/sdk/index.rst","user/tasktypes/container.rst","user/tasktypes/dynamic.rst","user/tasktypes/hive.rst","user/tasktypes/index.rst","user/tasktypes/presto.rst","user/tasktypes/pytorch.rst","user/tasktypes/sidecar.rst","user/tasktypes/spark.rst"],objects:{"":{flytekit:[72,0,0,"-"]},"flytekit.bin":{entrypoint:[73,0,0,"-"]},"flytekit.clients":{friendly:[74,0,0,"-"],helpers:[74,0,0,"-"],raw:[74,0,0,"-"]},"flytekit.clients.friendly":{SynchronousFlyteClient:[74,1,1,""]},"flytekit.clients.friendly.SynchronousFlyteClient":{create_execution:[74,2,1,""],create_launch_plan:[74,2,1,""],create_task:[74,2,1,""],create_workflow:[74,2,1,""],get_active_launch_plan:[74,2,1,""],get_execution:[74,2,1,""],get_execution_data:[74,2,1,""],get_launch_plan:[74,2,1,""],get_node_execution:[74,2,1,""],get_node_execution_data:[74,2,1,""],get_project_domain_attributes:[74,2,1,""],get_task:[74,2,1,""],get_task_execution:[74,2,1,""],get_task_execution_data:[74,2,1,""],get_workflow:[74,2,1,""],get_workflow_attributes:[74,2,1,""],list_active_launch_plans_paginated:[74,2,1,""],list_executions_paginated:[74,2,1,""],list_launch_plan_ids_paginated:[74,2,1,""],list_launch_plans_paginated:[74,2,1,""],list_matchable_attributes:[74,2,1,""],list_node_executions:[74,2,1,""],list_node_executions_for_task_paginated:[74,2,1,""],list_task_executions_paginated:[74,2,1,""],list_task_ids_paginated:[74,2,1,""],list_tasks_paginated:[74,2,1,""],list_workflow_ids_paginated:[74,2,1,""],list_workflows_paginated:[74,2,1,""],raw:[74,2,1,""],register_project:[74,2,1,""],relaunch_execution:[74,2,1,""],terminate_execution:[74,2,1,""],update_launch_plan:[74,2,1,""],update_named_entity:[74,2,1,""],update_project_domain_attributes:[74,2,1,""],update_workflow_attributes:[74,2,1,""]},"flytekit.clients.helpers":{iterate_node_executions:[74,3,1,""],iterate_task_executions:[74,3,1,""]},"flytekit.clients.raw":{RawSynchronousFlyteClient:[74,1,1,""]},"flytekit.clients.raw.RawSynchronousFlyteClient":{create_execution:[74,2,1,""],create_launch_plan:[74,2,1,""],create_task:[74,2,1,""],create_workflow:[74,2,1,""],force_auth_flow:[74,2,1,""],get_active_launch_plan:[74,2,1,""],get_execution:[74,2,1,""],get_execution_data:[74,2,1,""],get_launch_plan:[74,2,1,""],get_node_execution:[74,2,1,""],get_node_execution_data:[74,2,1,""],get_project_domain_attributes:[74,2,1,""],get_task:[74,2,1,""],get_task_execution:[74,2,1,""],get_task_execution_data:[74,2,1,""],get_workflow:[74,2,1,""],get_workflow_attributes:[74,2,1,""],list_active_launch_plans_paginated:[74,2,1,""],list_executions_paginated:[74,2,1,""],list_launch_plan_ids_paginated:[74,2,1,""],list_launch_plans_paginated:[74,2,1,""],list_matchable_attributes:[74,2,1,""],list_node_executions_for_task_paginated:[74,2,1,""],list_node_executions_paginated:[74,2,1,""],list_projects:[74,2,1,""],list_task_executions_paginated:[74,2,1,""],list_task_ids_paginated:[74,2,1,""],list_tasks_paginated:[74,2,1,""],list_workflow_ids_paginated:[74,2,1,""],list_workflows_paginated:[74,2,1,""],register_project:[74,2,1,""],relaunch_execution:[74,2,1,""],set_access_token:[74,2,1,""],terminate_execution:[74,2,1,""],update_launch_plan:[74,2,1,""],update_named_entity:[74,2,1,""],update_project_domain_attributes:[74,2,1,""],update_workflow_attributes:[74,2,1,""],url:[74,2,1,""]},"flytekit.clis":{auth:[76,0,0,"-"],flyte_cli:[77,0,0,"-"],helpers:[75,0,0,"-"],sdk_in_container:[78,0,0,"-"]},"flytekit.clis.auth":{auth:[76,0,0,"-"],credentials:[76,0,0,"-"],discovery:[76,0,0,"-"]},"flytekit.clis.auth.auth":{AuthorizationClient:[76,1,1,""],AuthorizationCode:[76,1,1,""],Credentials:[76,1,1,""],OAuthCallbackHandler:[76,1,1,""],OAuthHTTPServer:[76,1,1,""]},"flytekit.clis.auth.auth.AuthorizationClient":{credentials:[76,2,1,""],expired:[76,2,1,""],refresh_access_token:[76,2,1,""],request_access_token:[76,2,1,""]},"flytekit.clis.auth.auth.AuthorizationCode":{code:[76,2,1,""],state:[76,2,1,""]},"flytekit.clis.auth.auth.Credentials":{access_token:[76,2,1,""]},"flytekit.clis.auth.auth.OAuthCallbackHandler":{do_GET:[76,2,1,""],handle_login:[76,2,1,""]},"flytekit.clis.auth.auth.OAuthHTTPServer":{handle_authorization_code:[76,2,1,""],redirect_path:[76,2,1,""]},"flytekit.clis.auth.credentials":{get_authorization_endpoints:[76,3,1,""],get_client:[76,3,1,""]},"flytekit.clis.auth.discovery":{AuthorizationEndpoints:[76,1,1,""],DiscoveryClient:[76,1,1,""]},"flytekit.clis.auth.discovery.AuthorizationEndpoints":{auth_endpoint:[76,2,1,""],token_endpoint:[76,2,1,""]},"flytekit.clis.auth.discovery.DiscoveryClient":{authorization_endpoints:[76,2,1,""],get_authorization_endpoints:[76,2,1,""]},"flytekit.clis.flyte_cli":{main:[77,0,0,"-"]},"flytekit.clis.helpers":{construct_literal_map_from_parameter_map:[75,3,1,""],construct_literal_map_from_variable_map:[75,3,1,""],parse_args_into_dict:[75,3,1,""],str2bool:[75,3,1,""]},"flytekit.clis.sdk_in_container":{basic_auth:[78,0,0,"-"],constants:[78,0,0,"-"],launch_plan:[78,0,0,"-"],pyflyte:[78,0,0,"-"],register:[78,0,0,"-"],serialize:[78,0,0,"-"]},"flytekit.clis.sdk_in_container.basic_auth":{get_basic_authorization_header:[78,3,1,""],get_secret:[78,3,1,""],get_token:[78,3,1,""]},"flytekit.clis.sdk_in_container.launch_plan":{LaunchPlanAbstractGroup:[78,1,1,""],LaunchPlanExecuteGroup:[78,1,1,""],activate_all_impl:[78,3,1,""]},"flytekit.clis.sdk_in_container.launch_plan.LaunchPlanAbstractGroup":{get_command:[78,2,1,""],list_commands:[78,2,1,""]},"flytekit.clis.sdk_in_container.pyflyte":{update_configuration_file:[78,3,1,""]},"flytekit.clis.sdk_in_container.register":{register_all:[78,3,1,""],register_tasks_only:[78,3,1,""]},"flytekit.clis.sdk_in_container.serialize":{serialize_all:[78,3,1,""],serialize_tasks_only:[78,3,1,""]},"flytekit.common":{"interface":[79,0,0,"-"],component_nodes:[79,0,0,"-"],constants:[79,0,0,"-"],core:[80,0,0,"-"],exceptions:[81,0,0,"-"],launch_plan:[79,0,0,"-"],mixins:[82,0,0,"-"],nodes:[79,0,0,"-"],notifications:[79,0,0,"-"],promise:[79,0,0,"-"],schedules:[79,0,0,"-"],sdk_bases:[79,0,0,"-"],tasks:[83,0,0,"-"],types:[85,0,0,"-"],utils:[79,0,0,"-"],workflow:[79,0,0,"-"],workflow_execution:[79,0,0,"-"]},"flytekit.common.component_nodes":{SdkTaskNode:[79,1,1,""],SdkWorkflowNode:[79,1,1,""]},"flytekit.common.component_nodes.SdkTaskNode":{promote_from_model:[79,2,1,""],reference_id:[79,2,1,""],sdk_task:[79,2,1,""]},"flytekit.common.component_nodes.SdkWorkflowNode":{launchplan_ref:[79,2,1,""],promote_from_model:[79,2,1,""],sdk_launch_plan:[79,2,1,""],sdk_workflow:[79,2,1,""],sub_workflow_ref:[79,2,1,""]},"flytekit.common.constants":{CloudProvider:[79,1,1,""],SdkTaskType:[79,1,1,""]},"flytekit.common.constants.CloudProvider":{AWS:[79,4,1,""],GCP:[79,4,1,""]},"flytekit.common.constants.SdkTaskType":{BATCH_HIVE_TASK:[79,4,1,""],CONTAINER_ARRAY_TASK:[79,4,1,""],DYNAMIC_TASK:[79,4,1,""],HIVE_JOB:[79,4,1,""],PRESTO_TASK:[79,4,1,""],PYTHON_TASK:[79,4,1,""],PYTORCH_TASK:[79,4,1,""],RAW_CONTAINER_TASK:[79,4,1,""],SAGEMAKER_CUSTOM_TRAINING_JOB_TASK:[79,4,1,""],SAGEMAKER_HYPERPARAMETER_TUNING_JOB_TASK:[79,4,1,""],SAGEMAKER_TRAINING_JOB_TASK:[79,4,1,""],SENSOR_TASK:[79,4,1,""],SIDECAR_TASK:[79,4,1,""],SPARK_TASK:[79,4,1,""]},"flytekit.common.core":{identifier:[80,0,0,"-"]},"flytekit.common.core.identifier":{Identifier:[80,1,1,""],TaskExecutionIdentifier:[80,1,1,""],WorkflowExecutionIdentifier:[80,1,1,""]},"flytekit.common.core.identifier.Identifier":{from_python_std:[80,2,1,""],promote_from_model:[80,2,1,""]},"flytekit.common.core.identifier.TaskExecutionIdentifier":{from_python_std:[80,2,1,""],promote_from_model:[80,2,1,""]},"flytekit.common.core.identifier.WorkflowExecutionIdentifier":{from_python_std:[80,2,1,""],promote_from_model:[80,2,1,""]},"flytekit.common.exceptions":{base:[81,0,0,"-"],scopes:[81,0,0,"-"],system:[81,0,0,"-"],user:[81,0,0,"-"]},"flytekit.common.exceptions.base":{FlyteException:[81,5,1,""],FlyteRecoverableException:[81,5,1,""]},"flytekit.common.exceptions.scopes":{FlyteScopedException:[81,5,1,""],FlyteScopedSystemException:[81,5,1,""],FlyteScopedUserException:[81,5,1,""],system_entry_point:[81,3,1,""],user_entry_point:[81,3,1,""]},"flytekit.common.exceptions.scopes.FlyteScopedException":{error_code:[81,2,1,""],kind:[81,2,1,""],traceback:[81,2,1,""],type:[81,2,1,""],value:[81,2,1,""],verbose_message:[81,2,1,""]},"flytekit.common.exceptions.scopes.FlyteScopedSystemException":{verbose_message:[81,2,1,""]},"flytekit.common.exceptions.scopes.FlyteScopedUserException":{verbose_message:[81,2,1,""]},"flytekit.common.exceptions.system":{FlyteEntrypointNotLoadable:[81,5,1,""],FlyteNotImplementedException:[81,5,1,""],FlyteSystemAssertion:[81,5,1,""],FlyteSystemException:[81,5,1,""]},"flytekit.common.exceptions.user":{FlyteAssertion:[81,5,1,""],FlyteAuthenticationException:[81,5,1,""],FlyteEntityAlreadyExistsException:[81,5,1,""],FlyteEntityNotExistException:[81,5,1,""],FlyteRecoverableException:[81,5,1,""],FlyteTimeout:[81,5,1,""],FlyteTypeException:[81,5,1,""],FlyteUserException:[81,5,1,""],FlyteValidationException:[81,5,1,""],FlyteValueException:[81,5,1,""]},"flytekit.common.interface":{BindingData:[79,1,1,""],TypedInterface:[79,1,1,""]},"flytekit.common.interface.BindingData":{from_python_std:[79,2,1,""],promote_from_model:[79,2,1,""]},"flytekit.common.interface.TypedInterface":{create_bindings_for_inputs:[79,2,1,""],promote_from_model:[79,2,1,""]},"flytekit.common.launch_plan":{SdkLaunchPlan:[79,1,1,""],SdkRunnableLaunchPlan:[79,1,1,""]},"flytekit.common.launch_plan.SdkLaunchPlan":{"interface":[79,2,1,""],auth_role:[79,2,1,""],entity_type_text:[79,2,1,""],execute_with_literals:[79,2,1,""],fetch:[79,2,1,""],id:[79,2,1,""],is_scheduled:[79,2,1,""],launch_with_literals:[79,2,1,""],promote_from_model:[79,2,1,""],raw_output_data_config:[79,2,1,""],resource_type:[79,2,1,""],update:[79,2,1,""],validate:[79,2,1,""]},"flytekit.common.launch_plan.SdkRunnableLaunchPlan":{"interface":[79,2,1,""],fetch:[79,2,1,""],from_flyte_idl:[79,2,1,""],promote_from_model:[79,2,1,""],register:[79,2,1,""],serialize:[79,2,1,""],upstream_entities:[79,2,1,""],workflow_id:[79,2,1,""]},"flytekit.common.mixins":{artifact:[82,0,0,"-"],hash:[82,0,0,"-"],launchable:[82,0,0,"-"],registerable:[82,0,0,"-"]},"flytekit.common.mixins.artifact":{ExecutionArtifact:[82,1,1,""]},"flytekit.common.mixins.artifact.ExecutionArtifact":{error:[82,2,1,""],inputs:[82,2,1,""],is_complete:[82,2,1,""],outputs:[82,2,1,""],sync:[82,2,1,""],wait_for_completion:[82,2,1,""]},"flytekit.common.mixins.hash":{HashOnReferenceMixin:[82,1,1,""]},"flytekit.common.mixins.launchable":{LaunchableEntity:[82,1,1,""]},"flytekit.common.mixins.launchable.LaunchableEntity":{execute:[82,2,1,""],execute_with_literals:[82,2,1,""],launch:[82,2,1,""],launch_with_literals:[82,2,1,""]},"flytekit.common.mixins.registerable":{RegisterableEntity:[82,1,1,""]},"flytekit.common.mixins.registerable.RegisterableEntity":{auto_assign_name:[82,2,1,""],entity_type_text:[82,2,1,""],has_valid_name:[82,2,1,""],instantiated_in:[82,2,1,""],platform_valid_name:[82,2,1,""],register:[82,2,1,""],resource_type:[82,2,1,""],serialize:[82,2,1,""],upstream_entities:[82,2,1,""]},"flytekit.common.nodes":{OutputParameterMapper:[79,1,1,""],ParameterMapper:[79,1,1,""],SdkNode:[79,1,1,""],SdkNodeExecution:[79,1,1,""]},"flytekit.common.nodes.SdkNode":{assign_id_and_return:[79,2,1,""],executable_sdk_object:[79,2,1,""],outputs:[79,2,1,""],promote_from_model:[79,2,1,""],upstream_node_ids:[79,2,1,""],upstream_nodes:[79,2,1,""],with_overrides:[79,2,1,""]},"flytekit.common.nodes.SdkNodeExecution":{error:[79,2,1,""],executions:[79,2,1,""],inputs:[79,2,1,""],is_complete:[79,2,1,""],outputs:[79,2,1,""],promote_from_model:[79,2,1,""],sync:[79,2,1,""],task_executions:[79,2,1,""],workflow_executions:[79,2,1,""]},"flytekit.common.notifications":{Email:[79,1,1,""],Notification:[79,1,1,""],PagerDuty:[79,1,1,""],Slack:[79,1,1,""]},"flytekit.common.notifications.Email":{promote_from_model:[79,2,1,""]},"flytekit.common.notifications.Notification":{VALID_PHASES:[79,4,1,""],from_flyte_idl:[79,2,1,""]},"flytekit.common.notifications.PagerDuty":{promote_from_model:[79,2,1,""]},"flytekit.common.notifications.Slack":{promote_from_model:[79,2,1,""]},"flytekit.common.promise":{Input:[79,1,1,""],NodeOutput:[79,1,1,""]},"flytekit.common.promise.Input":{help:[79,2,1,""],name:[79,2,1,""],promise:[79,2,1,""],promote_from_model:[79,2,1,""],rename_and_return_reference:[79,2,1,""],sdk_default:[79,2,1,""],sdk_required:[79,2,1,""],sdk_type:[79,2,1,""]},"flytekit.common.promise.NodeOutput":{node_id:[79,2,1,""],promote_from_model:[79,2,1,""],sdk_node:[79,2,1,""],sdk_type:[79,2,1,""]},"flytekit.common.schedules":{CronSchedule:[79,1,1,""],FixedRate:[79,1,1,""]},"flytekit.common.schedules.CronSchedule":{promote_from_model:[79,2,1,""]},"flytekit.common.schedules.FixedRate":{promote_from_model:[79,2,1,""]},"flytekit.common.sdk_bases":{ExtendedSdkType:[79,1,1,""]},"flytekit.common.sdk_bases.ExtendedSdkType":{from_flyte_idl:[79,2,1,""],promote_from_model:[79,2,1,""]},"flytekit.common.tasks":{executions:[83,0,0,"-"],generic_spark_task:[83,0,0,"-"],hive_task:[83,0,0,"-"],output:[83,0,0,"-"],presto_task:[83,0,0,"-"],pytorch_task:[83,0,0,"-"],raw_container:[83,0,0,"-"],sagemaker:[84,0,0,"-"],sdk_dynamic:[83,0,0,"-"],sdk_runnable:[83,0,0,"-"],sidecar_task:[83,0,0,"-"],spark_task:[83,0,0,"-"],task:[83,0,0,"-"]},"flytekit.common.tasks.executions":{SdkTaskExecution:[83,1,1,""]},"flytekit.common.tasks.executions.SdkTaskExecution":{error:[83,2,1,""],get_child_executions:[83,2,1,""],inputs:[83,2,1,""],is_complete:[83,2,1,""],outputs:[83,2,1,""],promote_from_model:[83,2,1,""],sync:[83,2,1,""]},"flytekit.common.tasks.generic_spark_task":{SdkGenericSparkTask:[83,1,1,""]},"flytekit.common.tasks.generic_spark_task.SdkGenericSparkTask":{add_inputs:[83,2,1,""]},"flytekit.common.tasks.hive_task":{SdkHiveJob:[83,1,1,""],SdkHiveTask:[83,1,1,""]},"flytekit.common.tasks.hive_task.SdkHiveTask":{execute:[83,2,1,""]},"flytekit.common.tasks.output":{OutputReference:[83,1,1,""]},"flytekit.common.tasks.output.OutputReference":{sdk_type:[83,2,1,""],sdk_value:[83,2,1,""],set:[83,2,1,""],value:[83,2,1,""]},"flytekit.common.tasks.presto_task":{SdkPrestoTask:[83,1,1,""]},"flytekit.common.tasks.presto_task.SdkPrestoTask":{add_inputs:[83,2,1,""],catalog:[83,2,1,""],routing_group:[83,2,1,""],schema:[83,2,1,""]},"flytekit.common.tasks.pytorch_task":{SdkPyTorchTask:[83,1,1,""],SdkRunnablePytorchContainer:[83,1,1,""]},"flytekit.common.tasks.pytorch_task.SdkRunnablePytorchContainer":{args:[83,2,1,""]},"flytekit.common.tasks.raw_container":{SdkRawContainerTask:[83,1,1,""],types_to_variable:[83,3,1,""]},"flytekit.common.tasks.raw_container.SdkRawContainerTask":{METADATA_FORMAT_JSON:[83,4,1,""],METADATA_FORMAT_PROTO:[83,4,1,""],METADATA_FORMAT_YAML:[83,4,1,""],add_inputs:[83,2,1,""],add_outputs:[83,2,1,""]},"flytekit.common.tasks.sagemaker":{built_in_training_job_task:[84,0,0,"-"],custom_training_job_task:[84,0,0,"-"],hpo_job_task:[84,0,0,"-"]},"flytekit.common.tasks.sagemaker.built_in_training_job_task":{SdkBuiltinAlgorithmTrainingJobTask:[84,1,1,""]},"flytekit.common.tasks.sagemaker.built_in_training_job_task.SdkBuiltinAlgorithmTrainingJobTask":{training_job_model:[84,2,1,""]},"flytekit.common.tasks.sagemaker.custom_training_job_task":{CustomTrainingJobTask:[84,1,1,""]},"flytekit.common.tasks.sagemaker.custom_training_job_task.CustomTrainingJobTask":{training_job_model:[84,2,1,""]},"flytekit.common.tasks.sagemaker.hpo_job_task":{SdkSimpleHyperparameterTuningJobTask:[84,1,1,""]},"flytekit.common.tasks.sdk_dynamic":{PromiseOutputReference:[83,1,1,""],SdkDynamicTask:[83,1,1,""],SdkDynamicTaskMixin:[83,1,1,""]},"flytekit.common.tasks.sdk_dynamic.PromiseOutputReference":{raw_value:[83,2,1,""],set:[83,2,1,""]},"flytekit.common.tasks.sdk_dynamic.SdkDynamicTaskMixin":{execute:[83,2,1,""]},"flytekit.common.tasks.sdk_runnable":{ExecutionParameters:[83,1,1,""],SdkRunnableContainer:[83,1,1,""],SdkRunnableTask:[83,1,1,""]},"flytekit.common.tasks.sdk_runnable.ExecutionParameters":{execution_date:[83,2,1,""],execution_id:[83,2,1,""],logging:[83,2,1,""],stats:[83,2,1,""],working_directory:[83,2,1,""]},"flytekit.common.tasks.sdk_runnable.SdkRunnableContainer":{args:[83,2,1,""],env:[83,2,1,""],image:[83,2,1,""]},"flytekit.common.tasks.sdk_runnable.SdkRunnableTask":{add_inputs:[83,2,1,""],execute:[83,2,1,""],local_execute:[83,2,1,""],promote_from_model:[83,2,1,""],task_function:[83,2,1,""],task_function_name:[83,2,1,""],task_module:[83,2,1,""],unit_test:[83,2,1,""],validate:[83,2,1,""]},"flytekit.common.tasks.sidecar_task":{SdkDynamicSidecarTask:[83,1,1,""],SdkSidecarTask:[83,1,1,""]},"flytekit.common.tasks.sidecar_task.SdkSidecarTask":{reconcile_partial_pod_spec_and_task:[83,2,1,""]},"flytekit.common.tasks.spark_task":{GlobalSparkContext:[83,1,1,""],SdkRunnableSparkContainer:[83,1,1,""],SdkSparkTask:[83,1,1,""]},"flytekit.common.tasks.spark_task.GlobalSparkContext":{get_spark_context:[83,2,1,""]},"flytekit.common.tasks.spark_task.SdkRunnableSparkContainer":{args:[83,2,1,""]},"flytekit.common.tasks.spark_task.SdkSparkTask":{execute:[83,2,1,""]},"flytekit.common.tasks.task":{SdkTask:[83,1,1,""]},"flytekit.common.tasks.task.SdkTask":{"interface":[83,2,1,""],add_inputs:[83,2,1,""],add_outputs:[83,2,1,""],assign_custom_and_return:[83,2,1,""],assign_type_and_return:[83,2,1,""],entity_type_text:[83,2,1,""],fetch:[83,2,1,""],fetch_latest:[83,2,1,""],launch_with_literals:[83,2,1,""],promote_from_model:[83,2,1,""],register:[83,2,1,""],register_and_launch:[83,2,1,""],resource_type:[83,2,1,""],serialize:[83,2,1,""],upstream_entities:[83,2,1,""],validate:[83,2,1,""]},"flytekit.common.types":{base_sdk_types:[85,0,0,"-"],blobs:[85,0,0,"-"],containers:[85,0,0,"-"],helpers:[85,0,0,"-"],impl:[86,0,0,"-"],primitives:[85,0,0,"-"],proto:[85,0,0,"-"],schema:[85,0,0,"-"]},"flytekit.common.types.base_sdk_types":{FlyteSdkType:[85,1,1,""],FlyteSdkValue:[85,1,1,""],InstantiableType:[85,1,1,""],Void:[85,1,1,""]},"flytekit.common.types.base_sdk_types.FlyteSdkType":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],to_flyte_literal_type:[85,2,1,""]},"flytekit.common.types.base_sdk_types.FlyteSdkValue":{from_flyte_idl:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.base_sdk_types.Void":{from_python_std:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.blobs":{Blob:[85,1,1,""],BlobInstantiator:[85,1,1,""],CSV:[85,1,1,""],CsvInstantiator:[85,1,1,""],MultiPartBlob:[85,1,1,""],MultiPartBlobInstantiator:[85,1,1,""],MultiPartCSV:[85,1,1,""],MultiPartCsvInstantiator:[85,1,1,""]},"flytekit.common.types.blobs.Blob":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.blobs.BlobInstantiator":{create_at_known_location:[85,2,1,""],fetch:[85,2,1,""]},"flytekit.common.types.blobs.CSV":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""]},"flytekit.common.types.blobs.CsvInstantiator":{create_at_known_location:[85,2,1,""],fetch:[85,2,1,""]},"flytekit.common.types.blobs.MultiPartBlob":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.blobs.MultiPartBlobInstantiator":{create_at_known_location:[85,2,1,""],fetch:[85,2,1,""]},"flytekit.common.types.blobs.MultiPartCSV":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""]},"flytekit.common.types.blobs.MultiPartCsvInstantiator":{create_at_known_location:[85,2,1,""],fetch:[85,2,1,""]},"flytekit.common.types.containers":{CollectionType:[85,1,1,""],List:[85,3,1,""],ListImpl:[85,1,1,""],TypedCollectionType:[85,1,1,""],TypedListImpl:[85,1,1,""]},"flytekit.common.types.containers.TypedCollectionType":{sub_type:[85,2,1,""]},"flytekit.common.types.containers.TypedListImpl":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""],verbose_string:[85,2,1,""]},"flytekit.common.types.helpers":{get_sdk_type_from_literal_type:[85,3,1,""],get_sdk_value_from_literal:[85,3,1,""],infer_sdk_type_from_literal:[85,3,1,""],pack_python_std_map_to_literal_map:[85,3,1,""],python_std_to_sdk_type:[85,3,1,""],unpack_literal_map_to_sdk_object:[85,3,1,""],unpack_literal_map_to_sdk_python_std:[85,3,1,""]},"flytekit.common.types.impl":{blobs:[86,0,0,"-"],schema:[86,0,0,"-"]},"flytekit.common.types.impl.blobs":{Blob:[86,1,1,""],MultiPartBlob:[86,1,1,""]},"flytekit.common.types.impl.blobs.Blob":{create_at_any_location:[86,2,1,""],create_at_known_location:[86,2,1,""],download:[86,2,1,""],fetch:[86,2,1,""],from_python_std:[86,2,1,""],from_string:[86,2,1,""],local_path:[86,2,1,""],mode:[86,2,1,""],promote_from_model:[86,2,1,""],remote_location:[86,2,1,""],upload:[86,2,1,""]},"flytekit.common.types.impl.blobs.MultiPartBlob":{create_at_any_location:[86,2,1,""],create_at_known_location:[86,2,1,""],create_part:[86,2,1,""],download:[86,2,1,""],fetch:[86,2,1,""],from_python_std:[86,2,1,""],from_string:[86,2,1,""],local_path:[86,2,1,""],mode:[86,2,1,""],promote_from_model:[86,2,1,""],remote_location:[86,2,1,""],upload:[86,2,1,""]},"flytekit.common.types.impl.schema":{Schema:[86,1,1,""],SchemaType:[86,1,1,""],get_supported_literal_types_to_pandas_types:[86,3,1,""]},"flytekit.common.types.impl.schema.Schema":{cast_to:[86,2,1,""],compare_dataframe_to_schema:[86,2,1,""],create_at_any_location:[86,2,1,""],create_at_known_location:[86,2,1,""],create_from_hive_query:[86,2,1,""],download:[86,2,1,""],fetch:[86,2,1,""],from_python_std:[86,2,1,""],from_string:[86,2,1,""],get_write_partition_to_hive_table_query:[86,2,1,""],local_path:[86,2,1,""],mode:[86,2,1,""],multipart_blob:[86,2,1,""],promote_from_model:[86,2,1,""],remote_location:[86,2,1,""],remote_prefix:[86,2,1,""],type:[86,2,1,""],upload:[86,2,1,""],uri:[86,2,1,""]},"flytekit.common.types.impl.schema.SchemaType":{columns:[86,2,1,""],promote_from_model:[86,2,1,""],sdk_columns:[86,2,1,""]},"flytekit.common.types.primitives":{Boolean:[85,1,1,""],Datetime:[85,1,1,""],Float:[85,1,1,""],Generic:[85,1,1,""],Integer:[85,1,1,""],String:[85,1,1,""],Timedelta:[85,1,1,""]},"flytekit.common.types.primitives.Boolean":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.primitives.Datetime":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.primitives.Float":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.primitives.Generic":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],long_string:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.primitives.Integer":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.primitives.String":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""],verbose_string:[85,2,1,""]},"flytekit.common.types.primitives.Timedelta":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.proto":{Protobuf:[85,1,1,""],ProtobufType:[85,1,1,""],create_protobuf:[85,3,1,""]},"flytekit.common.types.proto.Protobuf":{PB_FIELD_KEY:[85,4,1,""],TAG_PREFIX:[85,4,1,""],from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.proto.ProtobufType":{descriptor:[85,2,1,""],pb_type:[85,2,1,""],tag:[85,2,1,""]},"flytekit.common.types.schema":{Schema:[85,1,1,""],SchemaInstantiator:[85,1,1,""],schema_instantiator:[85,3,1,""],schema_instantiator_from_proto:[85,3,1,""]},"flytekit.common.types.schema.Schema":{from_python_std:[85,2,1,""],from_string:[85,2,1,""],is_castable_from:[85,2,1,""],promote_from_model:[85,2,1,""],short_class_string:[85,2,1,""],short_string:[85,2,1,""],to_flyte_literal_type:[85,2,1,""],to_python_std:[85,2,1,""]},"flytekit.common.types.schema.SchemaInstantiator":{columns:[85,2,1,""],create:[85,2,1,""],create_at_known_location:[85,2,1,""],create_from_hive_query:[85,2,1,""],fetch:[85,2,1,""],schema_type:[85,2,1,""]},"flytekit.common.utils":{AutoDeletingTempDir:[79,1,1,""],Directory:[79,1,1,""],ExitStack:[79,1,1,""],PerformanceTimer:[79,1,1,""],fqdn:[79,3,1,""],fqdn_safe:[79,3,1,""],get_version_message:[79,3,1,""],load_proto_from_file:[79,3,1,""],write_proto_to_file:[79,3,1,""]},"flytekit.common.utils.AutoDeletingTempDir":{force_cleanup:[79,2,1,""],get_named_tempfile:[79,2,1,""]},"flytekit.common.utils.Directory":{list_dir:[79,2,1,""],name:[79,2,1,""]},"flytekit.common.utils.ExitStack":{enter_context:[79,2,1,""],pop_all:[79,2,1,""]},"flytekit.common.workflow":{Output:[79,1,1,""],SdkWorkflow:[79,1,1,""],build_sdk_workflow_from_metaclass:[79,3,1,""]},"flytekit.common.workflow.Output":{"var":[79,2,1,""],binding_data:[79,2,1,""],name:[79,2,1,""],rename_and_return_reference:[79,2,1,""]},"flytekit.common.workflow.SdkWorkflow":{"interface":[79,2,1,""],create_launch_plan:[79,2,1,""],entity_type_text:[79,2,1,""],fetch:[79,2,1,""],get_non_system_nodes:[79,2,1,""],get_sub_workflows:[79,2,1,""],promote_from_model:[79,2,1,""],register:[79,2,1,""],resource_type:[79,2,1,""],serialize:[79,2,1,""],should_create_default_launch_plan:[79,2,1,""],upstream_entities:[79,2,1,""],user_inputs:[79,2,1,""],validate:[79,2,1,""]},"flytekit.common.workflow_execution":{SdkWorkflowExecution:[79,1,1,""]},"flytekit.common.workflow_execution.SdkWorkflowExecution":{error:[79,2,1,""],fetch:[79,2,1,""],get_node_executions:[79,2,1,""],inputs:[79,2,1,""],is_complete:[79,2,1,""],node_executions:[79,2,1,""],outputs:[79,2,1,""],promote_from_model:[79,2,1,""],sync:[79,2,1,""],terminate:[79,2,1,""]},"flytekit.configuration":{TemporaryConfiguration:[87,1,1,""],auth:[87,0,0,"-"],aws:[87,0,0,"-"],common:[87,0,0,"-"],creds:[87,0,0,"-"],gcp:[87,0,0,"-"],internal:[87,0,0,"-"],platform:[87,0,0,"-"],resources:[87,0,0,"-"],sdk:[87,0,0,"-"],set_flyte_config_file:[87,3,1,""],statsd:[87,0,0,"-"]},"flytekit.configuration.auth":{ASSUMABLE_IAM_ROLE:[87,6,1,""],KUBERNETES_SERVICE_ACCOUNT:[87,6,1,""],RAW_OUTPUT_DATA_PREFIX:[87,6,1,""]},"flytekit.configuration.common":{FlyteBoolConfigurationEntry:[87,1,1,""],FlyteConfigurationFile:[87,1,1,""],FlyteIntegerConfigurationEntry:[87,1,1,""],FlyteRequiredBoolConfigurationEntry:[87,1,1,""],FlyteRequiredIntegerConfigurationEntry:[87,1,1,""],FlyteRequiredStringConfigurationEntry:[87,1,1,""],FlyteRequiredStringListConfigurationEntry:[87,1,1,""],FlyteStringConfigurationEntry:[87,1,1,""],FlyteStringListConfigurationEntry:[87,1,1,""],format_section_key:[87,3,1,""]},"flytekit.configuration.common.FlyteConfigurationFile":{get_bool:[87,2,1,""],get_int:[87,2,1,""],get_string:[87,2,1,""],reset_config:[87,2,1,""]},"flytekit.configuration.creds":{AUTHORIZATION_METADATA_KEY:[87,6,1,""],AUTH_MODE:[87,6,1,""],CLIENT_CREDENTIALS_SCOPE:[87,6,1,""],CLIENT_CREDENTIALS_SECRET:[87,6,1,""],CLIENT_ID:[87,6,1,""],REDIRECT_URI:[87,6,1,""]},"flytekit.configuration.internal":{look_up_version_from_image_tag:[87,3,1,""]},"flytekit.configuration.platform":{AUTH:[87,6,1,""],HTTP_URL:[87,6,1,""]},"flytekit.configuration.resources":{DEFAULT_CPU_LIMIT:[87,6,1,""],DEFAULT_CPU_REQUEST:[87,6,1,""],DEFAULT_GPU_LIMIT:[87,6,1,""],DEFAULT_GPU_REQUEST:[87,6,1,""],DEFAULT_MEMORY_LIMIT:[87,6,1,""],DEFAULT_MEMORY_REQUEST:[87,6,1,""],DEFAULT_STORAGE_LIMIT:[87,6,1,""],DEFAULT_STORAGE_REQUEST:[87,6,1,""]},"flytekit.configuration.sdk":{EXECUTION_ENGINE:[87,6,1,""],LAUNCH_PLAN_NAME_FORMAT:[87,6,1,""],LOCAL_SANDBOX:[87,6,1,""],LOGGING_LEVEL:[87,6,1,""],NAME_FORMAT:[87,6,1,""],PARQUET_ENGINE:[87,6,1,""],ROLE:[87,6,1,""],SDK_PYTHON_VENV:[87,6,1,""],TASK_NAME_FORMAT:[87,6,1,""],TYPE_ENGINES:[87,6,1,""],WORKFLOW_NAME_FORMAT:[87,6,1,""],WORKFLOW_PACKAGES:[87,6,1,""]},"flytekit.contrib":{notebook:[89,0,0,"-"],sensors:[90,0,0,"-"]},"flytekit.contrib.notebook":{helper:[89,0,0,"-"],supported_types:[89,0,0,"-"],tasks:[89,0,0,"-"]},"flytekit.contrib.notebook.helper":{get_spark_context:[89,3,1,""],record_outputs:[89,3,1,""]},"flytekit.contrib.notebook.tasks":{SdkNotebookSparkTask:[89,1,1,""],SdkNotebookTask:[89,1,1,""],python_notebook:[89,3,1,""],spark_notebook:[89,3,1,""]},"flytekit.contrib.notebook.tasks.SdkNotebookTask":{add_inputs:[89,2,1,""],add_outputs:[89,2,1,""],container:[89,2,1,""],execute:[89,2,1,""],local_execute:[89,2,1,""],unit_test:[89,2,1,""]},"flytekit.contrib.sensors":{base_sensor:[90,0,0,"-"],impl:[90,0,0,"-"],task:[90,0,0,"-"]},"flytekit.contrib.sensors.base_sensor":{Sensor:[90,1,1,""]},"flytekit.contrib.sensors.base_sensor.Sensor":{sense:[90,2,1,""],sense_with_wait_hint:[90,2,1,""]},"flytekit.contrib.sensors.impl":{HiveFilteredPartitionSensor:[90,1,1,""],HiveNamedPartitionSensor:[90,1,1,""],HiveTableSensor:[90,1,1,""]},"flytekit.contrib.sensors.task":{SensorTask:[90,1,1,""],sensor_task:[90,3,1,""]},"flytekit.engines":{common:[91,0,0,"-"],flyte:[92,0,0,"-"],loader:[91,0,0,"-"],unit:[93,0,0,"-"]},"flytekit.engines.common":{BaseExecutionEngineFactory:[91,1,1,""],BaseLaunchPlanLauncher:[91,1,1,""],BaseNodeExecution:[91,1,1,""],BaseTaskExecution:[91,1,1,""],BaseTaskExecutor:[91,1,1,""],BaseWorkflowExecution:[91,1,1,""],BaseWorkflowExecutor:[91,1,1,""],EngineContext:[91,1,1,""]},"flytekit.engines.common.BaseExecutionEngineFactory":{fetch_latest_task:[91,2,1,""],fetch_launch_plan:[91,2,1,""],fetch_task:[91,2,1,""],fetch_workflow:[91,2,1,""],fetch_workflow_execution:[91,2,1,""],get_launch_plan:[91,2,1,""],get_node_execution:[91,2,1,""],get_task:[91,2,1,""],get_task_execution:[91,2,1,""],get_workflow:[91,2,1,""],get_workflow_execution:[91,2,1,""]},"flytekit.engines.common.BaseLaunchPlanLauncher":{launch:[91,2,1,""],register:[91,2,1,""],sdk_launch_plan:[91,2,1,""],update:[91,2,1,""]},"flytekit.engines.common.BaseNodeExecution":{get_inputs:[91,2,1,""],get_outputs:[91,2,1,""],get_subworkflow_executions:[91,2,1,""],get_task_executions:[91,2,1,""],sdk_node_execution:[91,2,1,""],sync:[91,2,1,""]},"flytekit.engines.common.BaseTaskExecution":{get_child_executions:[91,2,1,""],get_inputs:[91,2,1,""],get_outputs:[91,2,1,""],sdk_task_execution:[91,2,1,""],sync:[91,2,1,""]},"flytekit.engines.common.BaseTaskExecutor":{execute:[91,2,1,""],launch:[91,2,1,""],register:[91,2,1,""],sdk_task:[91,2,1,""]},"flytekit.engines.common.BaseWorkflowExecution":{get_inputs:[91,2,1,""],get_node_executions:[91,2,1,""],get_outputs:[91,2,1,""],sdk_workflow_execution:[91,2,1,""],sync:[91,2,1,""],terminate:[91,2,1,""]},"flytekit.engines.common.BaseWorkflowExecutor":{register:[91,2,1,""],sdk_workflow:[91,2,1,""]},"flytekit.engines.common.EngineContext":{execution_date:[91,2,1,""],execution_id:[91,2,1,""],logging:[91,2,1,""],raw_output_data_prefix:[91,2,1,""],stats:[91,2,1,""],working_directory:[91,2,1,""]},"flytekit.engines.flyte":{engine:[92,0,0,"-"]},"flytekit.engines.flyte.engine":{FlyteEngineFactory:[92,1,1,""],FlyteLaunchPlan:[92,1,1,""],FlyteNodeExecution:[92,1,1,""],FlyteTask:[92,1,1,""],FlyteTaskExecution:[92,1,1,""],FlyteWorkflow:[92,1,1,""],FlyteWorkflowExecution:[92,1,1,""]},"flytekit.engines.flyte.engine.FlyteEngineFactory":{fetch_latest_task:[92,2,1,""],fetch_launch_plan:[92,2,1,""],fetch_task:[92,2,1,""],fetch_workflow:[92,2,1,""],fetch_workflow_execution:[92,2,1,""],get_launch_plan:[92,2,1,""],get_node_execution:[92,2,1,""],get_task:[92,2,1,""],get_task_execution:[92,2,1,""],get_workflow:[92,2,1,""],get_workflow_execution:[92,2,1,""]},"flytekit.engines.flyte.engine.FlyteLaunchPlan":{execute:[92,2,1,""],launch:[92,2,1,""],register:[92,2,1,""],update:[92,2,1,""]},"flytekit.engines.flyte.engine.FlyteNodeExecution":{get_inputs:[92,2,1,""],get_outputs:[92,2,1,""],get_subworkflow_executions:[92,2,1,""],get_task_executions:[92,2,1,""],sync:[92,2,1,""]},"flytekit.engines.flyte.engine.FlyteTask":{execute:[92,2,1,""],launch:[92,2,1,""],register:[92,2,1,""]},"flytekit.engines.flyte.engine.FlyteTaskExecution":{get_child_executions:[92,2,1,""],get_inputs:[92,2,1,""],get_outputs:[92,2,1,""],sync:[92,2,1,""]},"flytekit.engines.flyte.engine.FlyteWorkflow":{register:[92,2,1,""]},"flytekit.engines.flyte.engine.FlyteWorkflowExecution":{get_inputs:[92,2,1,""],get_node_executions:[92,2,1,""],get_outputs:[92,2,1,""],sync:[92,2,1,""],terminate:[92,2,1,""]},"flytekit.engines.loader":{get_engine:[91,3,1,""]},"flytekit.engines.unit":{engine:[93,0,0,"-"],mock_stats:[93,0,0,"-"]},"flytekit.engines.unit.engine":{DynamicTask:[93,1,1,""],HiveTask:[93,1,1,""],ReturnOutputsTask:[93,1,1,""],UnitTestEngineFactory:[93,1,1,""],UnitTestEngineTask:[93,1,1,""]},"flytekit.engines.unit.engine.DynamicTask":{execute_array_task:[93,2,1,""],fulfil_bindings:[93,2,1,""],has_workflow_node:[93,2,1,""]},"flytekit.engines.unit.engine.UnitTestEngineFactory":{fetch_latest_task:[93,2,1,""],fetch_launch_plan:[93,2,1,""],fetch_task:[93,2,1,""],fetch_workflow:[93,2,1,""],fetch_workflow_execution:[93,2,1,""],get_launch_plan:[93,2,1,""],get_node_execution:[93,2,1,""],get_task:[93,2,1,""],get_task_execution:[93,2,1,""],get_workflow:[93,2,1,""],get_workflow_execution:[93,2,1,""]},"flytekit.engines.unit.engine.UnitTestEngineTask":{execute:[93,2,1,""],launch:[93,2,1,""],register:[93,2,1,""]},"flytekit.engines.unit.mock_stats":{MockStats:[93,1,1,""]},"flytekit.engines.unit.mock_stats.MockStats":{current_tags:[93,2,1,""],current_value:[93,2,1,""],decr:[93,2,1,""],gauge:[93,2,1,""],incr:[93,2,1,""],timer:[93,2,1,""],timing:[93,2,1,""]},"flytekit.interfaces":{data:[95,0,0,"-"],random:[94,0,0,"-"],stats:[100,0,0,"-"]},"flytekit.interfaces.data":{common:[95,0,0,"-"],data_proxy:[95,0,0,"-"],gcs:[96,0,0,"-"],http:[97,0,0,"-"],local:[98,0,0,"-"],s3:[99,0,0,"-"]},"flytekit.interfaces.data.common":{DataProxy:[95,1,1,""]},"flytekit.interfaces.data.common.DataProxy":{download:[95,2,1,""],download_directory:[95,2,1,""],exists:[95,2,1,""],get_random_directory:[95,2,1,""],get_random_path:[95,2,1,""],upload:[95,2,1,""],upload_directory:[95,2,1,""]},"flytekit.interfaces.data.data_proxy":{Data:[95,1,1,""],LocalDataContext:[95,1,1,""],LocalWorkingDirectoryContext:[95,1,1,""],RemoteDataContext:[95,1,1,""]},"flytekit.interfaces.data.data_proxy.Data":{data_exists:[95,2,1,""],get_data:[95,2,1,""],get_remote_directory:[95,2,1,""],get_remote_path:[95,2,1,""],put_data:[95,2,1,""]},"flytekit.interfaces.data.data_proxy.LocalWorkingDirectoryContext":{get:[95,2,1,""]},"flytekit.interfaces.data.gcs":{gcs_proxy:[96,0,0,"-"]},"flytekit.interfaces.data.gcs.gcs_proxy":{GCSProxy:[96,1,1,""]},"flytekit.interfaces.data.gcs.gcs_proxy.GCSProxy":{download:[96,2,1,""],download_directory:[96,2,1,""],exists:[96,2,1,""],get_random_directory:[96,2,1,""],get_random_path:[96,2,1,""],raw_output_data_prefix_override:[96,2,1,""],upload:[96,2,1,""],upload_directory:[96,2,1,""]},"flytekit.interfaces.data.http":{http_data_proxy:[97,0,0,"-"]},"flytekit.interfaces.data.http.http_data_proxy":{HttpFileProxy:[97,1,1,""]},"flytekit.interfaces.data.http.http_data_proxy.HttpFileProxy":{download:[97,2,1,""],download_directory:[97,2,1,""],exists:[97,2,1,""],get_random_directory:[97,2,1,""],get_random_path:[97,2,1,""],upload:[97,2,1,""],upload_directory:[97,2,1,""]},"flytekit.interfaces.data.local":{local_file_proxy:[98,0,0,"-"]},"flytekit.interfaces.data.local.local_file_proxy":{LocalFileProxy:[98,1,1,""]},"flytekit.interfaces.data.local.local_file_proxy.LocalFileProxy":{download:[98,2,1,""],download_directory:[98,2,1,""],exists:[98,2,1,""],get_random_directory:[98,2,1,""],get_random_path:[98,2,1,""],upload:[98,2,1,""],upload_directory:[98,2,1,""]},"flytekit.interfaces.data.s3":{s3proxy:[99,0,0,"-"]},"flytekit.interfaces.data.s3.s3proxy":{AwsS3Proxy:[99,1,1,""]},"flytekit.interfaces.data.s3.s3proxy.AwsS3Proxy":{download:[99,2,1,""],download_directory:[99,2,1,""],exists:[99,2,1,""],get_random_directory:[99,2,1,""],get_random_path:[99,2,1,""],raw_output_data_prefix_override:[99,2,1,""],upload:[99,2,1,""],upload_directory:[99,2,1,""]},"flytekit.interfaces.random":{random:[94,6,1,""],seed_flyte_random:[94,3,1,""]},"flytekit.interfaces.stats":{client:[100,0,0,"-"],taggable:[100,0,0,"-"]},"flytekit.interfaces.stats.client":{DummyStatsClient:[100,1,1,""],ScopeableStatsProxy:[100,1,1,""],StatsClientProxy:[100,1,1,""],get_base_stats:[100,3,1,""],get_stats:[100,3,1,""]},"flytekit.interfaces.stats.client.ScopeableStatsProxy":{EXTENDABLE_FUNC:[100,4,1,""],get_stats:[100,2,1,""],pipeline:[100,2,1,""]},"flytekit.interfaces.stats.taggable":{TaggableStats:[100,1,1,""],get_stats:[100,3,1,""]},"flytekit.interfaces.stats.taggable.TaggableStats":{EXTENDABLE_FUNC:[100,4,1,""],clear_tags:[100,2,1,""],extend_tags:[100,2,1,""],full_prefix:[100,2,1,""],get_stats:[100,2,1,""],pipeline:[100,2,1,""]},"flytekit.models":{"interface":[101,0,0,"-"],admin:[102,0,0,"-"],array_job:[101,0,0,"-"],common:[101,0,0,"-"],core:[103,0,0,"-"],dynamic_job:[101,0,0,"-"],execution:[101,0,0,"-"],filters:[101,0,0,"-"],launch_plan:[101,0,0,"-"],literals:[101,0,0,"-"],matchable_resource:[101,0,0,"-"],named_entity:[101,0,0,"-"],node_execution:[101,0,0,"-"],presto:[101,0,0,"-"],project:[101,0,0,"-"],qubole:[101,0,0,"-"],sagemaker:[104,0,0,"-"],schedule:[101,0,0,"-"],task:[101,0,0,"-"],types:[101,0,0,"-"],workflow_closure:[101,0,0,"-"]},"flytekit.models.admin":{common:[102,0,0,"-"],task_execution:[102,0,0,"-"],workflow:[102,0,0,"-"]},"flytekit.models.admin.common":{Sort:[102,1,1,""]},"flytekit.models.admin.common.Sort":{Direction:[102,1,1,""],direction:[102,2,1,""],from_flyte_idl:[102,2,1,""],from_python_std:[102,2,1,""],key:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.admin.common.Sort.Direction":{ASCENDING:[102,4,1,""],DESCENDING:[102,4,1,""]},"flytekit.models.admin.task_execution":{TaskExecution:[102,1,1,""],TaskExecutionClosure:[102,1,1,""]},"flytekit.models.admin.task_execution.TaskExecution":{closure:[102,2,1,""],from_flyte_idl:[102,2,1,""],id:[102,2,1,""],input_uri:[102,2,1,""],is_parent:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.admin.task_execution.TaskExecutionClosure":{created_at:[102,2,1,""],duration:[102,2,1,""],error:[102,2,1,""],from_flyte_idl:[102,2,1,""],logs:[102,2,1,""],output_uri:[102,2,1,""],phase:[102,2,1,""],started_at:[102,2,1,""],to_flyte_idl:[102,2,1,""],updated_at:[102,2,1,""]},"flytekit.models.admin.workflow":{Workflow:[102,1,1,""],WorkflowClosure:[102,1,1,""],WorkflowSpec:[102,1,1,""]},"flytekit.models.admin.workflow.Workflow":{closure:[102,2,1,""],from_flyte_idl:[102,2,1,""],id:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.admin.workflow.WorkflowClosure":{compiled_workflow:[102,2,1,""],from_flyte_idl:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.admin.workflow.WorkflowSpec":{from_flyte_idl:[102,2,1,""],sub_workflows:[102,2,1,""],template:[102,2,1,""],to_flyte_idl:[102,2,1,""]},"flytekit.models.array_job":{ArrayJob:[101,1,1,""]},"flytekit.models.array_job.ArrayJob":{from_dict:[101,2,1,""],min_successes:[101,2,1,""],parallelism:[101,2,1,""],size:[101,2,1,""],to_dict:[101,2,1,""]},"flytekit.models.common":{Annotations:[101,1,1,""],AuthRole:[101,1,1,""],EmailNotification:[101,1,1,""],FlyteABCMeta:[101,1,1,""],FlyteCustomIdlEntity:[101,1,1,""],FlyteIdlEntity:[101,1,1,""],FlyteType:[101,1,1,""],Labels:[101,1,1,""],NamedEntityIdentifier:[101,1,1,""],Notification:[101,1,1,""],PagerDutyNotification:[101,1,1,""],RawOutputDataConfig:[101,1,1,""],SlackNotification:[101,1,1,""],UrlBlob:[101,1,1,""]},"flytekit.models.common.Annotations":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],values:[101,2,1,""]},"flytekit.models.common.AuthRole":{assumable_iam_role:[101,2,1,""],from_flyte_idl:[101,2,1,""],kubernetes_service_account:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.EmailNotification":{from_flyte_idl:[101,2,1,""],recipients_email:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.FlyteCustomIdlEntity":{from_dict:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_dict:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.FlyteIdlEntity":{is_empty:[101,2,1,""],short_string:[101,2,1,""],to_flyte_idl:[101,2,1,""],verbose_string:[101,2,1,""]},"flytekit.models.common.FlyteType":{from_flyte_idl:[101,2,1,""],short_class_string:[101,2,1,""],verbose_class_string:[101,2,1,""]},"flytekit.models.common.Labels":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],values:[101,2,1,""]},"flytekit.models.common.NamedEntityIdentifier":{domain:[101,2,1,""],from_flyte_idl:[101,2,1,""],name:[101,2,1,""],project:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.Notification":{email:[101,2,1,""],from_flyte_idl:[101,2,1,""],pager_duty:[101,2,1,""],phases:[101,2,1,""],slack:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.PagerDutyNotification":{from_flyte_idl:[101,2,1,""],recipients_email:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.RawOutputDataConfig":{from_flyte_idl:[101,2,1,""],output_location_prefix:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.SlackNotification":{from_flyte_idl:[101,2,1,""],recipients_email:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.common.UrlBlob":{bytes:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],url:[101,2,1,""]},"flytekit.models.core":{compiler:[103,0,0,"-"],condition:[103,0,0,"-"],errors:[103,0,0,"-"],execution:[103,0,0,"-"],identifier:[103,0,0,"-"],types:[103,0,0,"-"],workflow:[103,0,0,"-"]},"flytekit.models.core.compiler":{CompiledTask:[103,1,1,""],CompiledWorkflow:[103,1,1,""],CompiledWorkflowClosure:[103,1,1,""],ConnectionSet:[103,1,1,""]},"flytekit.models.core.compiler.CompiledTask":{from_flyte_idl:[103,2,1,""],template:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.compiler.CompiledWorkflow":{connections:[103,2,1,""],from_flyte_idl:[103,2,1,""],template:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.compiler.CompiledWorkflowClosure":{from_flyte_idl:[103,2,1,""],primary:[103,2,1,""],sub_workflows:[103,2,1,""],tasks:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.compiler.ConnectionSet":{IdList:[103,1,1,""],downstream:[103,2,1,""],from_flyte_idl:[103,2,1,""],to_flyte_idl:[103,2,1,""],upstream:[103,2,1,""]},"flytekit.models.core.compiler.ConnectionSet.IdList":{from_flyte_idl:[103,2,1,""],ids:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.condition":{BooleanExpression:[103,1,1,""],ComparisonExpression:[103,1,1,""],ConjunctionExpression:[103,1,1,""],Operand:[103,1,1,""]},"flytekit.models.core.condition.BooleanExpression":{comparison:[103,2,1,""],conjunction:[103,2,1,""],from_flyte_idl:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.condition.ComparisonExpression":{Operator:[103,1,1,""],from_flyte_idl:[103,2,1,""],left_value:[103,2,1,""],operator:[103,2,1,""],right_value:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.condition.ComparisonExpression.Operator":{EQ:[103,4,1,""],GT:[103,4,1,""],GTE:[103,4,1,""],LT:[103,4,1,""],LTE:[103,4,1,""],NEQ:[103,4,1,""]},"flytekit.models.core.condition.ConjunctionExpression":{LogicalOperator:[103,1,1,""],from_flyte_idl:[103,2,1,""],left_expression:[103,2,1,""],operator:[103,2,1,""],right_expression:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.condition.ConjunctionExpression.LogicalOperator":{AND:[103,4,1,""],OR:[103,4,1,""]},"flytekit.models.core.condition.Operand":{"var":[103,2,1,""],from_flyte_idl:[103,2,1,""],primitive:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.errors":{ContainerError:[103,1,1,""],ErrorDocument:[103,1,1,""]},"flytekit.models.core.errors.ContainerError":{Kind:[103,1,1,""],code:[103,2,1,""],from_flyte_idl:[103,2,1,""],kind:[103,2,1,""],message:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.errors.ContainerError.Kind":{NON_RECOVERABLE:[103,4,1,""],RECOVERABLE:[103,4,1,""]},"flytekit.models.core.errors.ErrorDocument":{error:[103,2,1,""],from_flyte_idl:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.execution":{ExecutionError:[103,1,1,""],NodeExecutionPhase:[103,1,1,""],TaskExecutionPhase:[103,1,1,""],TaskLog:[103,1,1,""],WorkflowExecutionPhase:[103,1,1,""]},"flytekit.models.core.execution.ExecutionError":{code:[103,2,1,""],error_uri:[103,2,1,""],from_flyte_idl:[103,2,1,""],message:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.execution.NodeExecutionPhase":{ABORTED:[103,4,1,""],FAILED:[103,4,1,""],FAILING:[103,4,1,""],QUEUED:[103,4,1,""],RUNNING:[103,4,1,""],SKIPPED:[103,4,1,""],SUCCEEDED:[103,4,1,""],TIMED_OUT:[103,4,1,""],UNDEFINED:[103,4,1,""],enum_to_string:[103,2,1,""]},"flytekit.models.core.execution.TaskExecutionPhase":{ABORTED:[103,4,1,""],FAILED:[103,4,1,""],QUEUED:[103,4,1,""],RUNNING:[103,4,1,""],SUCCEEDED:[103,4,1,""],UNDEFINED:[103,4,1,""],enum_to_string:[103,2,1,""]},"flytekit.models.core.execution.TaskLog":{MessageFormat:[103,1,1,""],from_flyte_idl:[103,2,1,""],message_format:[103,2,1,""],name:[103,2,1,""],to_flyte_idl:[103,2,1,""],ttl:[103,2,1,""],uri:[103,2,1,""]},"flytekit.models.core.execution.TaskLog.MessageFormat":{CSV:[103,4,1,""],JSON:[103,4,1,""],UNKNOWN:[103,4,1,""]},"flytekit.models.core.execution.WorkflowExecutionPhase":{ABORTED:[103,4,1,""],FAILED:[103,4,1,""],FAILING:[103,4,1,""],QUEUED:[103,4,1,""],RUNNING:[103,4,1,""],SUCCEEDED:[103,4,1,""],SUCCEEDING:[103,4,1,""],TIMED_OUT:[103,4,1,""],UNDEFINED:[103,4,1,""],enum_to_string:[103,2,1,""]},"flytekit.models.core.identifier":{Identifier:[103,1,1,""],NodeExecutionIdentifier:[103,1,1,""],ResourceType:[103,1,1,""],TaskExecutionIdentifier:[103,1,1,""],WorkflowExecutionIdentifier:[103,1,1,""]},"flytekit.models.core.identifier.Identifier":{domain:[103,2,1,""],from_flyte_idl:[103,2,1,""],name:[103,2,1,""],project:[103,2,1,""],resource_type:[103,2,1,""],to_flyte_idl:[103,2,1,""],version:[103,2,1,""]},"flytekit.models.core.identifier.NodeExecutionIdentifier":{execution_id:[103,2,1,""],from_flyte_idl:[103,2,1,""],node_id:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.identifier.ResourceType":{LAUNCH_PLAN:[103,4,1,""],TASK:[103,4,1,""],UNSPECIFIED:[103,4,1,""],WORKFLOW:[103,4,1,""]},"flytekit.models.core.identifier.TaskExecutionIdentifier":{from_flyte_idl:[103,2,1,""],node_execution_id:[103,2,1,""],retry_attempt:[103,2,1,""],task_id:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.identifier.WorkflowExecutionIdentifier":{domain:[103,2,1,""],from_flyte_idl:[103,2,1,""],name:[103,2,1,""],project:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.types":{BlobType:[103,1,1,""]},"flytekit.models.core.types.BlobType":{BlobDimensionality:[103,1,1,""],dimensionality:[103,2,1,""],format:[103,2,1,""],from_flyte_idl:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.types.BlobType.BlobDimensionality":{MULTIPART:[103,4,1,""],SINGLE:[103,4,1,""]},"flytekit.models.core.workflow":{Alias:[103,1,1,""],BranchNode:[103,1,1,""],IfBlock:[103,1,1,""],IfElseBlock:[103,1,1,""],Node:[103,1,1,""],NodeMetadata:[103,1,1,""],TaskNode:[103,1,1,""],WorkflowMetadata:[103,1,1,""],WorkflowMetadataDefaults:[103,1,1,""],WorkflowNode:[103,1,1,""],WorkflowTemplate:[103,1,1,""]},"flytekit.models.core.workflow.Alias":{"var":[103,2,1,""],alias:[103,2,1,""],from_flyte_idl:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.BranchNode":{from_flyte_idl:[103,2,1,""],if_else:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.IfBlock":{condition:[103,2,1,""],from_flyte_idl:[103,2,1,""],then_node:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.IfElseBlock":{"case":[103,2,1,""],else_node:[103,2,1,""],error:[103,2,1,""],from_flyte_idl:[103,2,1,""],other:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.Node":{branch_node:[103,2,1,""],from_flyte_idl:[103,2,1,""],id:[103,2,1,""],inputs:[103,2,1,""],metadata:[103,2,1,""],output_aliases:[103,2,1,""],target:[103,2,1,""],task_node:[103,2,1,""],to_flyte_idl:[103,2,1,""],upstream_node_ids:[103,2,1,""],workflow_node:[103,2,1,""]},"flytekit.models.core.workflow.NodeMetadata":{from_flyte_idl:[103,2,1,""],interruptible:[103,2,1,""],name:[103,2,1,""],retries:[103,2,1,""],timeout:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.TaskNode":{from_flyte_idl:[103,2,1,""],reference_id:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.WorkflowMetadata":{OnFailurePolicy:[103,1,1,""],from_flyte_idl:[103,2,1,""],on_failure:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.WorkflowMetadata.OnFailurePolicy":{FAIL_AFTER_EXECUTABLE_NODES_COMPLETE:[103,4,1,""],FAIL_IMMEDIATELY:[103,4,1,""]},"flytekit.models.core.workflow.WorkflowMetadataDefaults":{from_flyte_idl:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.WorkflowNode":{from_flyte_idl:[103,2,1,""],launchplan_ref:[103,2,1,""],reference:[103,2,1,""],sub_workflow_ref:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.core.workflow.WorkflowTemplate":{"interface":[103,2,1,""],failure_node:[103,2,1,""],from_flyte_idl:[103,2,1,""],id:[103,2,1,""],metadata:[103,2,1,""],metadata_defaults:[103,2,1,""],nodes:[103,2,1,""],outputs:[103,2,1,""],to_flyte_idl:[103,2,1,""]},"flytekit.models.dynamic_job":{DynamicJobSpec:[101,1,1,""]},"flytekit.models.dynamic_job.DynamicJobSpec":{from_flyte_idl:[101,2,1,""],min_successes:[101,2,1,""],nodes:[101,2,1,""],outputs:[101,2,1,""],subworkflows:[101,2,1,""],tasks:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution":{Execution:[101,1,1,""],ExecutionClosure:[101,1,1,""],ExecutionMetadata:[101,1,1,""],ExecutionSpec:[101,1,1,""],LiteralMapBlob:[101,1,1,""],NodeExecutionGetDataResponse:[101,1,1,""],NotificationList:[101,1,1,""],TaskExecutionGetDataResponse:[101,1,1,""],WorkflowExecutionGetDataResponse:[101,1,1,""]},"flytekit.models.execution.Execution":{closure:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],spec:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution.ExecutionClosure":{error:[101,2,1,""],from_flyte_idl:[101,2,1,""],outputs:[101,2,1,""],phase:[101,2,1,""],started_at:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution.ExecutionMetadata":{ExecutionMode:[101,1,1,""],from_flyte_idl:[101,2,1,""],mode:[101,2,1,""],nesting:[101,2,1,""],principal:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution.ExecutionMetadata.ExecutionMode":{MANUAL:[101,4,1,""],SCHEDULED:[101,4,1,""],SYSTEM:[101,4,1,""]},"flytekit.models.execution.ExecutionSpec":{annotations:[101,2,1,""],auth_role:[101,2,1,""],disable_all:[101,2,1,""],from_flyte_idl:[101,2,1,""],labels:[101,2,1,""],launch_plan:[101,2,1,""],metadata:[101,2,1,""],notifications:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution.LiteralMapBlob":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],uri:[101,2,1,""],values:[101,2,1,""]},"flytekit.models.execution.NodeExecutionGetDataResponse":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution.NotificationList":{from_flyte_idl:[101,2,1,""],notifications:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution.TaskExecutionGetDataResponse":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.execution.WorkflowExecutionGetDataResponse":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.filters":{Contains:[101,1,1,""],Equal:[101,1,1,""],Filter:[101,1,1,""],FilterList:[101,1,1,""],GreaterThan:[101,1,1,""],GreaterThanOrEqual:[101,1,1,""],LessThan:[101,1,1,""],LessThanOrEqual:[101,1,1,""],NotEqual:[101,1,1,""],SetFilter:[101,1,1,""],ValueIn:[101,1,1,""]},"flytekit.models.filters.Filter":{from_flyte_idl:[101,2,1,""],from_python_std:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.filters.FilterList":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.interface":{Parameter:[101,1,1,""],ParameterMap:[101,1,1,""],TypedInterface:[101,1,1,""],Variable:[101,1,1,""],VariableMap:[101,1,1,""]},"flytekit.models.interface.Parameter":{"default":[101,2,1,""],"var":[101,2,1,""],behavior:[101,2,1,""],from_flyte_idl:[101,2,1,""],required:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.interface.ParameterMap":{from_flyte_idl:[101,2,1,""],parameters:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.interface.TypedInterface":{from_flyte_idl:[101,2,1,""],inputs:[101,2,1,""],outputs:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.interface.Variable":{description:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],type:[101,2,1,""]},"flytekit.models.interface.VariableMap":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],variables:[101,2,1,""]},"flytekit.models.launch_plan":{Auth:[101,1,1,""],LaunchPlan:[101,1,1,""],LaunchPlanClosure:[101,1,1,""],LaunchPlanMetadata:[101,1,1,""],LaunchPlanSpec:[101,1,1,""],LaunchPlanState:[101,1,1,""]},"flytekit.models.launch_plan.Auth":{assumable_iam_role:[101,2,1,""],from_flyte_idl:[101,2,1,""],kubernetes_service_account:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.launch_plan.LaunchPlan":{closure:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],spec:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.launch_plan.LaunchPlanClosure":{expected_inputs:[101,2,1,""],expected_outputs:[101,2,1,""],from_flyte_idl:[101,2,1,""],state:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.launch_plan.LaunchPlanMetadata":{from_flyte_idl:[101,2,1,""],notifications:[101,2,1,""],schedule:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.launch_plan.LaunchPlanSpec":{annotations:[101,2,1,""],auth_role:[101,2,1,""],default_inputs:[101,2,1,""],entity_metadata:[101,2,1,""],fixed_inputs:[101,2,1,""],from_flyte_idl:[101,2,1,""],labels:[101,2,1,""],raw_output_data_config:[101,2,1,""],to_flyte_idl:[101,2,1,""],workflow_id:[101,2,1,""]},"flytekit.models.launch_plan.LaunchPlanState":{ACTIVE:[101,4,1,""],INACTIVE:[101,4,1,""],enum_to_string:[101,2,1,""]},"flytekit.models.literals":{Binary:[101,1,1,""],Binding:[101,1,1,""],BindingData:[101,1,1,""],BindingDataCollection:[101,1,1,""],BindingDataMap:[101,1,1,""],Blob:[101,1,1,""],BlobMetadata:[101,1,1,""],Literal:[101,1,1,""],LiteralCollection:[101,1,1,""],LiteralMap:[101,1,1,""],Primitive:[101,1,1,""],RetryStrategy:[101,1,1,""],Scalar:[101,1,1,""],Schema:[101,1,1,""],Void:[101,1,1,""]},"flytekit.models.literals.Binary":{from_flyte_idl:[101,2,1,""],tag:[101,2,1,""],to_flyte_idl:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.literals.Binding":{"var":[101,2,1,""],binding:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.literals.BindingData":{collection:[101,2,1,""],from_flyte_idl:[101,2,1,""],map:[101,2,1,""],promise:[101,2,1,""],scalar:[101,2,1,""],to_flyte_idl:[101,2,1,""],to_literal_model:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.literals.BindingDataCollection":{bindings:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.literals.BindingDataMap":{bindings:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.literals.Blob":{from_flyte_idl:[101,2,1,""],metadata:[101,2,1,""],to_flyte_idl:[101,2,1,""],uri:[101,2,1,""]},"flytekit.models.literals.BlobMetadata":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],type:[101,2,1,""]},"flytekit.models.literals.Literal":{collection:[101,2,1,""],from_flyte_idl:[101,2,1,""],map:[101,2,1,""],scalar:[101,2,1,""],to_flyte_idl:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.literals.LiteralCollection":{from_flyte_idl:[101,2,1,""],literals:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.literals.LiteralMap":{from_flyte_idl:[101,2,1,""],literals:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.literals.Primitive":{"boolean":[101,2,1,""],datetime:[101,2,1,""],duration:[101,2,1,""],float_value:[101,2,1,""],from_flyte_idl:[101,2,1,""],integer:[101,2,1,""],string_value:[101,2,1,""],to_flyte_idl:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.literals.RetryStrategy":{from_flyte_idl:[101,2,1,""],retries:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.literals.Scalar":{binary:[101,2,1,""],blob:[101,2,1,""],error:[101,2,1,""],from_flyte_idl:[101,2,1,""],generic:[101,2,1,""],none_type:[101,2,1,""],primitive:[101,2,1,""],schema:[101,2,1,""],to_flyte_idl:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.literals.Schema":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],type:[101,2,1,""],uri:[101,2,1,""]},"flytekit.models.literals.Void":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.matchable_resource":{ClusterResourceAttributes:[101,1,1,""],ExecutionClusterLabel:[101,1,1,""],ExecutionQueueAttributes:[101,1,1,""],MatchableResource:[101,1,1,""],MatchingAttributes:[101,1,1,""]},"flytekit.models.matchable_resource.ClusterResourceAttributes":{attributes:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.matchable_resource.ExecutionClusterLabel":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.matchable_resource.ExecutionQueueAttributes":{from_flyte_idl:[101,2,1,""],tags:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.matchable_resource.MatchableResource":{CLUSTER_RESOURCE:[101,4,1,""],EXECUTION_CLUSTER_LABEL:[101,4,1,""],EXECUTION_QUEUE:[101,4,1,""],QUALITY_OF_SERVICE_SPECIFICATION:[101,4,1,""],TASK_RESOURCE:[101,4,1,""],enum_to_string:[101,2,1,""],string_to_enum:[101,2,1,""]},"flytekit.models.matchable_resource.MatchingAttributes":{cluster_resource_attributes:[101,2,1,""],execution_cluster_label:[101,2,1,""],execution_queue_attributes:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.named_entity":{NamedEntityIdentifier:[101,1,1,""],NamedEntityMetadata:[101,1,1,""],NamedEntityState:[101,1,1,""]},"flytekit.models.named_entity.NamedEntityIdentifier":{domain:[101,2,1,""],from_flyte_idl:[101,2,1,""],name:[101,2,1,""],project:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.named_entity.NamedEntityMetadata":{description:[101,2,1,""],from_flyte_idl:[101,2,1,""],state:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.named_entity.NamedEntityState":{ACTIVE:[101,4,1,""],ARCHIVED:[101,4,1,""],enum_to_string:[101,2,1,""]},"flytekit.models.node_execution":{NodeExecution:[101,1,1,""],NodeExecutionClosure:[101,1,1,""]},"flytekit.models.node_execution.NodeExecution":{closure:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],input_uri:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.node_execution.NodeExecutionClosure":{duration:[101,2,1,""],error:[101,2,1,""],from_flyte_idl:[101,2,1,""],output_uri:[101,2,1,""],phase:[101,2,1,""],started_at:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.presto":{PrestoQuery:[101,1,1,""]},"flytekit.models.presto.PrestoQuery":{catalog:[101,2,1,""],from_flyte_idl:[101,2,1,""],routing_group:[101,2,1,""],schema:[101,2,1,""],statement:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.project":{Project:[101,1,1,""]},"flytekit.models.project.Project":{description:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],name:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.qubole":{HiveQuery:[101,1,1,""],HiveQueryCollection:[101,1,1,""],QuboleHiveJob:[101,1,1,""]},"flytekit.models.qubole.HiveQuery":{from_flyte_idl:[101,2,1,""],query:[101,2,1,""],retry_count:[101,2,1,""],timeout_sec:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.qubole.HiveQueryCollection":{from_flyte_idl:[101,2,1,""],queries:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.qubole.QuboleHiveJob":{cluster_label:[101,2,1,""],from_flyte_idl:[101,2,1,""],query:[101,2,1,""],query_collection:[101,2,1,""],tags:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.sagemaker":{hpo_job:[104,0,0,"-"],parameter_ranges:[104,0,0,"-"],training_job:[104,0,0,"-"]},"flytekit.models.sagemaker.hpo_job":{HyperparameterTuningJob:[104,1,1,""],HyperparameterTuningJobConfig:[104,1,1,""],HyperparameterTuningObjective:[104,1,1,""],HyperparameterTuningObjectiveType:[104,1,1,""],HyperparameterTuningStrategy:[104,1,1,""],TrainingJobEarlyStoppingType:[104,1,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningJob":{from_flyte_idl:[104,2,1,""],max_number_of_training_jobs:[104,2,1,""],max_parallel_training_jobs:[104,2,1,""],to_flyte_idl:[104,2,1,""],training_job:[104,2,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningJobConfig":{from_flyte_idl:[104,2,1,""],hyperparameter_ranges:[104,2,1,""],to_flyte_idl:[104,2,1,""],training_job_early_stopping_type:[104,2,1,""],tuning_objective:[104,2,1,""],tuning_strategy:[104,2,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningObjective":{from_flyte_idl:[104,2,1,""],metric_name:[104,2,1,""],objective_type:[104,2,1,""],to_flyte_idl:[104,2,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningObjectiveType":{MAXIMIZE:[104,4,1,""],MINIMIZE:[104,4,1,""]},"flytekit.models.sagemaker.hpo_job.HyperparameterTuningStrategy":{BAYESIAN:[104,4,1,""],RANDOM:[104,4,1,""]},"flytekit.models.sagemaker.hpo_job.TrainingJobEarlyStoppingType":{AUTO:[104,4,1,""],OFF:[104,4,1,""]},"flytekit.models.sagemaker.parameter_ranges":{CategoricalParameterRange:[104,1,1,""],ContinuousParameterRange:[104,1,1,""],HyperparameterScalingType:[104,1,1,""],IntegerParameterRange:[104,1,1,""],ParameterRanges:[104,1,1,""]},"flytekit.models.sagemaker.parameter_ranges.CategoricalParameterRange":{from_flyte_idl:[104,2,1,""],to_flyte_idl:[104,2,1,""],values:[104,2,1,""]},"flytekit.models.sagemaker.parameter_ranges.ContinuousParameterRange":{from_flyte_idl:[104,2,1,""],max_value:[104,2,1,""],min_value:[104,2,1,""],scaling_type:[104,2,1,""],to_flyte_idl:[104,2,1,""]},"flytekit.models.sagemaker.parameter_ranges.HyperparameterScalingType":{AUTO:[104,4,1,""],LINEAR:[104,4,1,""],LOGARITHMIC:[104,4,1,""],REVERSELOGARITHMIC:[104,4,1,""]},"flytekit.models.sagemaker.parameter_ranges.IntegerParameterRange":{from_flyte_idl:[104,2,1,""],max_value:[104,2,1,""],min_value:[104,2,1,""],scaling_type:[104,2,1,""],to_flyte_idl:[104,2,1,""]},"flytekit.models.sagemaker.parameter_ranges.ParameterRanges":{from_flyte_idl:[104,2,1,""],to_flyte_idl:[104,2,1,""]},"flytekit.models.sagemaker.training_job":{AlgorithmName:[104,1,1,""],AlgorithmSpecification:[104,1,1,""],InputContentType:[104,1,1,""],InputMode:[104,1,1,""],MetricDefinition:[104,1,1,""],TrainingJob:[104,1,1,""],TrainingJobResourceConfig:[104,1,1,""]},"flytekit.models.sagemaker.training_job.AlgorithmName":{CUSTOM:[104,4,1,""],XGBOOST:[104,4,1,""]},"flytekit.models.sagemaker.training_job.AlgorithmSpecification":{algorithm_name:[104,2,1,""],algorithm_version:[104,2,1,""],from_flyte_idl:[104,2,1,""],input_content_type:[104,2,1,""],input_mode:[104,2,1,""],metric_definitions:[104,2,1,""],to_flyte_idl:[104,2,1,""]},"flytekit.models.sagemaker.training_job.InputContentType":{TEXT_CSV:[104,4,1,""]},"flytekit.models.sagemaker.training_job.InputMode":{FILE:[104,4,1,""],PIPE:[104,4,1,""]},"flytekit.models.sagemaker.training_job.MetricDefinition":{from_flyte_idl:[104,2,1,""],name:[104,2,1,""],regex:[104,2,1,""],to_flyte_idl:[104,2,1,""]},"flytekit.models.sagemaker.training_job.TrainingJob":{algorithm_specification:[104,2,1,""],from_flyte_idl:[104,2,1,""],to_flyte_idl:[104,2,1,""],training_job_resource_config:[104,2,1,""]},"flytekit.models.sagemaker.training_job.TrainingJobResourceConfig":{from_flyte_idl:[104,2,1,""],instance_count:[104,2,1,""],instance_type:[104,2,1,""],to_flyte_idl:[104,2,1,""],volume_size_in_gb:[104,2,1,""]},"flytekit.models.schedule":{Schedule:[101,1,1,""]},"flytekit.models.schedule.Schedule":{FixedRate:[101,1,1,""],FixedRateUnit:[101,1,1,""],cron_expression:[101,2,1,""],from_flyte_idl:[101,2,1,""],kickoff_time_input_arg:[101,2,1,""],rate:[101,2,1,""],schedule_expression:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.schedule.Schedule.FixedRate":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],unit:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.schedule.Schedule.FixedRateUnit":{DAY:[101,4,1,""],HOUR:[101,4,1,""],MINUTE:[101,4,1,""],enum_to_string:[101,2,1,""]},"flytekit.models.task":{CompiledTask:[101,1,1,""],Container:[101,1,1,""],DataLoadingConfig:[101,1,1,""],IOStrategy:[101,1,1,""],PyTorchJob:[101,1,1,""],Resources:[101,1,1,""],RuntimeMetadata:[101,1,1,""],SidecarJob:[101,1,1,""],SparkJob:[101,1,1,""],Task:[101,1,1,""],TaskClosure:[101,1,1,""],TaskMetadata:[101,1,1,""],TaskSpec:[101,1,1,""],TaskTemplate:[101,1,1,""]},"flytekit.models.task.CompiledTask":{from_flyte_idl:[101,2,1,""],template:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.Container":{args:[101,2,1,""],command:[101,2,1,""],config:[101,2,1,""],data_loading_config:[101,2,1,""],env:[101,2,1,""],from_flyte_idl:[101,2,1,""],image:[101,2,1,""],resources:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.DataLoadingConfig":{LITERALMAP_FORMAT_JSON:[101,4,1,""],LITERALMAP_FORMAT_PROTO:[101,4,1,""],LITERALMAP_FORMAT_YAML:[101,4,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.IOStrategy":{DOWNLOAD_MODE_EAGER:[101,4,1,""],DOWNLOAD_MODE_NO_DOWNLOAD:[101,4,1,""],DOWNLOAD_MODE_STREAM:[101,4,1,""],UPLOAD_MODE_EAGER:[101,4,1,""],UPLOAD_MODE_NO_UPLOAD:[101,4,1,""],UPLOAD_MODE_ON_EXIT:[101,4,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.PyTorchJob":{from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],workers_count:[101,2,1,""]},"flytekit.models.task.Resources":{ResourceEntry:[101,1,1,""],ResourceName:[101,1,1,""],from_flyte_idl:[101,2,1,""],limits:[101,2,1,""],requests:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.Resources.ResourceEntry":{from_flyte_idl:[101,2,1,""],name:[101,2,1,""],to_flyte_idl:[101,2,1,""],value:[101,2,1,""]},"flytekit.models.task.Resources.ResourceName":{CPU:[101,4,1,""],GPU:[101,4,1,""],MEMORY:[101,4,1,""],STORAGE:[101,4,1,""],UNKNOWN:[101,4,1,""]},"flytekit.models.task.RuntimeMetadata":{RuntimeType:[101,1,1,""],flavor:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""],type:[101,2,1,""],version:[101,2,1,""]},"flytekit.models.task.RuntimeMetadata.RuntimeType":{FLYTE_SDK:[101,4,1,""],OTHER:[101,4,1,""]},"flytekit.models.task.SidecarJob":{from_flyte_idl:[101,2,1,""],pod_spec:[101,2,1,""],primary_container_name:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.SparkJob":{application_file:[101,2,1,""],executor_path:[101,2,1,""],from_flyte_idl:[101,2,1,""],hadoop_conf:[101,2,1,""],main_class:[101,2,1,""],spark_conf:[101,2,1,""],spark_type:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.Task":{closure:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.TaskClosure":{compiled_task:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.TaskMetadata":{deprecated_error_message:[101,2,1,""],discoverable:[101,2,1,""],discovery_version:[101,2,1,""],from_flyte_idl:[101,2,1,""],interruptible:[101,2,1,""],retries:[101,2,1,""],runtime:[101,2,1,""],timeout:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.TaskSpec":{from_flyte_idl:[101,2,1,""],template:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.task.TaskTemplate":{"interface":[101,2,1,""],container:[101,2,1,""],custom:[101,2,1,""],from_flyte_idl:[101,2,1,""],id:[101,2,1,""],metadata:[101,2,1,""],to_flyte_idl:[101,2,1,""],type:[101,2,1,""]},"flytekit.models.types":{LiteralType:[101,1,1,""],OutputReference:[101,1,1,""],SchemaType:[101,1,1,""],SimpleType:[101,1,1,""]},"flytekit.models.types.LiteralType":{blob:[101,2,1,""],collection_type:[101,2,1,""],from_flyte_idl:[101,2,1,""],map_value_type:[101,2,1,""],metadata:[101,2,1,""],schema:[101,2,1,""],simple:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.types.OutputReference":{"var":[101,2,1,""],from_flyte_idl:[101,2,1,""],node_id:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.types.SchemaType":{SchemaColumn:[101,1,1,""],columns:[101,2,1,""],from_flyte_idl:[101,2,1,""],to_flyte_idl:[101,2,1,""]},"flytekit.models.types.SchemaType.SchemaColumn":{SchemaColumnType:[101,1,1,""],from_flyte_idl:[101,2,1,""],name:[101,2,1,""],to_flyte_idl:[101,2,1,""],type:[101,2,1,""]},"flytekit.models.types.SchemaType.SchemaColumn.SchemaColumnType":{BOOLEAN:[101,4,1,""],DATETIME:[101,4,1,""],DURATION:[101,4,1,""],FLOAT:[101,4,1,""],INTEGER:[101,4,1,""],STRING:[101,4,1,""]},"flytekit.models.types.SimpleType":{BINARY:[101,4,1,""],BOOLEAN:[101,4,1,""],DATETIME:[101,4,1,""],DURATION:[101,4,1,""],ERROR:[101,4,1,""],FLOAT:[101,4,1,""],INTEGER:[101,4,1,""],NONE:[101,4,1,""],STRING:[101,4,1,""],STRUCT:[101,4,1,""]},"flytekit.models.workflow_closure":{WorkflowClosure:[101,1,1,""]},"flytekit.models.workflow_closure.WorkflowClosure":{from_flyte_idl:[101,2,1,""],tasks:[101,2,1,""],to_flyte_idl:[101,2,1,""],workflow:[101,2,1,""]},"flytekit.sdk":{exceptions:[106,0,0,"-"],sagemaker:[107,0,0,"-"],spark_types:[106,0,0,"-"],tasks:[106,0,0,"-"],test_utils:[106,0,0,"-"],types:[106,0,0,"-"],workflow:[106,0,0,"-"]},"flytekit.sdk.exceptions":{RecoverableException:[106,5,1,""]},"flytekit.sdk.sagemaker":{task:[107,0,0,"-"]},"flytekit.sdk.sagemaker.task":{custom_training_job_task:[107,3,1,""]},"flytekit.sdk.spark_types":{SparkType:[106,1,1,""]},"flytekit.sdk.spark_types.SparkType":{JAVA:[106,4,1,""],PYTHON:[106,4,1,""],R:[106,4,1,""],SCALA:[106,4,1,""]},"flytekit.sdk.tasks":{dynamic_sidecar_task:[106,3,1,""],dynamic_task:[106,3,1,""],generic_spark_task:[106,3,1,""],hive_task:[106,3,1,""],inputs:[106,3,1,""],outputs:[106,3,1,""],python_task:[106,3,1,""],pytorch_task:[106,3,1,""],qubole_hive_task:[106,3,1,""],qubole_spark_task:[106,3,1,""],sidecar_task:[106,3,1,""],spark_task:[106,3,1,""]},"flytekit.sdk.test_utils":{LocalTestFileSystem:[106,1,1,""],flyte_test:[106,3,1,""]},"flytekit.sdk.types":{Types:[106,1,1,""]},"flytekit.sdk.types.Types":{Blob:[106,1,1,""],Boolean:[106,1,1,""],CSV:[106,1,1,""],Datetime:[106,1,1,""],Float:[106,1,1,""],Generic:[106,1,1,""],Integer:[106,1,1,""],List:[106,2,1,""],MultiPartBlob:[106,1,1,""],MultiPartCSV:[106,1,1,""],Proto:[106,2,1,""],Schema:[106,2,1,""],String:[106,1,1,""],Timedelta:[106,1,1,""]},"flytekit.sdk.types.Types.Blob":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.types.Types.Boolean":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.types.Types.CSV":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""]},"flytekit.sdk.types.Types.Datetime":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.types.Types.Float":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.types.Types.Generic":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],long_string:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.types.Types.Integer":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.types.Types.MultiPartBlob":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.types.Types.MultiPartCSV":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""]},"flytekit.sdk.types.Types.String":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""],verbose_string:[106,2,1,""]},"flytekit.sdk.types.Types.Timedelta":{from_python_std:[106,2,1,""],from_string:[106,2,1,""],is_castable_from:[106,2,1,""],promote_from_model:[106,2,1,""],short_class_string:[106,2,1,""],short_string:[106,2,1,""],to_flyte_literal_type:[106,2,1,""],to_python_std:[106,2,1,""]},"flytekit.sdk.workflow":{Input:[106,1,1,""],Output:[106,1,1,""],workflow:[106,3,1,""],workflow_class:[106,3,1,""]},"flytekit.tools":{lazy_loader:[108,0,0,"-"],module_loader:[108,0,0,"-"],subprocess:[108,0,0,"-"]},"flytekit.tools.lazy_loader":{LazyLoadPlugin:[108,1,1,""],lazy_load_module:[108,3,1,""]},"flytekit.tools.lazy_loader.LazyLoadPlugin":{LAZY_LOADING_PLUGINS:[108,4,1,""],get_extras_require:[108,2,1,""]},"flytekit.tools.module_loader":{iterate_modules:[108,3,1,""],iterate_registerable_entities_in_order:[108,3,1,""],load_workflow_modules:[108,3,1,""]},"flytekit.tools.subprocess":{check_call:[108,3,1,""]},"flytekit.type_engines":{"default":[110,0,0,"-"],common:[109,0,0,"-"]},"flytekit.type_engines.common":{TypeEngine:[109,1,1,""]},"flytekit.type_engines.common.TypeEngine":{get_sdk_type_from_literal_type:[109,2,1,""],infer_sdk_type_from_literal:[109,2,1,""],python_std_to_sdk_type:[109,2,1,""]},"flytekit.type_engines.default":{flyte:[110,0,0,"-"]},"flytekit.type_engines.default.flyte":{FlyteDefaultTypeEngine:[110,1,1,""]},"flytekit.type_engines.default.flyte.FlyteDefaultTypeEngine":{get_sdk_type_from_literal_type:[110,2,1,""],infer_sdk_type_from_literal:[110,2,1,""],python_std_to_sdk_type:[110,2,1,""]},flytekit:{bin:[73,0,0,"-"],clients:[74,0,0,"-"],clis:[75,0,0,"-"],common:[79,0,0,"-"],configuration:[87,0,0,"-"],contrib:[88,0,0,"-"],engines:[91,0,0,"-"],interfaces:[94,0,0,"-"],models:[101,0,0,"-"],plugins:[105,0,0,"-"],sdk:[106,0,0,"-"],tools:[108,0,0,"-"],type_engines:[109,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","attribute","Python attribute"],"5":["py","exception","Python exception"],"6":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function","4":"py:attribute","5":"py:exception","6":"py:data"},terms:{"000000000z07":17,"02t15":17,"0x20f88e8":94,"0x7f551fa18908":101,"0x7f551fa18940":101,"0x7f551fa18a58":101,"1000m":150,"100s":116,"10s":9,"123accountid":134,"15s":9,"1757c8c0d7a149b79f2c202c2c78b378":145,"1757c8c0d7a149b79f2c202c2c78b378_tmp":145,"1oq8oblzxgv8pvjftlf0qf":138,"2905b8d48263bc194dc3a61d49015c5abda81f5":10,"29t17":17,"30m":9,"30s":9,"32g":106,"4gi":[106,148],"5000gi":12,"500m":[106,148],"5tb":12,"60s":9,"8gi":[106,148],"999999999z07":17,"9a7b8cdb982161daebd5618fc7cb5041":138,"abstract":[16,24,44,79,82,85,91,101,109,117,125],"boolean":[24,31,42,49,51,85,101,106,107],"break":[5,101,136],"byte":[22,25,49,85,94,101],"case":[0,4,5,10,17,19,22,24,25,27,29,30,31,36,37,38,45,50,52,65,87,94,103,104,106,115,124,129,133,144,150],"catch":[52,103,126],"class":[22,74,76,78,79,80,82,83,84,85,86,87,89,90,91,92,93,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,125,129,130,133,137,147],"default":[5,6,7,9,10,11,12,14,15,17,19,22,25,27,29,30,35,40,42,43,44,45,46,48,50,51,52,57,62,64,65,67,72,75,79,86,87,90,101,106,107,109,125,127,130,133,138,147],"enum":[12,17,74,79,82,83,91,92,101,102,103,104,106],"export":4,"final":[19,24,42,43,52,101,103,118,132,133,144],"float":[24,51,64,85,101,104,106,148],"function":[5,16,17,22,74,75,78,79,81,82,83,87,89,90,93,94,106,107,108,113,114,121,125,126,135,136,137,143],"import":[0,15,17,22,32,42,82,106,121,129,130,133,135,137,147,149],"int":[6,9,12,24,50,74,78,79,81,82,83,84,85,87,90,91,92,94,101,102,103,104,106,107],"long":[74,90,106,107],"new":[0,9,13,15,17,22,24,25,41,54,74,86,100,113,115,125,132,135,136,137],"null":[49,90,106,107],"public":87,"return":[22,24,25,27,29,31,36,37,38,74,75,76,78,79,80,81,82,83,85,86,87,89,90,91,92,93,95,96,97,98,99,100,101,102,103,104,106,107,108,110,124,143,145,148,149],"static":[24,27,49,52,85,93,106,122,144],"super":134,"switch":[15,74],"throw":[52,103],"transient":[90,106,107],"true":[4,13,25,27,52,75,76,79,86,100,101,106,107,108,115,136,137,147,148],"try":[10,79,82,90,101,113,115,139],"var":[13,15,42,48,49,50,51,52,79,101,103],"void":[85,101],"while":[0,4,17,22,65,104,106,108,116,130,149],AKS:10,AND:[24,42,103],AWS:[0,5,8,10,12,15,35,50,65,79,87,104,122],And:[79,130,147,149],Are:1,But:22,DOS:4,EKS:10,FOR:10,For:[0,4,9,10,12,13,15,16,17,19,22,24,27,41,50,52,54,62,64,65,78,82,83,87,89,101,104,117,121,125,126,127,128,130,133,135,138,149],GCS:15,Going:[11,115],INTO:[106,147],K8s:[9,12,22,24,30,50,150],MBs:6,NOT:[51,83,85,106],Not:[24,45],One:[5,17,19,22,52,122,144,150],RDS:15,SES:5,SNS:[5,16],SQS:[5,16],That:[22,29,36,52,82,115,145],The:[0,4,5,6,7,9,10,12,13,14,15,16,17,19,21,22,23,24,25,27,28,31,32,37,40,41,43,44,46,49,50,51,52,54,56,62,65,66,74,78,79,82,83,85,86,87,89,90,91,92,93,101,103,104,106,107,113,114,115,116,120,121,123,124,125,126,127,130,132,133,135,136,137,138,143,144,145,147,149,150],Then:147,There:[15,21,24,49,101,106,123,133,144],These:[0,4,9,10,12,13,15,16,17,20,21,22,27,28,29,47,49,50,52,58,78,83,89,101,106,122,126,129,132],Use:[9,12,74,75,79,83,92,106,113,127,133,137,148],Used:[27,40,49,86,87,108],Uses:[35,85,106],Using:[15,20,24,106,121,125,129,149],WITH:147,With:[5,15,128,137],__future__:[137,147,149],__stories__:19,_base_sdk_typ:85,_common_pb2:101,_commondatarespons:101,_core_workflow:133,_execution_model:79,_execution_pb2:101,_extendedschedul:79,_flyteconfigurationentri:87,_flyterequiredconfigurationentri:87,_hivesensor:90,_identifi:[79,82,83],_idl_parameter_rang:104,_instancetrack:82,_instantiated_in:82,_interfac:93,_node_execution_model:79,_node_execution_pb2:101,_outputdatacontext:95,_parameter_ranges_model:104,_presto:101,_qubol:101,_register:79,_request:137,_schema_impl:85,_sdk_runnabl:83,_struct:101,_task:[83,101,135],_task_execution_model:83,_task_execution_pb2:101,_task_funct:[90,106,107],_task_templ:106,_training_job:104,_training_job_model:107,_training_job_pb2:104,_type:108,_workflow:101,_workflow_metaclass:106,a_sidecar_task:106,ab_project:12,abc123:[78,135],abc:[101,106],abcmeta:101,abil:[48,79,87,116,122,136],abl:[15,90,106,107,137],abort:[27,43,45,52,103,131,133],abort_caus:27,abort_metadata:27,about:[0,1,10,12,17,20,22,23,24,26,27,45,49,50,52,54,58,74,81,101,103,113,115,125,126,127,138,144,145,147],abov:[5,9,12,13,17,18,22,25,30,52,79,82,106,115,124,130,132,137,150],absenc:[12,122],absolut:[43,57,79,101,115],absolute_import:[137,147,149],accept:[0,76,106,126,130,132,149],access:[0,6,10,11,13,15,19,22,25,45,50,74,78,86,87,106,127,135,137,138,139],access_token:[74,76],accesskei:[6,15],accident:132,accompani:50,accomplish:106,accordingli:138,account:[5,79,87,101,134],accountid:5,acct:134,accuraci:148,achiev:[15,123,124,150],ack:9,acl:27,acquir:9,across:[0,7,11,13,16,17,18,22,25,27,54,74,83,103,116,126,127,136],act:[9,46],action:[9,27,79,81],activ:[0,17,25,29,74,79,101,115,122,127,130],activate_all_impl:78,actual:[5,16,22,24,25,27,50,57,74,79,114,115,132,145,147],acycl:[0,24,38,52,114,121,126],adapt:[81,106,115],add:[9,13,15,25,50,78,81,83,89,90,100,106,107,113,115,137,150],add_input:[83,89],add_one_and_print:143,add_output:[83,89],added:[0,13,22,27,40,52,65,74,83,89,104,143,148],adding:[15,22,52,132,134,136],addit:[13,17,19,22,27,29,31,37,38,50,52,54,83,89,94,101,103,106,122,126,132,148,149],additional_msg:81,address:[5,9,10,13,25,32,45,50],adher:106,adjac:41,adjust:130,admin:[7,11,12,15,19,20,21,55,56,72,74,78,79,82,83,87,91,92,93,101,103,120,124,127],admin_api_url:[10,19],admindeploy:[12,13,15],adminent:19,administ:17,administr:[0,4,12,21,23,112,114,115,127],advanc:[79,82,83],advantag:126,advis:[49,125],affect:[17,94],aforement:[21,22],after:[4,17,27,29,41,50,52,82,103,125,127,135,137,144],again:[5,90],against:[9,15,22,106,121],aggreg:[15,21,106],agil:115,aid:4,aim:[0,115,132],alert:5,algo:[65,104],algorithm:[62,65,104,106,107],algorithm_nam:[65,104],algorithm_specif:[65,84,104,107],algorithm_vers:[65,104],algorithmnam:104,algorithmspecif:[84,104,107],alia:103,alias:[24,52,103],aliv:66,all:[0,5,7,8,9,11,12,13,15,16,19,22,23,24,25,27,29,30,31,36,37,38,41,44,45,46,50,52,54,55,56,57,71,74,78,79,82,83,94,96,100,101,103,106,108,115,116,120,124,125,126,127,130,132,133,143,144,149],allevi:145,alloc:5,allow:[5,6,12,14,17,18,19,24,49,50,51,52,54,64,79,81,82,83,87,89,90,101,106,107,116,121,122,123,125,127,147,148,150],allowed_failure_ratio:[83,106],along:[4,12,18,27,83,89,145],alongsid:[22,38,106],alpin:[106,149],alreadi:[27,43,74,79,82,87,106,127,130,139,149,150],already_in_terminal_st:26,also:[0,4,10,12,16,17,22,24,41,46,74,81,82,85,86,94,101,106,113,115,117,121,122,124,125,126,127,130,132,135,136,137,143,148,150],alsologtostderr:9,alter:[15,24,52,86,103,113,126,133,145],altern:[0,8,10,17,86,124,134],although:135,alwai:[12,22,24,27,41,49,51,54,79,81,101,115,122,125,126,130,136],amazon:[10,16,62,64,65,104,137],amend:145,amongst:4,amount:[19,27,31,37,82,90,101,106,107],an_alternative_input:130,an_input:135,an_integer_input:130,analyz:[52,121],ani:[0,4,9,10,12,17,19,22,24,27,29,38,41,49,50,52,54,57,74,81,82,83,86,87,90,91,101,103,106,107,108,113,114,115,116,121,122,124,125,126,132,133,136,138,144,150],anim:24,annot:[27,29,79,82,83,91,92,93,101,106,128,135,141,143,147],annotation_overrid:[79,82,83,91,92,93],anoth:[4,10,19,27,40,49,51,78,82,101,108,127,130,136,147],anyon:113,anywai:133,api:[0,5,9,10,12,16,17,19,25,50,66,74,101,106,112,124,137,145,149],api_algorithmspecif:[65,104],api_createtrainingjob:[65,104],api_metricdefinit:65,api_resourcelimit:[62,104],apimachineri:50,apirefer:[62,65,104],apivers:13,app:[87,138],appear:[50,52,74,78,103],append:[17,25,50,86,106,144,147],append_to_partit:86,appli:[12,13,15,25,27,29,30,34,39,50,52,74,83,87,101,106,132,134,149],applic:[1,4,5,12,16,17,19,45,52,79,101,114],application_fil:101,applicationtyp:67,approach:24,appropri:[0,16,22,78,81,83,89,106],april:115,arbitrari:[83,101,106,129,144],arbitrarili:106,architect:23,architectur:[3,13,21,112,113],archiv:[25,101],area:115,aren:[22,25,135],arg:[50,74,75,79,82,83,87,89,93,101,106,127,149],argument:[75,90,101,106,107,122,126,127,134,137,149],arn:[5,134],around:[15,22,24,74,76,104,132],arrai:[17,49,57,94,101,126],arrang:[19,36,126],array_input:93,array_job:[58,72,111],arrayjob:101,artifact:[18,31,40,54,72,79,83,104],artifact_id:40,artifact_tag:40,artifactdata:18,artifacttag:18,ascend:[17,25,102],aspect:[115,132],assembl:[118,144],assert:[101,106,149],assert_and_cr:106,assertionerror:81,assign:[12,16,24,27,30,49,57,82,83,101,127,130],assign_custom_and_return:83,assign_id_and_return:79,assign_type_and_return:83,assigne:115,assist:0,associ:[0,4,8,12,18,24,25,29,31,38,40,49,51,54,74,86,101,106,115,121,122,124,136],assum:[4,9,13,82,83],assumable_iam_rol:[25,29,79,87,101,134],async:16,asynchron:5,atleast:41,atom:135,attach:13,attempt:[50,54,79,87,90,101,108,122],attr:78,attribut:[12,17,25,27,29,30,31,34,36,37,39,45,74,79,101,103,104,106,127,129,133],auth:[1,4,6,13,15,27,72,75,78,101,111,134],auth_cod:76,auth_endpoint:76,auth_mod:87,auth_rol:[27,29,79,91,92,93,101],authent:[3,11,15,27,74,87,127],author:[4,12,27,76,78,87,101,106,114,125,137],authorization_cli:76,authorization_endpoint:76,authorization_head:78,authorization_metadata_kei:87,authorizationcli:76,authorizationcod:76,authorizationendpoint:76,authrol:[27,29,79,91,92,93,101],authtyp:6,auto:[50,62,64,74,79,101,104],auto_assign_nam:82,autodeletingtempdir:[79,83,91,137],autogener:103,autom:4,automat:[4,24,40,50,52,62,64,65,87,103,104,106,115,116,122,123,124,127,132,133,147,148],autonom:116,autorefreshcach:22,avail:[4,6,7,9,10,11,12,45,50,58,74,83,106,113,121,122,124,126,127,133,135,148],avoid:[16,50,106,125,132,133],awai:24,awar:10,awesom:114,awk:13,aws:[5,62,64,65,72,79,101,104,111,134],awss3proxi:99,azur:[10,15],b64:85,b78e1502cef04d5db8bef64a2226f707:145,back:[0,5,16,22,27,48,54,55,83,87,106,132],backend:[3,11,106,121,148],backend_typ:148,background:[20,23,25],backoff:[9,45],backward:[50,115],bad:100,bak:15,balanc:[0,13],bar:[17,129,147,149],base64:78,base:[0,4,5,9,12,15,17,18,22,25,27,29,30,36,37,38,52,54,72,74,76,78,79,80,82,83,84,85,86,87,89,90,91,92,93,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,136,144,148],base_literal_typ:[85,106],base_model:[79,80,83],base_sdk_typ:[72,79,83,86,106,109,110,147],base_sensor:[72,88],base_url:19,baseexecutionenginefactori:[91,92,93],basehttprequesthandl:76,basehttpserv:76,baselaunchplanlaunch:[91,92,93],basenodeexecut:[91,92,93],basetaskexecut:[91,92,93],basetaskexecutor:[91,92,93],baseworkflowexecut:[91,92,93],baseworkflowexecutor:[91,92,93],basi:[101,115,148],basic:[0,4,22,78,82,87,91,123,137],basic_auth:[72,75],batch:[0,9,12,50,83,106,116],batch_hiv:79,batch_hive_task:79,batch_siz:148,battl:125,bayesian:[62,104],baz:17,bearer:78,becaus:[5,10,17,21,24,40,50,74,87,106,126,130,136,147],becom:[43,50],been:[7,13,15,50,94,132,133,137,145],befor:[9,15,19,21,22,23,49,50,52,74,82,85,86,87,90,101,103,106,107,113,133,137,138,143,145,149],beforehand:144,began:[27,31,37],begin:[17,22,87,137],behalf:0,behav:[52,122,136],behavior:[4,15,19,22,23,24,36,44,51,83,87,89,90,94,101,103,106,133],behind:[27,115,133,147],being:[4,41,50,83,85,86,106,115],belong:[25,27,29,46,92,143],below:[0,10,12,15,16,17,21,136],benchmark:6,bespok:[90,106,107],best:[23,101,132],beta:50,better:[83,106],between:[9,17,24,26,33,50,51,52,74,81,82,94,106,115,132,136],beyond:[3,11],bill:123,bin:[72,106,111,127,149],binari:[19,42,50,51,83,86,101,103,124,127,137],bind:[24,43,52,76,79,101,103,118,130,144],bind_and_activ:76,bindindg:118,binding_data:[79,93],bindingdata:[52,79,93,101],bindingdatacollect:101,bindingdatamap:101,bit:[22,82],blob:[6,10,16,24,25,31,37,50,51,72,74,79,87,101,103,106,137,144,148],blobdimension:103,blobinstanti:85,blobmetadata:101,blobtyp:[49,101,103],block:[24,36,52,114,137],blog:[62,64],bodi:[5,32,131,149],bool:[6,8,9,24,27,31,37,48,49,50,52,75,76,79,82,83,84,85,86,87,90,93,95,96,97,98,99,101,102,106,107,108],booleanexpress:[52,103],boom:130,both:[4,10,17,52,106,149],bottom:[12,138],bottom_trim:81,bound:[24,50,52,90,103,106,107,120,122,124,126,145],box:134,branch:[21,52,103,121,133],branch_nod:[52,103],branchnod:103,brief:[4,22],bring:[24,57,66,84,101,106,149],broader:145,broadli:[22,24],broken:16,brought:106,browser:[19,87],bucket:[9,15,25,79,87,145,147],buffer:[9,24,47,49,50,55,56,58,114],bug:113,build:[10,13,15,16,23,83,85,86,89,114,137,143,144,148,150],build_sdk_workflow_from_metaclass:79,builder:21,built:[0,14,22,50,62,65,93,104,132,135,137,143],built_in_training_job_task:[72,79,83],bundl:[0,19],burst:9,busi:[16,116],button:138,bypass:133,cacert:13,cach:[6,9,14,18,22,31,40,54,84,89,101,106,107,125,126,128,133,141],cache_dis:40,cache_hit:40,cache_lookup_failur:40,cache_miss:40,cache_popul:40,cache_put_failur:40,cache_statu:[31,54],cache_vers:[18,84,89,106,107,136,143,144],cacheabl:[84,133],caches:9,cadenc:[14,15,29],calcul:150,call:[0,4,6,13,15,16,22,31,50,74,78,79,81,82,83,87,89,94,100,106,120,125,132,137,138],callback:[76,87],caller:90,can:[0,4,5,6,9,10,12,13,15,16,17,18,19,21,22,24,25,26,27,28,29,30,31,36,37,38,42,44,45,46,49,50,51,52,54,57,62,64,65,74,79,81,83,84,85,86,87,89,90,94,100,101,103,104,106,107,108,113,114,116,118,121,122,123,124,125,126,127,129,130,131,132,133,134,135,136,137,138,139,140,144,145,147,148,149,150],candid:9,canni:137,cannot:[10,17,49,52,101,103,104,106,122,123,126,130,136],canon:[4,87],capabl:[4,29,113,132],capac:9,captur:[5,31,54,121,123,126,132],car_blue_l:138,cardin:132,care:[115,125,147],carri:[24,31,54,133],cast:[83,85,89,106],cast_to:86,cat:24,catalog:[3,7,11,20,23,31,46,47,54,59,83,101,147],catalog_kei:[31,54],catalogcach:40,catalogcachestatu:[31,54],catalogmetadata:[31,54],categor:[122,129],categori:[135,143],categorical_parameter_rang:64,categoricalparameterrang:104,caus:[27,74,79,91,92,132,136],caveat:[17,74,132,149],cdf:[65,104],central:16,cert:87,certain:[24,25,35,50,87,106,125,133,135],certpath:13,chang:[10,15,16,17,27,29,54,78,101,106,107,127,130,135,136,137,138],changelog:115,channel:[10,55],charact:125,character:125,characterist:121,check:[0,1,5,15,18,22,24,50,51,82,83,86,106,132],check_cal:108,chief:68,chief_replica:68,child:[9,27,31,52,83,126],child_workflow:27,choos:[74,104,144],chose:22,chosen:[15,65],chunk:106,circumst:125,citi:147,clariti:86,classifi:33,classmethod:[79,80,83,85,86,95,101,102,103,104,106,108],clean:[52,81,85,86,87,103,106,133],cleanup:[79,147],clear_tag:100,cli:[10,11,12,15,24,46,72,111,121,124,128,135,141],click:[75,78,122,138],client:[0,5,6,9,10,11,16,18,19,72,78,87,94,111,124],client_address:76,client_credentials_scop:87,client_credentials_secret:[78,87],client_credentials_secret_loc:78,client_id:[76,78,87],client_secret:78,clock:125,clone:[15,21,127,137],close:115,closur:[27,29,31,36,37,38,41,101,102,120,124],cloud:[1,5,10,15,16,54],cloud_provid:95,cloudprovid:79,cloudstorag:9,cloudwatch:[5,8],cls:[79,89,90,106,107],cluster1:13,cluster2:13,cluster3:13,cluster:[0,9,10,11,13,15,17,19,27,30,60,61,68,89,101,106,113,115,125,145,148,150],cluster_1:13,cluster_1_cacert:13,cluster_1_token:13,cluster_2:13,cluster_2_cacert:13,cluster_2_token:13,cluster_3:13,cluster_3_cacert:13,cluster_3_token:13,cluster_credenti:13,cluster_label:[61,83,101,106],cluster_resourc:[30,101],cluster_resource_attribut:[30,101],clusterresourc:12,clusterresourceattribut:[12,101],cmd_arg:108,code:[0,4,5,6,9,16,19,21,22,24,44,45,76,81,82,83,87,89,90,103,106,107,113,116,121,124,127,131,132,135,137,144,149],codebas:4,cogniz:22,collabor:115,collect:[4,6,9,17,24,43,49,51,53,61,79,85,101,125,126],collection_typ:[51,101],collectiontyp:85,collid:[83,89],collis:94,column:[51,85,86,101,106],column_subset:86,com:[1,5,10,12,13,15,18,25,49,50,60,62,64,65,68,85,87,104,106,115,130,135,137],combin:[12,19,25,34,39,42,54,74,122,125,126,131],come:[0,21,22,36,108,114,116,125,126],comfort:4,comma:87,command:[0,4,10,11,13,50,74,78,83,87,101,106,128,135,138,149],commandlin:[7,11,128],comment:[10,74,83,106],commit:[21,87],common:[7,11,17,19,21,22,24,28,33,72,74,89,90,92,93,94,96,97,98,99,103,104,106,107,108,110,111,127,129,135,137,145,147,148],common_pb2:[79,101,102],commonli:[33,76,126,127,136],commun:[0,19,28,44,49,55,74,115,148],commut:42,compani:[5,12,114,127],compar:51,compare_dataframe_to_schema:86,comparison:[24,42,103],comparisonexpress:103,compat:[16,24,50,86,115,147],compil:[0,16,19,21,22,23,36,38,46,47,50,52,72,79,82,83,87,101,102,120,124,126],compiled_task:[36,101],compiled_workflow:[38,102],compiledtask:[36,101,103],compiledworkflow:103,compiledworkflowclosur:[38,79,102,103],compiler_pb2:[101,103],complet:[0,4,9,15,22,29,35,41,43,50,52,57,79,82,83,101,103,106,115,116,124,130,132,133,138,149],complex:[0,12,24,51,116],compli:78,compliant:148,complic:22,compon:[0,3,5,7,10,11,13,15,19,22,23,24,31,32,50,57,94,112,115,120,127],component_nod:[72,111],compos:[5,15,17,36,116,121,127,135,137,148],composit:9,compris:[21,51],comput:[0,13,18,24,27,29,31,36,37,40,43,57,65,101,104,106,116,124,125],computed_input:27,concat_then_split:106,concept:[12,24,112,127,130,137,141,144],concern:[17,24],concis:101,concret:22,concurr:[57,62,101,104,106,112,114],condit:[24,47,52,72,101,126],condition_pb2:103,config:[4,6,7,8,9,10,11,12,13,15,16,50,62,78,83,87,101,104,106,107,127,134,137,138,148,150],config_file_path:[78,87],configmap:[13,15],configpars:75,configur:[0,3,10,11,13,14,16,17,19,25,27,29,30,31,36,37,50,55,72,74,76,78,89,90,96,101,106,107,108,111,113,117,121,125,130,134,137,147,148,149],conform:[4,52,78,86,103,116],confus:106,conistitut:125,conjoin:42,conjunct:[42,103,106],conjunctionexpress:103,connect:[6,9,15,41,89,103,106],connectionset:103,connector:147,consecut:132,consid:[4,25,27,46,51,86,101,106,125,130,144],consist:[0,17,19,24,83,106,114,115,116,132,143],consol:[0,5,8,10,15,20,23,124,128,138],constant:[16,42,52,72,75,87,111],constraint:16,construct:[12,19,25,31,37,52,75,87,103,106],construct_literal_map_from_parameter_map:75,construct_literal_map_from_variable_map:75,constructor:86,consum:[5,24,49,50,51,52,54,101,103,124,144],contact:0,contain:[0,4,6,7,9,11,13,15,16,17,21,22,24,25,27,29,30,31,36,37,38,41,44,49,51,55,65,66,72,79,83,84,89,90,101,103,104,106,107,108,114,116,122,124,125,126,135,137,141,144,145,146,150],container:150,container_arrai:79,container_array_task:79,container_port:50,containercr:45,containererror:103,containerless_task:135,containertask:143,content:[12,21,25,32,45,50,65,111],context:[13,25,27,31,40,52,78,79,81,82,83,86,89,91,92,93,101,103,106,127],context_stat:79,continu:[4,22,64,114,116],continuous_parameter_rang:64,continuousparameterrang:104,contract:115,contrast:82,contrib:[72,111],contribut:[20,23,106,112,113,115,124],contributor:[21,112,114,115],control:[4,7,9,11,22,25,28,52,55,56,106,114,116,118,125,126,144],convei:50,conveni:[24,135],convent:135,convert:[16,22,89,101,109],cookbook:112,cool:134,coordin:126,copi:[13,15,22,23,57,85,96,99,145],copilot:50,copy_tag:100,core:[0,7,11,12,22,24,25,27,29,30,31,36,37,38,54,56,66,69,72,74,78,79,82,83,85,90,91,92,93,101,102,106,107,114,121,122,133,149,150],correct:[4,80,106,109,150],correctli:[81,132],correl:136,correspond:[4,16,46,50,62,64,104,121,122,130],corrupt:136,cors_proxi:19,cors_proxy_prefix:19,cost:116,costli:50,could:[10,13,17,25,69,115,130,136],count:[43,93,132,135,150],counter:132,coupl:[65,104,143,145],cours:[130,132],cover:22,coverag:115,cpu:[12,15,22,30,50,87,90,101,106,107,148],cpu_limit:[83,84,89,90,106,107,149],cpu_request:[83,84,89,90,106,107,149],crd:0,creat:[0,1,5,6,10,11,13,16,17,18,21,22,24,25,27,29,31,36,37,38,41,74,75,79,81,82,83,85,86,89,90,91,92,94,96,101,106,107,112,114,115,116,121,122,124,127,129,130,132,134,135,136,144,145,147],create_at_any_loc:86,create_at_known_loc:[85,86],create_bindings_for_input:79,create_execut:74,create_from_hive_queri:[85,86,145],create_launch_plan:[74,79,82,129,130,134],create_part:86,create_protobuf:85,create_task:74,create_workflow:74,created_at:[17,27,29,31,36,37,38,102],createexecut:12,createexecutionrequest:[27,29],creation:[30,36,82,101,122,127,130,137],cred:[72,111],credenti:[1,13,72,74,75,87],criteria:[43,57,101,125],critic:[4,12,22],cron:[14,15,121,130],cron_express:[35,79,101,122],cronschedul:[79,130],crt:13,csv:[45,51,85,103,106],csvinstanti:85,cte:[85,86],ctfasset:138,ctx:78,cuda:148,cumbersom:115,cumul:45,curl:[12,137],current:[0,5,12,14,16,17,25,32,43,51,52,54,57,65,74,79,86,87,90,94,101,103,104,106,107,115,118,125,127,131,133,143,145],current_phas:26,current_tag:93,current_valu:93,custom:[0,4,12,15,23,24,25,29,30,34,37,39,45,50,54,59,60,61,65,67,68,74,83,87,89,90,101,104,106,107,115,116,132,135,149,150],custom_info:[37,54],custom_task:107,custom_training_job_task:[72,79,83,107],customiz:[3,11,17,30,50,131,149],customst:22,customtrainingjobtask:[84,107],customtrainjobtask:84,cv2:137,cycl:[22,87],cyclic:16,daemon:10,dag:[0,121,126],dai:[35,101,122,130],dashboard:[115,123],data:[3,6,9,11,12,17,19,20,22,23,24,25,27,31,36,37,47,49,50,54,56,57,65,72,76,79,83,85,86,87,89,94,101,103,104,106,112,114,116,125,130,132,136,137,145,147,148,149],data_config:50,data_exist:95,data_fram:86,data_loading_config:101,data_proxi:[72,94],databas:[0,10,11,12,16,17,74,120],datacatalog:[15,18,46,112,115],datacatalog_config:15,datafram:[101,106,125],dataload:[50,148],dataloadingconfig:101,dataplan:[0,13,55],dataplane_gener:13,dataproxi:[95,96,97,98,99],dataset:[18,40,46,50,148],dataset_id:40,datastor:[15,124],date:130,datefram:86,datetim:[49,51,82,83,85,90,91,101,102,103,106,107,130],dbname:15,deadlin:[9,115],deal:[50,106],debug:[0,11,17,54,83,113,124,136],decid:[22,50,65,104,115,125,130],declar:[24,90,106,107,120,121,144],decod:19,decor:[22,81,83,89,90,106,107,137,145,148],decr:[93,100],decreas:[12,64],dedic:148,deep:[113,122,139,141],deeper:[10,121,140],deepli:[101,106,115],def:[79,82,106,107,135,136,137,143,144,145,147,148,149,150],default_cpu_limit:87,default_cpu_request:87,default_gpu_limit:87,default_gpu_request:87,default_input:[29,79,101,130],default_memory_limit:87,default_memory_request:87,default_storage_limit:87,default_storage_request:87,defin:[0,9,12,16,17,22,24,25,27,28,29,30,35,42,44,48,49,50,51,52,53,56,57,61,62,64,65,79,82,83,84,85,87,90,101,103,104,106,107,115,116,118,122,124,125,126,129,130,133,135,137,143,144,148,149,150],definit:[0,4,12,16,17,22,27,29,50,55,56,65,74,79,86,89,90,101,104,106,107,120,121,122,124,126,130,135,143,149],defint:[71,83],delai:[9,45],delet:[15,17,79,106,145],deleterul:5,delimit:87,deliv:55,demand:[12,116,121],demo:150,demonstr:137,demystifi:0,denorm:41,denot:[49,147],depdend:[52,103],depend:[15,16,23,24,27,31,40,49,50,51,52,83,89,103,108,126,127,133,135,148,149,150],deploi:[10,13,15,87,113,117,148,149],deploy:[0,3,11,12,22,87,113,117],deprec:[50,54,79,82,83,84,89,90,92,101,106,107],deprecated_error_messag:[50,101],deprovis:116,depth:4,dequeu:16,deriv:36,descend:[17,25,102],describ:[0,3,6,13,15,22,24,25,43,48,49,57,64,90,101,103,106,107,124],descript:[6,8,9,17,25,33,45,48,51,85,101,115,132],descriptor:[85,106],deseri:106,design:[0,4,7,10,15,16,17,74,125],desir:[29,50,66,85,86,90,101,106,107,133,144,149],detail:[0,3,5,10,20,23,24,26,29,31,37,41,44,45,47,50,51,56,62,64,65,87,104,124,130,138,150],detect:[52,79,103,106,133,138],detect_unreferenced_ent:108,determin:[0,12,17,30,50,52,62,74,79,90,101,103,104,106,107,126,134],determinist:[36,136],develop:[0,6,16,20,25,33,49,87,114,115,117,125,127,135,137,138],devic:148,diagnos:132,diagram:11,dict:[75,79,82,83,85,86,89,90,91,92,93,101,103,104,106,107,108,147],dictat:[44,79,82,83,126],dictionari:[75,82,83,86,89,93,101,106],did:137,differ:[4,10,16,17,19,22,24,33,49,50,52,65,74,83,87,89,103,104,117,121,122,125,126,127,130,131,136,147,149],differenti:[33,81],difficulti:10,digest:0,dimens:12,dimension:[24,51,103],dir:148,direct:[0,11,17,24,38,52,62,85,102,104,114,121,126],directli:[4,9,22,65,83,87,89,106,147],directori:[9,13,15,16,19,21,50,65,79,83,87,89,95,96,99,106,127,137],disabl:[6,9,27,40,79,82,83,117,122,130],disable_al:[27,101],disable_default_launch_plan:[79,106],discard:27,discourag:4,discov:[76,78,79,87,108,115],discover:[50,83,89,90,101,106],discoveri:[4,50,72,75,87,101,106,107],discovery_url:76,discovery_vers:[50,83,89,90,101],discoverycli:76,discret:[64,132],discuss:[4,12,22,145],disjunct:42,disk:[15,86,90,106,107],dispatch:81,displai:[19,33,51],dist:148,distinguish:[50,149],distribut:[0,60,65,68,104,112,114,116,125,148,150],distributeddataparallel:148,distributeddataparallelcpu:148,distributor:148,dive:[5,10,16,121,122,139,141],divid:115,divis:137,do_get:76,do_not_download:50,do_not_upload:50,doc:[1,10,11,13,15,49,50,62,64,65,104,112,114,127],docker:[10,50,65,104,116,137,138],docker_build:137,docker_registry_password:137,docker_registry_usernam:137,dockerfil:[87,148,150],dockerhub:137,document:[0,3,4,6,8,12,22,23,24,50,56,65,90,104,106,107,112,113,130,141,145,147,150],doe:[0,1,4,12,14,17,18,21,27,82,106,125,127,129,136,138,143,145,147,149],doesn:[6,12,22,24,29,32,38,83,86,89,130,145],doing:[104,108],domain:[5,12,16,17,18,19,25,27,29,30,34,39,46,74,78,79,80,82,83,91,92,93,101,103,106,121,122,123,125,126,131,132,135,136,138,141],don:[22,65,81,104,127,130,135,147],done:[19,50,79,94,104,106,124,132,137],dot:108,doubl:[49,64],down:[5,52,116,138],download:[6,50,65,86,95,96,97,98,99,101,106,138,148],download_directori:[95,96,97,98,99],download_eag:50,download_mod:[50,101],download_mode_eag:101,download_mode_no_download:101,download_mode_stream:101,download_stream:50,downstream:[0,9,41,52,103,106,145],drill:116,drive:[82,83],driven:24,driver:[89,106,116,150],drop:[145,147],due:[19,57,83],dummi:[1,100],dummystatscli:100,dump:101,duplic:50,durabl:22,durat:[9,17,27,31,37,45,49,50,51,52,54,79,82,101,102,106,132],dure:[22,30,44,62,87,104,124,126,135,143],dynam:[11,12,30,43,74,79,101,106,116,122,130,141,145,146,147],dynamic_job:[47,72,111],dynamic_job_pb2:101,dynamic_sidecar_task:106,dynamic_task:[79,82,106,144,147],dynamicjob:54,dynamicjobspec:[101,118],dynamictask:93,each:[0,5,10,12,13,15,16,19,22,23,24,31,32,42,52,75,83,85,89,103,106,113,115,121,122,123,125,127,147],earli:[62,104],earlier:[15,125],easi:[115,116,122,124,130],easier:[19,24],easiest:[10,15,137],easili:[0,10,83,122,135],easist:127,east:[5,6],echo:[106,149],ecr:137,edg:[137,138],edge_detection_canni:137,edgedetectorwf:[137,138],edit:[15,136],effect:[0,4,12,65,104,121,125],effici:147,effort:[101,115,137],either:[10,12,16,21,22,24,30,41,49,65,78,87,104,106,122,124,127,130],elabor:50,elect:[7,11],element:[23,74,78,85],elif:106,elimin:50,els:[24,52,106,148],else_nod:[52,103],email:[5,25,32,79,101,130,131],emailnotif:101,embed:[38,40],emit:[9,104,132],emphas:115,empti:[9,25,27,29,31,34,36,37,38,39,79,82,83,106,107],emptydir:[106,149],emptydirvolumesourc:[106,149],enabl:[8,9,13,14,19,50,60,64,68,81,90,101,106,107,112,114,115,121,122,128,148],enact:79,encapsul:[24,25,27,30,31,36,37,38,46,49,50,52,83,121,125,126],enclos:[5,41,53,126],encod:[50,54,78,85,106],encompass:27,encourag:132,encrypt:87,end:[0,5,17,22,27,50,79,82,87,115,116,125,126,132,133,145],end_dat:130,endpoint:[4,6,9,10,12,13,15,17,19,28,71,76,78,120,127,137,138],enforc:[16,24,86],engag:116,engin:[0,1,16,22,44,50,52,55,72,79,82,83,87,89,103,106,111,118,123,132,145,147],engine_nam:91,enginecontext:[83,89,91],enhanc:87,enqu:16,enqueu:[5,9,16],ensur:[15,50,52,81,83,86,94,103,106,115,116,120,125],enter:[15,81,87,106],enter_context:79,entered_stack:79,enthusiast:113,entir:[0,5,6,7,13,24,31,106,122,126,129,133],entiti:[0,16,20,24,25,27,29,31,33,37,46,47,52,56,74,78,82,83,87,89,101,108,121,124],entity_metadata:[29,101],entity_typ:79,entity_type_text:[79,82,83],entrant:81,entri:[13,74,75,136],entropi:94,entrypoint:[4,50,72,87,111,125,143,150],enum_to_str:[101,103],enum_type_wrapp:101,enumer:106,enumtypewrapp:101,env:[15,50,83,101,127,149],environ:[4,10,21,50,74,78,83,84,87,89,90,101,106,107,116,117,121,127,136,147,149],epic:115,epoch:148,epoch_accuraci:148,epoch_step:148,equal:[17,24,49,90,101,106,107],equir:[49,53],equival:106,errimagepul:45,error:[5,9,27,31,37,40,45,47,49,50,52,54,72,74,79,81,82,83,86,101,102,106,116,124,125],error_cod:81,error_messag:81,error_uri:[45,103],errordocu:103,errorkind:44,errors_pb2:103,especi:[79,106],essenti:[106,127],eta:116,etc:[10,16,22,24,25,33,50,51,54,79,83,85,89,101,104,106,109,110,114,121,125,127,148],etcd:22,etl:147,eval:9,evalu:[9,24,42,52,65,103,104,126],evaluation_interv:90,even:[4,22,29,31,38,81,83,87,114,115,126,137],event:[0,7,11,17,27,28,56,106,124,131,132],eventschedul:5,eventsink:9,eventu:[46,121,148],ever:[5,81],everi:[9,18,24,35,41,81,83,87,115,125,130,132,135,136],everyth:[10,13,52,123],evolut:115,evolv:[15,116],exact:[124,136],exactli:[74,115],exampl:[7,11,13,15,17,19,50,64,79,83,87,112,117,121,126,127,128,130,133,135,136,137,139,141,143,144,145,146,147,148,150],exc_tb:81,exc_typ:81,exc_valu:81,exce:[13,125],excecut:135,exceed:[45,90],excel:16,except:[65,72,74,79,82,83,85,86,90,104,107,108,111,127,144],excerpt:148,exchang:125,exclus:148,excut:[128,141],execut:[0,4,5,7,9,10,11,13,14,15,16,19,20,22,24,25,26,28,29,30,31,33,35,37,38,40,41,43,44,46,47,49,50,52,54,55,57,61,69,72,74,75,79,82,87,89,90,91,92,93,96,102,106,107,111,114,121,122,124,125,127,128,130,133,134,136,141,144,147,148,149,150],executable_sdk_object:79,execute_array_task:93,execute_with_liter:[79,82],execution_clust:27,execution_cluster_label:[30,101],execution_created_at:17,execution_d:[83,91],execution_engin:87,execution_ev:16,execution_id:[46,54,83,91,103],execution_nam:135,execution_pb2:[101,103],execution_queu:[30,101],execution_queue_attribut:[30,101],execution_spec:74,execution_updated_at:17,executionartifact:[79,82,83],executionclosur:101,executionclusterlabel:101,executionerror:[27,31,37,44,54,79,82,83,101,102,103],executionid:31,executionmetadata:101,executionmod:101,executionnam:18,executionparamet:83,executionqueueattribut:[12,101],executionspec:[74,101],executionvers:18,executor:[7,11,22,54,66,106,149,150],executor_path:101,executorpath:67,exercis:0,exeuct:0,exist:[4,6,12,13,16,17,18,24,27,41,51,74,78,83,86,89,92,95,96,97,98,99,101,106,137,150],exit:[50,55,85,86,106,125,143],exitstack:79,expand:[10,11],expect:[50,106,122,125,144],expected_input:[29,101],expected_output:[29,101],expected_typ:81,experi:115,expir:[76,78],expiri:45,explain:[0,11,17,23,87,115,127],explan:[4,16],explicit:[17,74],explicitli:[25,52,87,90,106,107,126,147],explod:50,explor:113,expos:[0,16,17,24,25,32,50,125],express:[17,24,42,90,103,116,121,125,130],extend:[23,24,51,79,87,106,112,113,115,126,129,149],extend_tag:100,extendable_func:100,extendedsdktyp:[79,85],extens:[22,23,50,54,79,90,101,106,107,125],extern:[7,11,14,16,19,56,83,145,147],external_loc:147,extra:[19,50,52,101,103,148,149],extrem:[7,116],face:[0,27],facilit:[87,126],fact:[15,22,38,82,132,145],fact_airport_sess:147,fail:[0,17,27,37,40,43,45,49,52,83,89,103,106,122,124,131,132,133],fail_after_executable_nodes_complet:[52,103,133],fail_immedi:[52,103,133],failed_node_id:51,failur:[5,9,13,44,50,52,57,79,81,90,101,103,106,107,116,124,125,126,128,132,141],failure_nod:[52,103],fall:87,fallback:87,fals:[50,74,75,78,79,83,84,86,89,95,100,103,106,107,130,148],far:24,fashion:115,faster:[136,147],fault:[0,121],favor:27,featur:[1,9,14,50,112,115,117,121,141],feed:[12,83,89],feedback:115,feel:[115,127],fetch:[4,19,25,27,29,31,36,37,38,74,79,82,83,85,86,91,92,93,106,120,124,128],fetch_latest:83,fetch_latest_task:[91,92,93],fetch_launch_plan:[91,92,93],fetch_task:[91,92,93],fetch_workflow:[91,92,93],fetch_workflow_execut:[91,92,93],few:[10,21,116,138,144,149],ficu:135,field1:106,field2:106,field:[12,17,22,25,27,32,36,38,40,41,43,46,49,51,52,54,59,61,65,74,82,83,101,103,104,106,107,132,136,149],file:[4,9,12,13,15,16,21,22,25,30,44,49,50,54,65,74,78,82,83,86,87,95,96,97,98,99,101,104,106,108,115,127,137,138,149],file_path:[13,95,96,99],filenam:[19,83,89],filepath:79,filesystem:[50,86],fill:[5,12,41,48,75,87],filter:[16,25,31,37,72,74,79,83,91,92,111],filter_list:101,filterlist:101,find:[10,12,15,16,29,65,104,108,135,138,140],fine:[1,130],finish:[19,24,125],fire:5,first:[3,13,15,22,50,52,74,78,82,83,85,90,103,106,107,120,125,127,138,139,140,141,145],first_task:106,fit:[0,23],fix:[27,29,101,113,130,133],fixed_input:[29,79,101,122,130],fixedr:[79,101,130],fixedrateunit:101,flag:[19,31,50,115],flavor:[50,101,126,131],flexibl:[24,125,126],float_valu:[49,101],flow:[11,52,76,79,87,113,114,121,126],flush:45,flyte:[0,1,3,5,6,9,10,12,13,14,16,17,21,23,25,29,36,40,46,50,52,64,65,72,74,79,83,87,89,90,91,101,103,104,106,107,109,114,115,117,122,123,124,125,129,134,136,139,140,141,143,144,145,148,150],flyte_cach:18,flyte_cli:[72,75],flyte_client_url:76,flyte_credentials_auth_mod:4,flyte_credentials_authorization_metadata_kei:4,flyte_credentials_client_id:4,flyte_credentials_client_secret:4,flyte_credentials_client_secret_from_env_var:4,flyte_credentials_client_secret_from_fil:4,flyte_credentials_scop:4,flyte_gener:[10,13,15],flyte_input_fil:50,flyte_internal_imag:87,flyte_output_fil:50,flyte_platform_auth:4,flyte_platform_url:[137,138],flyte_sdk:[50,101],flyte_task:18,flyte_temporary_t:147,flyte_test:106,flyteabcmeta:101,flyteadmin:[0,7,9,10,11,12,13,15,20,23,112,120,121,124,127],flyteadmin_config:15,flyteassert:[79,81],flyteauthenticationexcept:81,flyteboolconfigurationentri:87,flytecli:[0,122,127],flyteconfigurationfil:87,flyteconsol:[0,10,16,20,124],flytecustomidlent:101,flytedefaulttypeengin:110,flyteenginefactori:92,flyteentityalreadyexistsexcept:[74,81],flyteentitynotexistexcept:81,flyteentrypointnotload:81,flyteexcept:81,flyteidel:33,flyteidl:[3,9,22,56,74,78,79,83,85,101,102,103,104,115],flyteidlent:[79,83,89,92,93,101,102,103,104],flyteintegerconfigurationentri:87,flytekit:[0,4,16,21,22,50,65,112,114,115,121,127,129,133,135,137,147,148,149,150],flytekit_install_spark:150,flytekit_spark_entrypoint:150,flytelaunchplan:92,flytenodeexecut:92,flytenotimplementedexcept:81,flyteplugin:[0,112,148],flytepropel:[0,1,15,16,50,112,115,148],flyteproto:149,flyterecoverableexcept:[81,106],flyterequiredboolconfigurationentri:87,flyterequiredintegerconfigurationentri:87,flyterequiredstringconfigurationentri:87,flyterequiredstringlistconfigurationentri:87,flytescopedexcept:81,flytescopedsystemexcept:81,flytescopeduserexcept:81,flytesdk:143,flytesdktyp:[79,83,85,86,106,109,110,147],flytesdkvalu:[83,85,106],flytesnack:[112,137,138,140,148],flytestdlib:[6,7,16],flytestringconfigurationentri:87,flytestringlistconfigurationentri:87,flytesystemassert:81,flytesystemexcept:81,flytetask:92,flytetaskexecut:92,flytetimeout:81,flytetyp:[79,101],flytetypeexcept:[81,85,106],flyteuserexcept:81,flytevalidationexcept:81,flytevalueexcept:[81,83],flyteworkflow:[0,13,92],flyteworkflowexecut:92,focu:[115,116],focus:115,folder:[21,50,78,108],follow:[3,4,5,9,12,13,19,78,87,115,125,127,130,132,134,138,143,144,145,147,148,149,150],foo:[17,74,147,149],forbidden:86,forc:[4,9,12,86,87,106],force_auth_flow:74,force_cleanup:79,forget:130,form:[12,51,52,85,106,109,110,114,127,136,138],format:[0,5,6,16,19,24,27,44,49,50,51,54,79,80,82,83,85,86,87,89,101,103,106,109,120,135,137,143,147,149,150],format_section_kei:87,formatt:6,formatted_query_1:145,formatted_query_2:145,former:122,forward:[10,32,115],found:[4,16,50,74,79,82],four:12,fqdn:79,fqdn_safe:79,fraction:[90,106,107],frame:[86,101],framework:121,fraud:116,free:[12,51],frequenc:[9,35],friendli:[52,54,72,106,111,122],friendlyworkflownam:15,from:[0,4,5,9,12,13,15,16,19,21,22,24,25,29,32,33,36,38,41,43,44,45,49,50,51,52,55,65,74,75,78,79,81,82,83,85,86,87,89,90,91,92,93,101,102,103,104,106,107,109,112,116,117,122,123,128,129,130,132,133,136,137,138,145,147,148,149],from_dict:[101,106],from_flyte_idl:[79,85,101,102,103,104],from_path:[97,98],from_python_std:[79,80,85,86,101,102,106],from_str:[85,86,106],front:116,fulfil:[0,13,103,116,137,138],fulfil_bind:93,fulfilled_promis:93,full:[4,5,16,24,45,118,135],full_input:[27,31,37,101],full_output:[27,31,37,101],full_prefix:100,fullfil:[0,52],fulli:[17,101,123,125],func:17,fundament:114,further:[0,27,101,132],furthermor:[74,81],futur:[21,22,25,27,29,34,39,40,83,101,115,128],fyi:87,gain:113,garbag:[6,9],gate:27,gatewai:[16,17],gauarante:50,gaug:[93,100],gcloud:1,gcp:[10,15,72,79,111],gcs:[72,87,94,95],gcs_prefix:96,gcs_proxi:[72,94,95],gcsproxi:96,gener:[0,4,5,15,21,22,24,25,27,30,40,43,44,49,50,54,74,79,85,86,87,89,94,101,106,112,122,125,127,132,136,144,145,147,149],generate_doc:21,generate_oth:144,generate_pod_spec_for_task:[106,149],generate_queri:145,generate_simple_queri:145,generated_pb2:[83,106,149],generatedprotocolmessagetyp:85,generic_spark_task:[72,79,106],get:[3,11,12,13,15,16,17,22,24,27,30,49,52,78,82,95,101,103,112,116,124,127,137,138,140,141,144,147,149],get_active_launch_plan:74,get_authorization_endpoint:76,get_base_stat:100,get_basic_authorization_head:78,get_bool:87,get_child_execut:[83,91,92],get_client:76,get_command:78,get_data:95,get_engin:91,get_execut:74,get_execution_data:74,get_extras_requir:108,get_input:[91,92],get_int:87,get_launch_plan:[74,91,92,93],get_named_tempfil:79,get_node_execut:[74,79,91,92,93],get_node_execution_data:74,get_non_system_nod:79,get_output:[91,92],get_pod_spec:149,get_project_domain_attribut:74,get_random_directori:[95,96,97,98,99],get_random_path:[95,96,97,98,99],get_remote_directori:95,get_remote_path:95,get_sdk_type_from_literal_typ:[85,109,110],get_sdk_value_from_liter:85,get_secret:78,get_spark_context:[83,89],get_stat:100,get_str:87,get_sub_workflow:79,get_subworkflow_execut:[91,92],get_supported_literal_types_to_pandas_typ:86,get_task:[74,91,92,93],get_task_execut:[74,91,92,93],get_task_execution_data:74,get_token:78,get_version_messag:79,get_workflow:[74,91,92,93],get_workflow_attribut:74,get_workflow_execut:[91,92,93],get_write_partition_to_hive_table_queri:86,getcustomst:22,getlaunchplan:120,git:[15,127,137],github:[1,10,15,18,21,25,50,60,68,85,106,112,115,127,137],githubusercont:10,give:[9,74,82,83,87],given:[16,22,27,29,41,50,54,57,74,75,78,79,83,87,89,101,108,122,127,136,138,147],gizmo:16,gke:10,global:[12,24,50,52,79,94,101,103],globalsparkcontext:83,gloo:148,glossari:44,goal:[0,115,123,125],godoc:6,goe:[82,132],going:140,golang:[0,6,7,22,24,50,101],golden:115,gone:15,goodnight:106,googl:[1,10,16,27,29,31,36,37,38,45,49,50,51,52,54,101,137],gorm:16,gormimpl:16,got:130,gpu:[12,30,50,87,90,101,106,107,125,148],gpu_limit:[83,84,89,90,106,107],gpu_request:[83,84,89,90,106,107],grab:106,grace:125,grade:11,grant:19,graph:[0,24,31,38,51,52,54,101,103,114,116,121,126,133],greater:[17,24,42,65,74,104],greaterthan:101,greaterthanorequ:101,grep:13,greter:17,group:[8,29,31,45,54,78,83,121,123,127,147],grow:12,grpc:[0,4,9,16,17,28,56,74,87,127],gsutil:1,gte:[17,42,103],guarante:[16,41,50,90,101,106,107,121,125],guid:[0,21,139,140,141],guidanc:75,guidelin:[23,115],had:[22,130,137],hadoop:[101,106,150],hadoop_conf:[83,101,106,150],hadoopconf:67,hand:82,handbook:10,handl:[0,3,5,9,10,11,16,50,52,74,76,81,83,87,116,125,132,147],handle_authorization_cod:76,handle_login:76,handler:[16,22,50,126,132,137],happen:[18,21,144,145],hard:[24,131],hardcod:87,hardwar:116,has:[0,5,7,9,10,12,15,16,17,19,22,24,26,31,41,48,50,52,57,65,82,83,101,103,104,106,115,116,125,130,132,133,135,136,137],has_valid_nam:82,has_workflow_nod:93,hash:[5,18,40,72,79,83,127,136],hash_string_task:136,hashonreferencemixin:[79,82,83],have:[1,4,5,10,12,13,14,15,17,18,19,21,22,24,25,27,29,31,38,43,45,48,50,51,52,54,75,78,79,82,83,87,89,91,92,93,94,101,103,106,115,116,121,122,125,126,135,137,139,144,145,149,150],haven:149,havoc:132,head:16,header:[4,12,78],headless:4,hear:115,held:79,hello:[10,106],hello_spark:150,help:[0,4,15,19,21,49,79,81,83,87,101,106,114,115,131,132,135,137,147],helper:[72,79,88,111],henc:150,her:[87,113],here:[0,1,4,12,13,15,16,22,25,27,45,50,52,56,79,81,87,96,115,122,125,127,130,137,144,148],hidden:115,hierarchi:11,high:[0,13,21,22,45,56,115,125,132,147],highest:115,highlevel:132,highli:[112,114],highlight:[1,115],his:87,histor:124,histori:115,hit:[4,9,12,18,81,82],hive:[0,54,61,79,83,85,86,106,125,141,146,147],hive_job:[79,83],hive_result:145,hive_sensor:108,hive_task:[22,72,79,106,145],hivefilteredpartitionsensor:90,hivenamedpartitionsensor:90,hivequeri:101,hivequerycollect:101,hivetablesensor:90,hivetask:93,hmsclient:108,hold:[15,24,38,101],home:[9,82],homepag:138,homogen:51,honor:[79,82,83],hook:83,hop:19,host:[10,15,19,21,90,100,113,135,137,138,141],hour:[9,35,101,122],hous:[16,21],how:[0,1,3,5,10,11,12,15,20,22,23,24,25,43,45,49,50,52,87,90,101,103,104,106,107,112,114,118,125,128,130,132,143,144],howev:[4,13,16,17,19,29,50,78,82,87,106,122,126,130,133,149],hpo:[62,104],hpo_job:[72,101],hpo_job_task:[72,79,83],href:5,html:[1,21,50,62,64,65,87,104],http:[1,4,5,10,12,15,16,17,18,19,25,49,50,60,62,64,65,68,72,76,78,85,87,94,95,104,106,138],http_data_proxi:[72,94,95],http_url:87,httpfileproxi:97,httpserver:76,hub:112,human:[0,17,101],hundr:0,hydrat:[79,83],hyperparamet:[62,64,65,104,125],hyperparameter_rang:[62,104],hyperparameter_tuning_job:63,hyperparameter_tuning_job_pb2:104,hyperparameterscalingtyp:104,hyperparametertuningjob:104,hyperparametertuningjobconfig:104,hyperparametertuningobject:104,hyperparametertuningobjectivetyp:104,hyperparametertuningstrategi:104,hysteresi:137,iam:[5,6,15,79,87,101,128],iceberg:140,idea:[82,115],ideal:[87,90,116],idempot:[90,106,107,125],ident:[1,4,15,16,24,27,74,125,136],identif:[46,129],identifi:[15,17,24,25,27,29,31,36,37,38,40,41,47,50,51,52,54,72,74,79,82,83,87,91,92,93,101,102,124,127,129],identifier_pb2:103,idl:[0,4,21,79,101],idl_dict:101,idl_object:101,idlist:103,idp:[11,78,87],ids:[17,41,43,52,101,103],ietf:87,if_els:[52,103],ifblock:103,ifelseblock:103,ignor:[41,74,108],ignore_ent:108,ignore_schedul:78,iktp762nh:147,imag:[10,22,24,50,65,83,87,101,104,106,135,137,138,143,148,149,150],image_input:[137,138],image_loc:137,image_nam:137,ime:27,img:137,immedi:[43,79,115,133,135],immut:[17,126],impl:[72,79,85,88,106],implement:[0,4,9,16,17,20,24,50,51,71,76,78,83,85,90,91,106,107,114,132,143],impli:[16,27,122],implicit:[52,103],implicitli:17,impliment:23,importantli:[10,22],importerror:108,impos:4,imposs:[43,87,125],improv:[62,104],improved_sea_launch_plan:130,imread:137,imwrit:137,in1:[106,149],in2:106,in3:106,inact:[17,29,74,101,130],inadvert:136,inbound:12,includ:[0,6,9,10,12,13,15,16,17,22,23,25,27,29,36,37,45,50,52,54,65,83,87,89,101,103,104,106,108,116,120,121,123,126,127,131,132,143,148,149],include_ent:108,inclus:106,incom:16,incomplet:29,incr:[93,100],increas:[10,11,12,13,64,115,116],increment:[27,54],indefinit:[90,106,107],indentifi:24,independ:[57,115,121,125,127],index:[16,18,21,94,144],indic:[5,9,25,27,29,31,37,40,45,46,50,52,54,115,136],individu:[0,7,11,17,24,27,31,46,50,54,85,106,116,122,123,144],inevit:125,inextric:87,infer:[74,109],infer_sdk_type_from_liter:[85,109,110],infinit:82,influenc:94,info:[10,25,31,37,45,143],inform:[0,1,9,10,12,17,18,19,20,21,22,24,25,27,31,33,35,37,40,41,45,50,51,52,54,58,74,90,101,103,104,106,107,123,124,125,126,127,132,145],ingenu:82,ingress:[10,19],inher:[125,132],inherit:[16,79],init:[15,137],init_process_group:148,initi:[5,6,16,45,76,87,130,137],inject:[83,90,106,107,126,132,149],inlin:[4,41,50],inner:51,input:[18,22,24,27,29,31,35,36,37,38,42,48,49,50,52,54,57,65,74,75,79,82,83,85,89,90,91,92,93,101,103,104,106,107,109,110,120,121,124,125,126,135,136,137,138,143,144,147,148,149],input_a:106,input_argu:75,input_b:[75,106],input_blob:106,input_c:75,input_content_typ:[65,104],input_data_dir:83,input_link:79,input_map:[83,89],input_mod:[65,104],input_path:[50,101],input_uri:[31,37,54,101,102],inputcontenttyp:104,inputmod:104,insecur:[9,74],insert:[86,106,138,145,147],insid:[13,50,106,127],insight:123,instal:[3,5,10,15,21,106,112,114,137,138,139,146,148,150],instanc:[4,5,18,22,33,52,57,65,79,82,83,89,94,101,104,106,121,126,127,137,145,150],instance_count:[65,104],instance_typ:[65,104],instanti:[27,37,79,82,106,126],instantiabletyp:85,instantiated_in:82,instead:[4,9,10,15,17,50,79,92,96,136,145,147],instruct:[52,103,118,133,144],int32:[60,68],int64:[25,43,49,57,62,64,65,118],int_list:[106,107],int_valu:[101,103],integ:[17,49,50,51,64,79,82,83,85,90,101,103,106,107,109,110,130,135,143,144,147,148],integer_parameter_rang:64,integerparameterrang:104,integr:[4,22],intend:[1,6,27],intens:0,intention:49,interact:[0,4,24,49,91,113,128,140],interest:113,interfac:[0,16,22,24,47,49,50,51,52,56,72,74,75,83,86,89,91,103,106,111,116,125,128,136,143],interface_pb2:101,interfer:132,intermedi:[104,118,126],intern:[17,22,25,32,41,56,72,101,111],internal_overrid:87,interoper:51,interpret:[50,82],interrupt:[50,52,83,90,101,103,106],interv:[9,14],introduc:[122,125,127],introduct:[112,130],invari:24,inventori:121,invest:21,investig:4,invoc:[27,122,125,129],invok:[5,22,89],involv:116,io_strategi:[50,83,101],iostrategi:[83,101],iptabl:10,ipv6:100,irrevers:27,is_avail:148,is_castable_from:[85,106],is_complet:[79,82,83],is_distribut:148,is_empti:101,is_initi:148,is_multipart:95,is_par:[37,102],is_parent_nod:31,is_schedul:79,isfil:[106,149],isn:[82,106],isol:[0,13,117,121],issu:[4,16,25,115,116,132],item:[9,24,49],iter:[21,25,74,78,86,108,115,125,135],iter_chunk:106,iteract:127,iterate_modul:108,iterate_node_execut:74,iterate_registerable_entities_in_ord:108,iterate_task_execut:74,its:[0,10,12,17,19,22,24,25,32,41,50,52,103,115,118,121,125,127,135,143,144,148],itself:[0,4,22,48,50,52,66,82,87,106,137],java:[24,67,106],javascript:0,job:[43,49,57,60,62,65,66,68,83,94,101,104,106,107,115,125,144,148,150],join:78,jpg:137,json:[6,12,22,24,45,50,85,103,106,124],jsonpath:13,jump:113,just:[1,10,13,22,52,82,87,92,93,126,127,135,137,140,145],jwt:4,k8s:[9,10,50,66,101,106,108,148,149],kafka:16,katib:125,katrogan:25,keep:[22,66,79,115,132],kei:[6,12,13,15,16,17,22,25,30,49,51,78,79,86,87,101,102,106,129,136],keyvaluepair:50,keyword:[90,106,107],kick:[5,35,54,127,130],kickoff:35,kickoff_time_input_arg:[35,79,101,130],kind:[13,45,81,91,92,93,103,125],kit:[127,137],knob:[113,116],know:[10,24,45,81,82,125,136,143,144,145],knowledg:38,known:[42,50,76,82,85,86,125],known_loc:[85,86],known_remote_loc:86,kube:[9,134],kubeapi:13,kubeconfig:9,kubectl:[10,13,15],kubeflow:[60,68,106,148],kuberent:10,kubernet:[0,1,3,7,9,10,11,12,15,17,30,50,79,87,90,101,106,107,120,128,129,148,149,150],kubernetes_service_account:[25,29,79,87,101,134],kustom:[10,12,13,15],kwarg:[74,79,81,82,83,90,93,106,108,148],l12:10,l187:22,l27:22,l30:50,l623:22,l80:50,l92:22,label:[11,13,27,29,30,33,79,82,83,91,92,93,101,106,115,128,135,141],label_overrid:[79,82,83,91,92,93],lack:[54,94],lambda:[90,125],languag:[0,23,49,109,112,114,121,124,125],lanugag:124,laptop:140,larg:[9,22,27,50,101,115,144],larger:24,last:[9,27,29,31,37,90,130],latenc:[19,101,132],later:[108,124,145],latest:[50,62,64,65,83,87,91,92,93,104],lauch_plan:17,launch:[0,4,9,12,13,14,16,17,24,25,27,29,31,48,52,54,57,62,65,69,74,75,79,82,83,87,91,92,93,101,103,104,106,108,116,120,121,124,126,127,128,130,134,138,141,144],launch_plan:[16,17,27,28,30,46,72,74,75,91,92,93,103,111],launch_plan_id:[91,92,93],launch_plan_identif:74,launch_plan_name_format:87,launch_plan_pb2:[78,79,101],launch_plan_spec:74,launch_with_liter:[79,82,83],launchabl:[72,79,83],launchableent:[79,82,83],launcher:[7,11],launchplan:[1,24,25,74,91,92,93,101,117,121,144],launchplan_ref:[52,79,103],launchplanabstractgroup:78,launchplanclosur:101,launchplanexecutegroup:78,launchplanmetadata:101,launchplanspec:[74,78,79,101],launchplanst:[74,79,91,92,101,130],layer:[16,22,24,41,50,51,52,101],lazy_load:[72,111],lazy_load_modul:108,lazy_loading_plugin:108,lazyloadplugin:108,lead:[4,125],leader:[7,11],leaderelector:9,leadership:9,leak:81,learn:[10,62,64,112,114],learning_r:148,leas:9,least:[15,82],leav:138,left:103,left_express:[42,103],left_valu:[42,103],leg:4,length:5,less:[17,24,42,49,87],lessthan:101,lessthanorequ:101,let:[5,10,12,13,15,18,24,125,130,137],level:[0,5,6,7,9,11,13,16,17,21,22,23,27,33,42,49,50,52,54,56,87,90,101,103,106,107,123,125,127,132,143,147],leverag:[0,16,25,33,82,148],lexicograph:86,lib:148,libari:19,librari:[16,87,106,132,137],lifecycl:[17,116,149],lifetim:27,like:[0,4,5,12,13,14,15,17,19,22,25,33,45,47,50,51,52,54,74,75,82,87,101,106,114,115,122,124,125,126,130,135,137,144,145,147,148,149],likewis:13,limit:[6,9,12,13,15,17,25,29,30,31,37,50,51,62,74,87,101,117,123,135,147,148],line:[0,4,5,9,13,15,32,74,106,116,128,135,137],lineag:14,linear:[64,104],link:[7,11,25,27,31,37,45,52,79,83,90,106,107,114,121,135,137,138],linux:87,list:[1,4,8,10,12,15,16,17,18,24,25,27,29,31,32,36,37,38,41,43,45,50,51,52,65,74,78,79,82,83,85,86,87,91,92,93,101,102,103,104,106,108,115,127,130,138],list_active_launch_plans_pagin:74,list_command:78,list_dir:79,list_executions_pagin:74,list_launch_plan_ids_pagin:74,list_launch_plans_pagin:74,list_matchable_attribut:74,list_node_execut:74,list_node_executions_for_task_pagin:74,list_node_executions_pagin:74,list_project:74,list_task_executions_pagin:74,list_task_ids_pagin:74,list_tasks_pagin:74,list_workflow_ids_pagin:74,list_workflows_pagin:74,listexecut:17,listimpl:85,listlaunchplan:17,listnodeexecut:17,listtask:17,listtaskexecut:17,listtaskid:17,listworkflow:17,listworkflowid:17,liter:[18,24,47,48,52,72,74,75,79,82,83,85,86,89,91,92,93,103,106,109,110,111],literal_input:[79,82,83],literal_map:85,literal_model:[85,106],literal_typ:[79,85,109,110],literalcollect:101,literalmap:[27,29,31,37,50,74,75,79,82,83,85,89,91,92,93,101],literalmap_format_json:101,literalmap_format_proto:101,literalmap_format_yaml:101,literalmapblob:101,literals_pb2:[85,101],literaltyp:[48,49,79,85,101,106,109,110],littl:144,live:[13,15,19,101,114,132],load:[0,3,10,11,13,16,19,50,78,82,85,106,108],load_proto_from_fil:79,load_workflow_modul:108,loader:[72,79,82,83,111],local:[6,10,15,19,23,24,50,72,83,86,87,89,94,95,101,106,113,137,140,141],local_execut:[83,89],local_file_proxi:[72,94,95],local_path:[85,86,95,96,99],local_sandbox:87,localdatacontext:95,localfileproxi:98,localhost:[10,19,100,137,138],localstorag:19,localtestfilesystem:106,localworkingdirectorycontext:95,locat:[6,9,10,18,19,21,50,85,86,87,94,106,116,137,145],lock:9,log:[0,6,7,9,11,19,37,45,54,83,87,90,91,102,106,107,135,137,143],log_backtrace_at:9,log_dir:9,log_interv:148,logarithm:[64,104],logger:[7,11],logging_level:87,logic:[0,16,17,22,24,36,50,78,83,85,89,90,101,106,107,116,121,127,135],logicaloper:103,logtostderr:9,long_str:[85,106],longer:[13,15,25],longhand:106,look:[0,1,4,5,13,15,19,22,50,82,87,130,137,147],look_up_version_from_image_tag:87,lookup:[4,40,50],loop:[9,22],lose:50,lot:147,love:115,low:[23,45,62,94,104,143],lower:[90,106,107,117],lp_argument:78,lsof:87,lte:[17,42,103],lyft:[1,4,10,15,18,22,25,52,103,112,114,115,116,117,127,137,138],lytekit:85,mac:10,machin:[0,10,15,62,64,86,112,114,116,137],made:[4,22,50,87,101,136],mai:[4,10,12,25,27,29,30,31,34,35,37,39,40,42,45,48,49,51,52,54,64,106,115,121,135,136,137,138],main:[13,16,21,41,50,72,75,101,132],main_application_fil:[83,106],main_class:[83,101,106],mainapplicationfil:67,mainclass:[67,106],mainli:54,mainta:115,maintain:[94,112,114,115],major:[0,23,115],make:[5,10,12,13,15,19,21,22,24,46,50,52,81,86,103,114,115,116,120,124,125,130,133,136,137,140,148],makefil:137,manag:[0,3,7,9,12,14,15,17,25,50,85,86,101,106,114],mani:[17,36,115,122,126,130,132,136,144],manipul:144,manner:[46,64],manual:[19,24,27,101,115,136],manual_se:148,map:[9,10,17,22,24,25,27,30,31,36,38,41,48,49,51,54,62,64,67,75,79,83,85,86,89,101,103,104,123,125,143,144,150],map_of_bind:79,map_value_typ:[51,101],mark:[43,48,52,57,101,103,106,115,125,133,136,137],marker:50,marshal:22,massiv:[0,125],master:[9,10,21,50,106,148],match:[12,24,30,40,48,49,51,52,57,74,82,86,90,101,103,106,107,115,120,122,137],matchabl:[12,17],matchable_attribut:12,matchable_resourc:[28,72,111],matchable_resource_pb2:101,matchableresourc:[34,39,74,101],matching_attribut:[34,39,74],matchingattribut:[12,34,39,74,101],matter:106,matthewphsmith:82,max:[9,50,90,106,107],max_concurr:[83,106],max_failur:90,max_number_of_training_job:[62,84,104],max_parallel_training_job:[62,84,104],max_size_mb:6,max_valu:[64,104],maxdownloadmb:6,maxim:[62,104],maximum:[6,9,62,74,104,106],maxudps:100,mean:[17,19,22,52,74,82,87,101,122,126,136,145],meaningless:149,meant:[12,15,52,79,82,117,129],measur:[9,132],mechan:121,medium:[45,49,106,115,149],meet:115,mem:6,memoiz:[20,121],memori:[6,12,15,22,30,50,82,87,90,101,106,107,125,149,150],memory_limit:[83,84,89,90,106,107],memory_request:[83,84,89,90,106,107],mention:[22,115],mere:[78,83,89],merg:[21,25,27],messag:[16,17,19,22,24,27,30,31,37,44,45,49,51,55,59,61,86,103,106,116,118,127,131,149],message_format:[45,103],messageformat:103,met:[43,57,101],meta:[18,74],metaclass:[79,82],metadata:[7,9,11,13,18,25,27,29,31,36,37,38,40,41,45,49,50,51,52,54,74,79,83,87,89,101,103,127,129],metadata_default:[52,79,103],metadata_format:83,metadata_format_json:83,metadata_format_proto:83,metadata_format_yaml:83,metadataprefix:9,metastor:[124,145],metat:86,method:[11,16,22,27,74,75,79,81,82,83,86,90,100,101,106,107,125,135],metric:[9,62,65,81,93,100,101,104,128,141],metric_definit:[65,104],metric_nam:[62,104],metricdefinit:104,microsoft:10,might:[51,57,74,81,83,86,94,125,132,144,148],migrat:87,migration_model:16,mileston:114,mimic:90,min:50,min_success:[43,57,101,118],min_valu:[64,104],mind:[5,22],minikub:10,minim:[15,19,24,62,104],minimum:[6,57,101],minio:[6,138],miniostorag:138,minut:[9,35,101,122,130],miscellan:146,miss:75,mixin:[72,79,83,108],mkdir:[13,137],mnist:148,mnist_cnn:148,mnist_pytorch_job:148,mock_stat:[72,91],mockstat:93,mode:[17,25,27,50,52,65,86,87,101,103,104],model:[24,46,62,64,65,72,74,75,78,79,80,82,83,84,85,86,89,90,91,92,93,106,107,109,110,111,116,125,129,133,147,148],model_fil:148,model_st:148,modif:[15,23],modifi:[15,113,149],modul:[0,7,19,111,127],module_load:[72,111],moduletyp:108,moment:[10,15,50,138],momentum:148,monitor:[17,22,106,114,124,128,149],month:[35,115],monthli:115,moon:106,more:[0,1,4,5,10,12,16,17,21,22,24,25,27,29,31,36,37,38,41,45,50,57,62,65,81,83,86,87,89,104,106,114,118,121,125,126,127,130,132,139,141,144,145,147,149],more_input:135,most:[0,4,10,17,19,22,27,29,52,57,101,106,115,122,127,135,137],mostli:[65,82,104,115],mount:[13,15,21,50,65,87,149],mountpath:[13,106,149],move:[115,132],much:[45,52,103,122,125,133],multi:[10,12,86,121,127],multipart:[50,51,86,103],multipart_blob:[50,86],multipartblob:[85,86,106],multipartblobinstanti:85,multipartcsv:[85,106],multipartcsvinstanti:85,multipl:[0,17,22,24,25,27,29,31,36,37,38,42,46,54,57,74,83,89,115,121,122,123,125,127,130,135,136,149],multiple_presto_queri:147,must:[5,12,16,17,19,27,29,41,49,50,51,52,74,75,79,82,83,86,89,90,91,101,103,106,107,116,125,130,137,139],mutabl:17,mute:6,my_complicated_task:135,my_contain:149,my_cron_launch_plan:130,my_domain:135,my_fixed_rate_launch_plan:130,my_flyte_project:135,my_flyte_projext:135,my_input:79,my_launch_plan:[82,129],my_lp:134,my_nod:106,my_other_project:135,my_other_task:106,my_output:79,my_pod_spec:149,my_project:135,my_protos_pb2:106,my_pytorch_job:106,my_queu:12,my_routing_group:135,my_schedul:130,my_second_task_inst:79,my_sidecar_task:149,my_single_task_execut:135,my_sub_task:106,my_task:[79,106,107,135],my_task_exec:135,my_task_inst:79,my_workflow_id:106,myemail:130,myexecutionlabel:129,myflytedomain:130,myflyteproject:[130,137],myimag:87,myscheduledworkflow:130,mystr:75,mytag:145,myuniqueworkflow:15,myworkflow:[106,129,130,134],name:[5,9,12,13,15,16,18,24,25,27,29,30,33,35,39,40,45,46,48,49,50,51,52,54,62,64,65,74,75,78,79,80,82,83,85,86,87,89,90,91,92,93,100,101,103,104,106,107,117,120,122,123,125,126,130,132,135,136,137,143,149],name_format:87,named_ent:[72,74,111],named_entity_act:25,named_entity_archiv:25,named_task:[91,92,93],namedentityidentifi:[29,74,91,92,93,101],namedentityidentifiermetadata:74,namedentitymetadata:101,namedentityst:101,namespac:[1,9,12,13,19,33,74,101,132,137],nativ:[82,135,149],natur:[126,144],neccessarili:136,necessari:[0,4,15,19,22,27,75,83,86,90,106,107,116,122,124,127,130],necessarili:[24,29,122,149],need:[0,4,5,9,10,13,15,18,19,21,22,24,32,38,50,52,53,54,65,75,79,81,82,83,86,101,103,104,106,125,126,130,137,138,143,144,147,148,149,150],neg:57,neither:16,neq:[42,103],nest:[27,31,42,49,100,101,106,121],nested:27,net:[12,127,138,148],netloc:87,network:[57,82,137,138],never:[25,130],new_client:100,new_config_path:87,new_nam:79,new_typ:83,newer:[90,106,107],newer_cli:100,newli:[0,21],next:[13,15,19,22,25,27,29,31,36,37,38,74,83,89,115,116,136,137],nil:[22,49],node1:106,node2:106,node:[10,16,17,24,26,27,31,37,40,41,42,43,45,46,47,49,50,51,54,72,74,83,89,91,92,93,101,103,106,111,121,132,133,138,141,144,148],node_exec:[91,92,93],node_execut:[16,17,28,72,74,79,91,92,106,111],node_execution_created_at:17,node_execution_ev:16,node_execution_id:[37,46,80,103],node_execution_identifi:74,node_execution_pb2:101,node_execution_updated_at:17,node_id:[17,46,51,54,79,101,103],node_nam:54,nodea:24,nodec:24,nodeexecut:[54,74,79,101],nodeexecutionclosur:101,nodeexecutionev:[17,26],nodeexecutiongetdatarespons:[74,101],nodeexecutionidentifi:[27,31,37,54,74,101,103],nodeexecutionphas:103,nodej:19,nodemetadata:103,nodeoutput:79,nodepool:1,nodeport:10,non:[9,17,27,29,31,57,101,106,107,129],non_recover:[44,103],none:[27,49,51,52,74,76,78,79,81,82,83,85,86,87,89,90,91,92,93,95,96,99,100,101,102,103,104,106,107,108],none_typ:[49,101],nonetyp:85,noop:9,nor:16,normal:[22,87,148],noschedul:148,note:[1,5,10,12,15,19,22,23,32,50,57,62,74,79,81,82,83,87,90,104,106,108,125,127,130,137,138,144,147,148],notebook:[72,88],notebook_path:89,notequ:101,noth:[79,130,145],notic:[5,13,136],notif:[7,11,16,26,27,28,29,72,82,83,91,92,93,101,111,116,122,124,128,130,135,141],notifi:[50,130],notification_overrid:[79,82,83,91,92,93],notificationlist:101,notimplementederror:81,notion:12,now:[13,15,22,62,64,127,130,137,138],npm:19,num_rides_complet:147,num_work:148,number:[9,25,29,31,37,43,49,50,52,54,57,60,62,65,68,74,87,90,94,101,104,106,107,116,125,144,145,148],numpi:108,nwdwxc7fjnksj9rtzdvbm894pjlvdgrm_extern:147,nwdwxc7fjnksj9rtzdvbm894pjlvdgrm_temp:147,oauth2:[4,87],oauth:[4,87,127],oauthcallbackhandl:76,oauthhttpserv:76,object:[4,9,10,11,22,25,27,29,32,41,46,50,51,52,59,61,62,65,74,76,78,79,82,83,85,86,87,90,91,93,94,95,96,100,101,102,103,104,106,108,109,110,129,130,132,133,137,147],objective_typ:[62,104],observ:[9,29,79,82,83,138],obsess:115,obtain:[75,124],obviou:4,occur:[26,54,136],occurred_at:54,off:[0,5,13,35,54,62,104,113,127,130,132],offer:[16,24,125,134,137,144],offici:[65,104,127,147,148],offload:[0,16,18,25,49,50,79,87,101,137],offset:74,often:[22,115,121,127],okta:4,old:[15,136],older:136,omv4ybckx:4,on_failur:[52,79,103,106,133],onc:[10,13,19,22,74,79,83,89,101,122,130,133,144],one:[4,10,13,15,17,19,21,22,24,25,27,29,30,31,35,37,40,41,42,45,48,49,51,52,54,64,74,94,101,103,104,106,108,115,116,118,121,122,130,132,136,137,143,144,147,149],one_dai:130,one_last_execut:130,oneof:[49,50],ones:[15,52],onfailurepolici:[79,103,106,133],ongo:115,oni:13,onli:[4,5,6,7,10,11,12,13,17,19,22,23,24,25,27,29,30,31,35,37,40,41,42,45,48,49,50,51,52,53,54,62,64,65,74,79,81,83,86,87,101,103,104,106,108,113,118,122,123,126,127,130,144],onto:50,opaqu:[13,132],open:[4,13,15,50,87,115,137,138],openid:[4,76],oper:[0,16,17,24,60,68,83,103,106,113,125,148],operand:[24,103],opfil:137,oppos:74,opt:125,optim:[22,113,148],optimist:57,option:[3,5,9,10,11,17,22,24,25,27,29,31,35,37,40,41,43,48,49,50,52,74,79,82,83,85,86,87,90,101,103,106,107,115,121,122,125,127,129,135,147],order:[0,5,10,12,13,15,21,24,25,29,31,36,37,38,42,51,52,78,79,86,87,103,106,125,126,136,139,147,148],ordiat:115,ordinari:[135,149],ordinarili:126,org:[50,87],organ:[3,4,113,116,137,141],orient:148,origin:[10,19,27,31,44,54,75,136,148],other:[4,9,10,12,15,19,22,24,29,32,38,40,46,50,52,57,74,82,85,101,103,106,108,120,123,124,125,126,127,130,133,138,143,144,147],other_env_vari:4,other_input:135,other_task:144,other_task_out:144,other_typ:86,otherwis:[50,79,82,83,87,90,132],our:[0,4,12,13,15,16,22,45,81,85,115,116,130,137,138],out1:[106,149],out2:106,out:[4,5,9,10,15,16,38,45,66,76,79,82,101,106,113,125,134,135,143,144,150],out_list:106,outcom:144,output:[10,17,18,22,24,27,29,31,36,37,38,41,43,48,49,50,51,52,54,57,72,74,79,82,85,86,87,89,92,93,96,101,103,106,107,121,125,126,127,135,136,137,138,143,144,145,147,148,149,150],output_a:147,output_alias:[52,103],output_bind:79,output_data_dir:83,output_fil:137,output_link:79,output_location_prefix:[25,101],output_m:147,output_path:[50,101],output_result:[27,31],output_schema:[83,135,147],output_uri:[31,37,54,101,102],outputparametermapp:79,outputrefer:[49,52,79,83,101],over:[16,27,28,78,86,115,116,127,130,149],overal:[31,50,52,115],overhead:[19,116],overlai:[10,12,13,15],overrid:[9,12,15,17,22,25,27,29,79,83,90,91,92,93,101,106,107,132],overridden:[52,122,130],overriden:130,overview:[3,16,17,121,122,141],overwrit:[74,86,94,145],overwritten:[86,149],own:[0,4,10,11,19,22,32,84,94,123,129,132,150],owner:[4,50,81,115],ownership:33,p_task:147,pack_python_std_map_to_literal_map:85,packag:[4,16,53,111,127],page:[16,21,25,27,29,31,36,37,38,74,132,138],pager_duti:[25,79,101],pagerduti:[25,79,131],pagerdutynotif:101,pagin:74,pair:[12,49,82,101,106,129],panda:[86,106,108],parallel:[57,101,106,118,121,126,148,150],param:[17,18,74,75,78,79,80,83,85,86,89,90,91,92,93,94,101,106,108,109],paramet:[5,7,11,52,64,68,74,75,78,79,80,82,83,85,86,87,89,90,91,92,93,95,96,97,98,99,101,102,103,104,106,107,108,110,121,122,125,127,129,131,132,136,146,148],parameter:18,parameter_map:75,parameter_rang:[63,72,101],parameter_range_map:[64,104],parameter_ranges_pb2:104,parametermap:[29,75,101],parametermapp:79,parameterrang:[62,104],parent:[31,38,54,83,101],parent_id:54,parent_node_execut:27,parent_node_execution_id:54,parent_node_metadata:54,parent_task_metadata:54,parquet:[51,87,106,145,147],parquet_engin:87,pars:[0,49,65,75,76,80,85,87,104,106],parse_args_into_dict:75,parsed_imag:137,part:[5,17,22,41,49,50,79,82,86,115,127,136,149,150],parti:4,particular:[5,123],particularli:[52,103],partit:[57,86,150],partition_filt:90,partition_nam:90,partitions_in_t:86,pass:[1,17,24,25,27,29,31,37,38,52,62,65,79,81,83,87,89,90,91,92,93,101,104,106,107,116,122,127,131,133,134,135,137,143,144,149],password:[4,15,78,87,137,138],passwordpath:15,past:0,patch:[15,115],path:[4,9,10,17,31,37,50,65,78,79,86,87,95,96,97,98,99,101,104,106,108,138,149],pattern:[0,17,19,145],payload:19,pb2:[79,101],pb2_objct:103,pb2_object:[79,85,101,102,103,104],pb2_type:79,pb_field_kei:85,pb_object:85,pb_type:[85,106],pend:[5,27,106],per:[6,9,12,50,52,74,87,106,121,122,148],per_replica_cpu_limit:[83,106],per_replica_cpu_request:[83,106,148],per_replica_gpu_limit:[83,106,148],per_replica_gpu_request:[83,106],per_replica_memory_limit:[83,106,148],per_replica_memory_request:[83,106,148],per_replica_storage_limit:[83,106],per_replica_storage_request:[83,106],percentag:6,percol:52,perfectli:130,perform:[116,127,147],performancetim:79,perhap:83,period:[0,9,22,125,136],perman:145,permiss:[1,5,25,29,134],permit:17,persist:[0,15,16],persona:113,pertain:25,phase:[5,16,17,25,27,29,31,37,54,69,79,101,102,131,132],phase_vers:54,philodendron:135,photo:138,physic:[90,106,107],pi_val:150,piec:[57,86],pile:5,pillar:115,pin_memori:148,pip:[127,148,149],pipe:[19,65,96,104],pipelin:[4,100],pitfal:115,pkce:[4,76,87],pkg:[16,50,78,108],place:[15,86,87,130,138],plan:[0,4,9,12,16,17,24,25,27,29,48,52,74,75,79,82,83,87,91,92,101,103,106,108,120,121,126,127,128,130,134,138,141],plane:[3,4,9,11,22,28,55,56,137],plane_fnam:137,plant:135,platform:[19,25,27,29,72,79,81,82,83,90,106,107,111,112,114,115,126,127,132],platform_valid_nam:82,playground:10,pleas:[4,10,12,21,22,24,74,87,115,125,132,150],plug:24,pluggabl:147,plugin:[0,7,11,15,21,24,36,37,45,50,54,56,72,96,101,104,111,113,125,145,148,149],plugin_nam:108,plugin_requir:108,png:138,pod:[0,1,10,13,15,50,66,83,148],pod_spec:[66,83,101,106,149],podiniti:45,podspec:[66,83,101,106,149],point:[13,15,25,57,64,65,82,86,87,101,104,115,143,147],polici:[79,106,128,141],poll:[0,82],poll_interv:82,pollut:132,pop_al:79,popul:[25,27,29,31,32,34,37,39,50,83,89,106],port:[9,10,15,19,50,87,90,100],portabl:[24,50],portion:[5,19,87,90,106,107],posit:[57,101],posix:79,possibl:[4,10,44,46,50,64,74,124,125,126,132],post:137,postgr:[15,16],postgresql:[10,15],potenti:[113,115,144],power:[24,116,145],practic:116,pre:[0,24,50,65,104],prebuilt:[127,148],preced:50,predefin:[29,50,122,130],prefer:[27,115,129],prefix:[5,9,19,25,83,87,96,100,127,132],prepar:[79,106],prerequisit:11,present:[29,79,82,83],pressur:145,presto:[58,72,79,83,111,141,146],presto_dynam:147,presto_result:147,presto_task:[72,79,147],prestoqueri:101,prestoworkflow:147,presum:75,pretti:[145,150],prevent:[9,19],previou:[27,40,124],previous:[22,50,74,120,135,137],price:116,primari:[16,17,22,41,66,83,103,106,130,145],primarili:[16,127],primary_contain:[106,149],primary_container_nam:[66,83,101,106,149],primit:[17,24,42,50,72,79,101,103,106,113,121,127,137],primtiv:52,princip:[4,27,101],print0:15,print:[13,135,143,149,150],print_funct:[137,149],priori:145,priorit:115,prioriti:[27,29,45,52,115],privileg:134,proactiv:115,problem:116,process:[0,5,9,10,15,16,21,24,27,36,41,54,57,62,101,104,112,114,115,116,121,125,126,127,135,137,141],processor:5,produc:[22,24,27,36,37,38,43,44,51,75,79,83,85,86,89,106,118,121,125,126,132,136,138,145],producer_id:54,product:[3,10,11,12,33,83,115,116,117,127,132,135,136],prof:9,profil:9,program:[0,49,78,79,89,90,106,107,112,114,121,124,125],programmat:130,progress:[9,22,27,52,55,65,79,82,83,103,104,115,124,125,133,135],project:[5,11,12,16,17,18,19,25,27,28,29,30,34,39,46,72,74,78,79,80,82,83,91,92,93,103,106,111,121,122,125,126,134,135,136,138,141,149],project_domain_attribut:[12,28],project_pb2:[74,101],projectdomain:30,projectdomainattribut:17,projectnam:12,projectquotacpu:12,projectquotamemori:12,projectregisterrespons:74,promis:[49,72,93,101,106,111],promiseoutputrefer:83,promot:79,promote_from_model:[79,80,83,85,86,106],prompt:87,propag:44,propel:[7,11,15,17,18,21,38,54,83,89,96,101,132],proper:[17,83],properli:[85,86,87,116],properti:[23,50,74,76,79,81,82,83,84,85,86,89,91,93,96,99,100,101,102,103,104,106],propos:115,protect:[13,94],proto:[12,16,17,22,28,47,55,58,63,71,72,79,101,102,103,106,108,131,149],protobuf:[0,17,22,27,29,31,36,37,38,45,49,50,51,52,54,85,101,106,115,118,121,124,126,149],protobuftyp:85,protocol:[19,24,47,49,50,55,56,58,114],prototyp:115,proven:[14,116],provid:[0,3,4,7,10,11,15,16,19,20,23,24,25,27,29,31,36,37,38,44,46,47,50,54,56,58,65,71,74,79,82,83,86,89,90,101,104,106,107,116,117,121,123,124,125,128,136,137,150],provis:[65,104,116],proxi:[17,100],ps_replica:68,pseudo:94,ptional:53,pub:124,publicli:138,publish:[5,9,16,21,32,87,124],pubsub:[16,55],pull:[52,103,127,132],pure:[121,124,125],purpos:[10,17,50,62,87,106],purposefulli:[25,29,34,39],push:[5,10,83,89],put:[12,106],put_data:95,putrul:5,puttarget:5,pyarrow:108,pyflyt:[72,75,87,137,138],pyspark:108,python3:127,python:[0,21,22,24,50,54,67,75,79,82,83,84,87,89,93,101,106,108,109,114,127,137,146,149],python_notebook:89,python_std_to_sdk_typ:[85,109,110],python_task:[79,82,106,135,136,137,143],pythonpath:106,pytimepars:[85,106],pytorch:[58,79,106,108,141,146],pytorch_task:[72,79,106,148],pytorchjob:[101,106],q64oxuoxt:4,q8mvene1wzq4:138,qualifi:[101,123],qualiti:[30,45,115],quality_of_servic:[27,29,30,52],quality_of_service_specif:[30,101],qualityofservic:[27,29,30,52],quantiti:[50,101],qubol:[8,58,72,83,106,111,145],qubole_hive_task:[106,145],qubole_spark_task:106,qubole_work:22,qubolehivejob:101,queri:[10,16,17,18,22,24,25,27,29,31,36,37,38,61,74,83,85,86,92,101,106,124,125,147],query_collect:[61,101],question:101,queu:[17,45,101,103,132],queue:[5,7,11,16,30,45,76,101,132],queueing_budget:45,queuenam:5,quick:[121,139,141],quickli:[21,133],quota:[12,30,45,101],qwerti:135,rais:[44,74,79,82,83,85,86,106,108],ran:27,randint:106,random:[5,62,64,72,104,106,111,125],randomli:[74,86,127],rang:[62,64,104,130,144,148,150],rapid:115,rate:[9,35,90,101,121,130],rate_unit:122,ratelimit:9,rather:[27,86,87,145],ratio:106,raw:[10,12,17,50,72,79,96,101,111,115],raw_contain:[72,79],raw_container_task:79,raw_output_data_config:[29,79,101],raw_output_data_prefix:[79,87,91],raw_output_data_prefix_overrid:[95,96,99],raw_valu:83,rawoutputdataconfig:[29,79,101],rawsynchronousflytecli:74,reach:[38,43,79,82,83,121],read:[5,10,12,15,23,50,74,75,78,86,87,106,112,114,115,124,125,137,147],readabl:[5,17,54,93,101],reader:106,readi:[10,15],real:121,realiz:[115,130],realtim:124,reason:[19,22,24,27,40,44,87,133,147],receiv:[24,32,74,101,106,115,124,132,136,149],received_typ:81,received_valu:81,recent:[27,106],recipi:[25,32,131],recipients_email:[25,32,79,101],recogn:0,recommend:[19,50,90,94,106,107,113,125,140],reconcil:83,reconcile_partial_pod_spec_and_task:83,record:[5,9,15,27,31,37,54,89,120],record_output:89,recov:[90,106,107],recover:[44,49,101,103],recoverableexcept:[90,106,107],recurs:[79,106,144],redefin:[16,122,130],redi:50,redirect:[4,87],redirect_path:76,redirect_uri:[76,87],reduc:[125,144,150],reeval:9,ref:16,refer:[8,9,10,11,12,15,22,24,27,29,34,39,41,49,50,51,52,53,55,62,64,65,79,101,103,104,108,113,115,122,123,125,126,127,130,135,139,147,150],referenc:[17,24,25,27,29,43,53,79,96,101,118,124,126],reference_execut:27,reference_id:[52,79,103],refil:9,refin:145,reflect:[115,122,137],reformat:81,refresh:[4,9,17,87],refresh_access_token:76,regard:[18,29,90,106,107],regardless:[6,29,54,74,106],regex:[65,104],region:[5,6,8,15,129,130],regisri:10,regist:[10,15,16,17,18,22,24,29,38,50,72,74,75,79,82,83,87,91,92,93,108,121,124,126,127,128,137,138,143],register:[72,79,83,108],register_al:78,register_and_launch:[83,135],register_project:74,register_tasks_onli:78,registerableent:[79,82,83,108],registertask:124,registerworkflow:124,registr:[4,16,24,25,29,79,87,121,122,126,141,143,149],registri:[10,65,104,137],relat:[0,27,31,54,101,104,122,132],related_modul:108,relaunch:[27,133],relaunch_execut:74,releas:114,relev:[0,4,52,79,150],reli:[15,22,135,136],reliabl:[10,11,15,50,116],remain:[4,74,133],remot:[9,10,13,15,16,31,37,50,82,83,86,89,90,96,99,106,107,137],remote_loc:86,remote_path:[85,86,95,96,99],remote_prefix:86,remotedatacontext:95,remov:[13,15,16,83,115,136,137],removetarget:5,rename_and_return_refer:79,render:24,renew:9,repeat:[17,43,49,118,125,132],repeatedli:[31,125],replac:[0,15,50,124,137],replica:[60,68,106,148],repo:[15,23,115,137,150],repons:16,report:[27,123,132],repos:16,repositori:[12,15,21,78,115,121,127,137],repres:[0,5,12,18,24,25,27,29,30,31,32,35,36,37,38,41,45,46,51,54,69,74,79,83,101,103,106,107,121,125,126,137],represent:[0,24,36,38,50,101,124,147],request:[0,9,12,16,19,25,26,27,29,30,31,36,37,38,50,74,76,87,101,120,121,122,124,130,137,147,148],request_access_token:76,request_id:26,requesthandlerclass:76,requir:[0,4,6,9,15,17,19,22,24,25,27,29,35,41,43,48,50,51,52,57,65,75,76,82,87,101,103,104,106,107,115,120,121,122,123,124,126,127,130,137,144,147,148,149,150],requisit:101,reregist:17,rerun:125,res:144,reserv:[52,103],reset_config:87,resid:127,resolv:[50,87,130],resourc:[0,3,4,11,13,15,16,17,22,25,27,29,30,31,37,45,46,52,62,72,74,83,90,91,92,93,101,103,106,107,111,116,117,121,123,124,125,127,129,133,148,149],resource_typ:[12,25,30,34,39,46,74,79,80,82,83,103],resourceentri:101,resourcenam:101,resourcetyp:[25,74,79,82,83,103],respect:[16,17,62,104,148],respons:[0,5,16,19,22,25,27,29,30,31,36,37,66,74,106,115],response_blob:106,rest:[0,17,22,24,28,56,101,145],restart:[10,22],restrict:[5,49,57,122,144],result:[5,25,27,29,31,36,37,38,40,42,74,86,87,90,94,106,121,136,144,147],retain:9,retri:[9,31,44,49,50,52,54,83,84,89,90,101,103,106,107,116,125],retriev:[0,4,13,18,22,25,31,37,49,51,74,78,82,120,124,125,147],retry_attempt:[17,46,54,80,103],retry_count:101,retry_group:[31,54],retryabl:106,retryattempt:54,retrycount:61,retrystrategi:[50,52,101,103],returnoutputstask:93,reusabl:36,revers:[17,86],reverselogarithm:[64,104],revis:[18,36,38],rewritten:17,rfc1808:87,rfc3339nano:17,rfc:11,rich:116,right:[82,103],right_express:[42,103],right_valu:[42,103],roadmap:[112,114],robust:116,role:[1,5,15,29,79,87,101,128,141],roll:4,root:[42,50,127],root_input_path:93,rout:[19,83,147],routin:16,routing_group:[59,83,101,135,147],row:74,rpc:[0,74],rpcerror:74,rst:23,rtype:[74,75,78,79,80,82,83,85,86,89,90,91,92,93,96,97,98,99,101,102,103,104,106,109,110],rule:[5,124,144],run:[0,4,5,9,10,12,13,14,15,17,18,20,21,22,27,30,31,35,37,43,45,50,52,54,57,82,83,84,85,86,87,90,101,103,104,106,107,115,118,122,126,127,130,132,133,135,136,137,140,143,144,145,147,148,149,150],run_dat:130,run_edge_detect:137,runbook:21,runnabl:57,runtim:[27,29,50,52,85,87,101,126],runtimemetadata:[101,143],runtimetyp:101,runtocompletionwf:133,s3proxi:[72,94,95],safe:[64,79],sagemak:[58,72,79,83,101,106],sagemaker_custom_training_job_task:79,sagemaker_hyperparameter_tuning_job_task:79,sagemaker_training_job_task:79,sai:[12,130],said:[29,115],same:[10,15,19,21,22,24,31,52,74,75,79,87,100,101,103,115,122,123,124,125,126,127,130,135,136,137],sampl:[5,12,130],sample_s:130,sample_task:82,sandbox:[11,12,16,95,98,137,138,139],satisfi:[22,52,91,101],satsifi:24,save:[22,116,121,126,137,147,148],scala:[67,106],scalabl:[0,10,13,112,113,114],scalar:[79,85,101],scale:[0,3,9,10,11,62,64,113,115,116],scaling_typ:[64,104],scan:82,scenario:115,scene:147,schedul:[0,7,11,16,17,27,28,29,52,72,74,103,111,116,117,121,136,141],schedule_express:101,schedule_pb2:101,scheduled_at:27,schedulenameprefix:5,schedulequeuenam:5,schedulerol:5,schema:[0,24,25,50,51,59,72,79,83,87,101,106,108,132,135,147],schema_1:145,schema_2:145,schema_instanti:85,schema_instantiator_from_proto:85,schema_to_table_name_map:[85,86],schema_typ:[85,86],schemacolumn:[86,101],schemacolumntyp:101,schemainstanti:85,schematyp:[49,85,86,101],scheme:5,scienc:116,scope:[4,17,24,72,78,79,87,93,100,132],scopeablestatsproxi:100,scratch:[106,137],script:[4,106],scroll:138,sdk:[0,4,21,24,50,51,59,61,72,75,79,83,90,91,101,109,111,114,122,126,132,137,143,145,147,149],sdk_base:[72,85,111],sdk_branch:79,sdk_column:86,sdk_default:79,sdk_dynam:[72,79,106],sdk_in_contain:[72,75],sdk_launch_plan:[79,91,92,93],sdk_node:79,sdk_node_execut:91,sdk_python_venv:87,sdk_requir:79,sdk_runnabl:[22,72,79,84,90,91,106,107],sdk_runnable_task:83,sdk_task:[79,91,92,93],sdk_task_execut:91,sdk_type:[79,83,85,106,137,147],sdk_valu:83,sdk_wf_exec:[91,92],sdk_workflow:[79,91,92,93],sdk_workflow_execut:91,sdkbuiltinalgorithmtrainingjobtask:84,sdkdynamicsidecartask:[83,106],sdkdynamictask:[83,106],sdkdynamictaskmixin:83,sdkgenericsparktask:83,sdkhivejob:83,sdkhivetask:[83,106],sdklaunchplan:[79,91,92,93],sdknode:[79,106],sdknodeexecut:[79,83,91,92,93],sdknotebooksparktask:89,sdknotebooktask:89,sdkprestotask:[83,135,147],sdkpytorchtask:83,sdkrawcontainertask:83,sdkrunnablecontain:83,sdkrunnablelaunchplan:79,sdkrunnablepytorchcontain:83,sdkrunnablesparkcontain:83,sdkrunnabletask:[22,83,84,90,91,106,107],sdksidecartask:83,sdksimplehyperparametertuningjobtask:84,sdksparktask:[83,106],sdktask:[22,79,83,84,89,91,92,93,135],sdktaskexecut:[79,83,91,92,93],sdktasknod:79,sdktasktyp:79,sdkworkflow:[79,91,92,93,106],sdkworkflowexecut:[79,83,91,92,93,106,135],sdkworkflownod:79,sea:[129,130],sea_launch_plan:130,seamlessli:4,search:[62,64,104],searchabl:115,second:[5,9,17,54,74,78,90,106,107,149],second_task:106,secondari:[106,149],secondary_contain:[106,149],secret:[4,6,13,15,78,87],secretnam:13,section:[3,5,13,15,16,20,55,71,87,113,115,121,127,138],secur:87,sed:15,see:[12,15,16,18,19,21,22,25,38,50,62,64,65,74,87,104,106,115,122,127,132,138,145,149],seed:[94,125,148],seed_flyte_random:94,seen:4,select:[85,86,106,135,145,147],select_queri:[85,86,145],self:[4,36,101],send:[0,4,5,13,17,26,54,104,147],sender:[5,32],sender_email:32,sens:[12,50,81,90,115,130],sense_with_wait_hint:90,sensit:30,sensor:[72,79,88],sensor_task:[79,90],sensortask:90,sent:[32,54,83,147],separ:[0,13,21,31,50,82,83,94,108,121,136,144,147],seri:52,serial:[16,24,50,72,75,79,82,83,106,124],serialize_al:78,serialize_tasks_onli:78,serv:[0,16,19],server:[4,9,25,27,29,31,36,37,38,68,76,87],server_address:76,servic:[0,4,7,10,11,14,16,18,20,23,26,30,33,45,55,56,74,79,87,101,115,120,121,125,127,132,134],serviceaccount:[1,128],session_id:147,set:[4,6,7,9,10,11,12,15,16,17,19,21,24,25,27,29,30,31,34,35,36,37,39,41,42,43,45,47,48,49,50,51,52,54,62,64,65,74,79,82,83,87,90,96,100,101,103,104,106,107,108,113,118,122,123,124,125,127,130,132,135,136,137,139,140,143,144,145,147,148,149,150],set_access_token:74,set_flyte_config_fil:87,setfilt:101,setup:[10,127,140,146],sever:[6,9,13,22,136],sgd:148,sgd_momentum:148,sha:[87,136],share:[0,5,6,16,17,19,25,29,106,122,130,135,136,149],shared_volume_mount:[106,149],she:124,shelf:113,shim:16,ship:[4,22],short_class_str:[85,101,106],short_str:[85,101,106],shortcut:83,shorthand:106,should:[4,5,6,9,15,21,22,24,25,27,30,41,43,46,50,52,54,57,65,74,78,79,81,82,83,85,87,89,90,91,92,93,94,101,103,104,106,107,110,115,118,130,132,136,137,138,147],should_create_default_launch_plan:79,should_distribut:148,shouldn:[90,106,107],show:[6,9,138],shown:17,shuffl:148,sibl:[94,106],side:[4,22,50,120,121,125],sidecar:[22,58,79,83,106,108,141,146],sidecar_task:[72,79,106,149],sidecarjob:101,sig:10,sign:[27,31,37,74],signal:[79,82,83],signatur:[22,125,136,137],significantli:[62,104],silent:5,similar:[15,46,79,106,147],similarli:17,simpl:[1,9,15,22,42,49,51,65,76,101,104,125,143,144,145,147,149,150],simple_sidecar_task:149,simplest:[10,11,15,137],simpletyp:101,simpli:[27,130],simplifi:[19,29,44],sinc:[12,13,15,17,22,38,49,82,83,87,115,117,123,125,133],singl:[0,10,13,15,16,17,19,21,25,27,31,37,51,64,74,83,90,91,92,93,103,106,107,122,125,126,128,131,141,147,148,149],single_step:137,singlesteptask:143,singleton:[22,78],sink:45,situat:[94,136],size:[6,9,25,27,31,37,57,65,74,101,104,130,144],skip:[18,22,45,74,103],slack:[10,25,79,101,131],slacknotif:101,sleep:[90,106,149],slight:15,slightli:[22,115,122,149],slip:115,slist:24,slow:21,small:36,snooz:116,sns:5,sole:[0,116,127,149],solut:116,solv:[115,116],some:[10,12,13,15,16,22,24,27,47,52,54,75,82,87,101,103,115,121,127,130,137,138,144,147],some_task:82,some_test:106,somedock:87,someon:113,someth:[17,22,87,106,137,138,145,147],sometim:22,someversion123:87,someworflow:82,someworkflow:82,soon:[43,52,57,101,103,126,133],sort:[16,27,29,31,37,74,102,108,126],sort_bi:[17,25,29,31,37,74],sortedcontain:79,sorteddict:79,sourc:[6,9,12,21,22,40,54,74,75,76,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,112,113,115,121],source_task_execut:40,space:[62,64,74,90,104,106,107],span:21,spark3:108,spark:[0,8,22,54,58,79,83,89,101,106,108,125,141,146],spark_conf:[83,89,101,106,150],spark_context:[106,150],spark_notebook:89,spark_pb2:101,spark_task:[72,79,106,150],spark_typ:[72,83,101,111],sparkconf:67,sparkcontext:89,sparki:106,sparkjob:101,sparkoper:150,sparktyp:106,spawn:[37,60,68,74,106],spec:[17,24,27,28,29,30,36,38,43,45,65,74,83,101,109,116,129,144,148],spec_node_id:[31,54],speci:25,special:[10,17,19,22,36,48,51,52,78,79,83,87,103,106,121,143],specif:[0,9,12,14,15,16,17,19,20,22,23,25,27,28,31,36,37,38,40,45,46,50,54,58,62,74,79,83,86,89,104,107,112,114,115,116,121,122,124,125,127,130,136,143],specifi:[0,4,5,6,9,12,15,17,19,22,25,27,43,44,45,49,50,52,54,62,64,65,74,78,79,82,83,85,86,87,90,91,92,93,101,103,104,106,107,108,109,114,117,120,121,125,127,143,148,149],speed:[21,126],spent:[27,31,37,132],sphinx:21,spike:9,spin:19,split:106,sql:[15,24],sqs:5,square_each:106,squish:115,ssl:6,stabil:115,stack:[9,45],stage:[12,22,117,127,136],stage_queri:[85,86],stall:19,stand:[106,127],standard:[4,5,9,19,50,79,82,83,87,89,109],start:[1,3,9,11,15,19,22,27,41,50,83,87,101,112,115,126,127,137,140,141,143,150],started_at:[17,27,31,37,101,102],starttask:22,stat:[72,83,91,94,128],state:[0,12,17,22,25,27,29,31,37,74,76,79,82,83,90,91,92,101,106,107,121,132],state_dict:148,stateless:[0,120],statement:[59,83,101,135,147],statement_templ:147,statsclient:100,statsclientproxi:100,statsd:[72,83,100,111,132],statu:[0,25,27,29,31,40,54,101,116,135,149],status:16,std:[83,89,93],std_map:85,stderr:[9,65,104],stderrthreshold:9,stdout:[65,104],step1:106,step2:106,step:[1,21,22,24,41,50,79,106,116,118,121,124,132,138,143,144,145],still:[12,17,19,50,82,149],stop:[62,104],storag:[1,7,11,12,15,16,18,19,30,49,50,65,87,90,101,104,106,107,116,137],storage_limit:[83,84,89,90,106,107],storage_request:[83,84,89,90,106,107],store:[0,6,8,9,10,11,12,16,17,22,27,31,37,38,41,49,101,104,124,125,136,137,138,145,147],stori:[19,45],stow:16,str2bool:75,str:[74,75,83,84,96,99,101,104,107],strategi:[44,49,50,52,62,101,104,125],stream:[8,50,65,104,106],strict:[10,116],strictli:29,string:[6,8,9,17,22,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,45,46,48,49,50,51,52,54,59,61,62,64,65,66,67,69,75,79,80,85,86,87,90,101,103,106,107,108,109,110,122,125,130,135,136,137,147,148,149],string_to_enum:101,string_valu:[49,85,86,101,106],strong:51,strongli:[18,24,48,49,50,51,52,90,103,106,107,125],struct:[6,22,24,29,37,49,50,51,54,101],struct_pb2:101,structur:[0,20,24,25,27,29,31,36,37,38,47,50,52,54,64,82,104,109,112,113,114,121],stub:74,style:14,sub:[9,31,41,79,83,90,106,124,126,127],sub_typ:85,sub_workflow:[38,41,79,102,103],sub_workflow_ref:[52,79,103],subclass:[22,79,90,106,107],subcommand:78,subdirectori:[13,15],subject:[5,32,131],subject_lin:32,submit:[0,29,83,85,86,106,116,148],submodul:[72,88,111],subpackag:111,subprocess:[72,111],subscrib:[5,32],subscript:5,subsequ:[16,24,125,126,136],subset:[17,25,27,46,52,62,65,103,104,118],subsidiari:115,substitut:[30,93],subsystem:100,subtask:[43,57,101],subtyp:24,subworkflow:[27,38,41,43,52,79,101,103,126],succe:[27,36],succeed:[17,37,43,45,103,130,132],success:[27,43,57,74,79,101,116,124,125,127,131,132],successfulli:[15,24,27,52,103,115,127],sudo:87,suffic:5,suffici:[10,15],suffix:19,suit:[10,115],suitabl:4,sum:[106,107],sum_of_list:[106,107],summar:0,summari:[17,50,124],superclass:83,superset:106,supplement:122,suppli:[12,22,27,35,65,104,120],support:[0,4,5,16,17,19,24,40,49,50,62,64,65,74,85,86,87,90,101,104,106,107,118,125,127,135,144,147,148],supported_typ:[72,88],suppos:143,sure:[22,120,130,140,148],surfac:0,swimlan:11,sync:[22,79,82,83,86,91,92],synchron:74,synchronousflytecli:74,syntax:[35,79,106,122],sys:106,system:[0,4,6,9,15,16,17,23,24,25,27,41,44,45,46,47,49,50,52,54,55,58,72,79,86,87,101,103,106,112,113,115,116,120,121,124,125,127,132,133,137,138,144],system_entry_point:81,system_gener:25,system_metadata:27,t_valu:[79,85,86,106],tab:138,tabl:[16,21,85,86,145,147],table_nam:[86,90],tag1:106,tag:[12,18,30,33,40,49,61,83,85,87,93,100,101,106,115,132,145],tag_prefix:85,taggabl:[72,83,91,94],taggablestat:[83,91,100],tailor:15,taint:148,take:[5,10,12,15,24,75,78,79,81,90,106,107,109,125,126,130,138,147,150],taken:[52,103,108],talk:[9,113],target:[5,6,19,21,50,52,54,62,89,101,103,104,126,137],target_gc_perc:6,targetnam:5,task:[0,4,9,10,11,16,17,20,23,24,25,26,28,30,31,37,38,40,41,43,45,46,47,52,53,54,55,56,59,61,66,72,74,78,79,82,87,88,91,92,93,103,108,111,112,114,116,121,123,124,127,128,133,141],task_exec:[91,92,93],task_execut:[16,28,72,74,79,83,101],task_execution_created_at:17,task_execution_id:31,task_execution_identifi:74,task_execution_pb2:102,task_execution_updated_at:17,task_funct:[83,84,90],task_function_nam:83,task_id:[46,54,80,91,92,93,103],task_identif:74,task_input:[83,135,147],task_modul:[81,83],task_nam:81,task_name_format:87,task_nod:[52,103],task_node_metadata:[31,54],task_pb2:[78,83,101],task_resourc:[30,101],task_resource_attribut:30,task_spec:74,task_typ:[83,89,90],taska:24,taskb:24,taskc:24,taskcategori:50,taskclosur:101,taskcontext:22,taskdefinit:101,taskexecut:[54,74,83,102],taskexecutionclosur:102,taskexecutionev:[17,26],taskexecutiongetdatarespons:101,taskexecutionidentifi:[31,37,40,54,74,80,102,103],taskexecutionphas:[102,103],taskid:50,tasklog:[37,54,102,103],taskmetadata:101,tasknam:18,tasknod:[31,79,103],tasknodemetadata:40,tasks_count:144,tasks_pb2:[78,101],taskspec:[74,78,83,101],tasktempl:[22,24,36,41,43,53,59,61,78,79,83,101,118],tasktyp:146,team:[0,15,114,123,136],technic:22,tediou:[0,135],tell:[4,90,106,138],temp:[21,147],tempdir:79,templat:[5,12,22,29,30,36,38,41,53,79,87,101,102,103,106,115,122,126,147],templatedata:12,temporari:[83,85,86,106,145],temporaryconfigur:87,tenanc:[121,127],tend:147,tensorflow:[58,125],term:[9,127],termin:[0,17,27,31,66,79,91,92,121,131,132],terminate_execut:74,test:[6,10,19,78,87,106,113,115,125,136,137,147],test_batch_s:148,test_hiv:106,test_load:148,test_task:106,test_util:[72,111],text:[4,50,74,75,78,79,80,81,82,83,85,86,87,89,90,91,92,93,94,95,96,97,98,99,101,102,103,106,107,108,127,145,147],text_arg:75,text_csv:[65,104],textual:101,than:[12,17,19,22,24,27,42,49,65,74,83,86,89,104,106,117,138,147],thank:82,thats:10,thei:[0,1,4,10,12,13,19,22,24,27,31,37,42,65,78,81,92,104,106,113,115,120,121,129,134,135,145],them:[0,4,5,13,15,17,81,125,132,145,147],themselv:[12,81,114,126],then_nod:[52,103],thereaft:22,therefor:[24,78,81,106,127,135,149],theworst:17,thi:[0,3,4,5,6,9,10,11,12,13,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,34,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,54,55,57,59,60,61,62,64,65,68,71,74,75,78,79,81,82,83,85,86,87,89,90,91,92,93,94,96,100,101,103,104,106,107,108,113,115,116,118,120,121,124,126,127,130,132,133,136,137,138,140,141,143,144,145,147,149,150],thin:[16,74],thing:[15,74,115,130,143,145],think:[115,133,144],third:4,thorough:17,those:[4,22,75,78,90,106,107,115,117,125,137,144],though:[4,145],thought:[4,22],thread:9,three:[4,12,21,24,64,131],threshold:[9,27,31,37,137],threw:51,throttl:9,through:[4,12,15,17,18,19,45,62,65,104,113,126,132,138,140],throughout:[24,25,116],thrown:51,thu:[10,115],tied:[12,87,122,126],tighter:50,time:[4,9,12,17,22,24,25,27,29,31,35,36,37,38,45,50,66,74,82,83,86,87,89,90,93,96,100,101,106,107,115,116,122,124,125,126,127,130,132,135,136,144,149],timed_out:[45,103,131],timedelta:[82,83,85,90,101,102,103,106,107,130],timeout:[50,52,82,83,84,89,90,101,103,106,107,125],timeout_sec:[61,101],timer:[93,100,132],timestamp:[17,27,29,31,36,37,38,49,54],tip:140,tmp:101,tmp_dir:[79,83,91],tmpdir:137,to_dict:101,to_flyte_idl:[78,101,102,103,104],to_flyte_literal_typ:[85,106],to_literal_model:101,to_path:[95,96,97,98,99],to_python_std:[85,106],tocken:9,todai:40,todo:[25,50,74,83,87,90,91,101,103,106,107],togeth:[0,21,23,79,114,147],toggl:17,token:[4,9,13,25,27,29,31,36,37,38,74,76,78,87],token_endpoint:[76,78],tokenpath:13,toler:[0,45,121,148],too:[27,101,130],tool:[0,12,15,72,83,87,111,116,124,127],toolkit:16,top:[5,7,9,11,16,33,115,143],top_trim:81,topic:[5,16],topicnam:5,topolog:108,torch:[108,148],total:13,totensor:148,touch:137,tps:9,trace:[9,26,45,54,81],traceback:81,track:[17,22,65,79,91,104,116,135],trackabl:115,tradit:0,tradition:[87,135],train:[60,62,65,68,104,107,116,148],train_load:148,training_job:[62,63,72,84,101,107],training_job_early_stopping_typ:[62,104],training_job_model:84,training_job_pb2:104,training_job_resource_config:[65,84,104,107],trainingimag:[65,104],trainingjob:[62,104],trainingjobearlystoppingtyp:104,trainingjobresourceconfig:[84,104,107],transact:[9,74],transform:[16,22,78,125,148],transit:[17,27,29,101,132],translat:[22,49,78,120],treat:136,tree:[24,42],tri:9,triag:116,trick:10,trickster:82,trigger:[5,9,16,25,27,29,35,50,90,101,106,107,122,126,130,131],triggered_tim:130,trivial:149,truth:22,tsk:135,tsx:19,ttl:[9,45,103],tune:[36,62,64,65,104,125],tuning_object:[62,104],tuning_strategi:[62,104],tunnel:10,tupl:[75,85,90],turn:[12,83,89,116,132],tutori:[10,132,140],tweak:12,two:[5,19,21,24,42,125,132,145,149],txt:[106,149],type:[0,5,6,8,9,11,13,15,17,18,22,23,25,30,40,44,45,46,47,48,49,50,52,54,59,61,64,65,72,74,75,76,78,79,80,81,82,83,87,89,90,91,92,93,95,96,97,98,99,100,102,104,107,108,109,110,111,112,121,122,126,130,132,135,136,137,141,143,144,145,147,148,149,150],type_engin:[72,87,111],type_map:[79,85],typedcollectiontyp:85,typedinterfac:[50,52,79,83,101,103,143],typedlistimpl:85,typeengin:109,typeerror:81,types_pb2:[101,103],types_to_vari:83,typic:[10,15,87,113,117,121],udp:100,uint32:[25,27,29,31,35,37,46,49,50,54,61],ultim:[22,87],unabl:50,uncov:115,undefin:[19,30,45,49,103],under:[4,9,13,15,25,27,31,37,108,125,135,136,137,138],underli:[16,24,45,49,51,52,62,79,82,83,85,100,101,103,104,106,107],underneath:[29,52],understand:[0,8,9,10,11,22,23,50,113,115,121,140,141],understood:51,unfortun:[16,17,22],unicod:125,union:[84,94],uniqu:[16,17,18,24,25,26,27,29,31,34,36,37,38,39,41,46,49,50,51,52,54,74,79,82,83,87,101,103,122,123,125,127],unique_parent_id:31,unit:[24,35,49,52,72,83,89,90,91,101,106,107,115,121,125,126,130,135,137],unit_test:[83,89,106],unittestenginefactori:93,unittestenginetask:93,unknown:[44,45,50,101,103,132],unless:[10,52],unlik:[0,79,147],unmanag:86,unmarsh:22,unnecessari:19,unpack:[85,101],unpack_literal_map_to_sdk_object:85,unpack_literal_map_to_sdk_python_std:85,unspecifi:[46,103],unsur:127,until:[0,19,24,66,82,144,149],untriag:115,unus:116,unvers:127,updat:[9,15,16,17,21,25,27,29,31,37,74,79,82,86,90,91,92,106,107,126,130,135,136],update_configuration_fil:78,update_launch_plan:74,update_named_ent:74,update_project_domain_attribut:74,update_workflow_attribut:74,updated_at:[17,27,29,31,37,102],upload:[50,83,86,89,95,96,97,98,99,121,137],upload_directori:[95,96,97,98,99],upload_eag:50,upload_mod:[50,101],upload_mode_eag:101,upload_mode_no_upload:101,upload_mode_on_exit:101,upload_on_exit:50,upon:[0,79,82,83,85,86,106],upper:[17,90,106,107],upstream:[41,52,79,103,106],upstream_ent:[79,82,83],upstream_nod:79,upstream_node_id:[52,79,103],uri:[9,27,45,49,54,86,87,101,103],url:[6,8,19,24,25,27,31,37,50,54,74,76,87,101,127,135,138],urlblob:[27,31,37,101],urllib:137,urlopen:137,urlpars:87,usabl:[74,106,107],usag:[21,83,123,127,128,146],use:[0,4,5,6,9,10,12,13,15,16,17,19,21,22,24,27,29,40,41,49,50,54,65,75,83,87,90,101,104,106,107,115,117,122,124,126,128,135,136,137,138,144,147,148,149,150],usecas:9,used:[4,5,6,9,12,15,16,17,19,21,22,24,25,27,28,29,30,31,33,36,37,38,40,41,48,50,51,52,55,62,65,74,76,79,83,86,87,89,90,94,96,101,103,104,106,107,115,122,126,127,129,135,137,143,149,150],useful:[4,20,27,52,79,83,103,106,116,136],usefulli:83,user:[1,3,4,5,7,10,11,12,15,22,24,25,27,29,36,44,45,46,50,62,64,65,72,74,79,82,83,85,87,89,90,93,101,104,106,107,109,110,112,114,115,116,120,121,123,124,125,126,128,130,135,136,143,145,147,148,149,150],user_entry_point:81,user_id:106,user_input:79,usernam:[4,15,87,127,137,138],users_t:106,uses:[0,1,6,7,9,10,14,16,17,41,50,79,83,87,114,124,127,129,143,150],using:[0,1,4,5,6,9,10,15,19,27,42,50,52,60,65,68,75,78,87,91,92,101,103,104,106,113,115,116,121,122,123,124,125,126,127,132,135,137,138,141,143,144,145,147,148,149,150],usual:[4,19,52,86,96,109,115,127,132],util:[16,72,83,91,111,127,137,148],uuid:18,val:[6,8,9,101,150],valid:[0,5,12,16,24,25,32,49,50,51,52,79,83,87,101,103,106,116,120,122,124,126],valid_phas:79,valu:[4,5,7,9,11,12,16,17,18,19,22,23,25,27,29,30,31,35,36,37,38,40,41,43,46,48,49,50,51,54,57,74,75,78,79,81,83,85,86,87,91,92,93,101,102,103,104,106,109,122,127,129,130,133,136,137,138,143,144,149,150],value_in:17,value_to_print:143,valueerror:81,valuein:101,vari:17,variabl:[4,6,10,12,24,30,35,42,49,50,51,52,75,78,79,82,83,87,89,90,101,103,106,107,120,122,125],variable_dict:75,variable_proto:101,variablemap:[29,101],varieti:[36,116,126],variou:[9,24,45,47,50,52,54,56,58,113,115,125,132,147],variti:144,varriou:24,vector:4,veloc:115,venv:127,verbose_class_str:101,verbose_messag:81,verbose_str:[85,101,106],veri:[17,19,24,115,125,144],verifi:[5,21],version:[17,18,22,24,25,29,36,38,46,50,54,65,74,78,79,80,82,83,87,93,101,103,104,106,107,115,120,121,122,125,127,135,136,138,141],via:[0,45,74,78,79,89,134,148,150],view:[0,5,19,74,113,124,147],virtual:[10,21,127],virtualenv:127,visibl:[24,25,132],visit:[116,135,137,138],visual:[0,41,124],volum:[13,65,104,106,149],volume_size_in_gb:[65,104],volumemount:[13,106,149],volumesourc:[106,149],wai:[4,10,12,15,17,22,24,64,96,113,122,125,127,134,136,137,144,150],wait:[9,24,69,82,101,130,149],wait_for_complet:[82,135],waitabl:[22,58],waiting_for_resourc:45,walk:[12,18],want:[4,10,12,13,15,17,21,22,45,65,74,83,94,104,114,115,130,135,139,141,147,148],warn:[10,90,101,106,107],wast:[125,133],wastag:121,watch:9,water:121,web:[0,4,19,116,125],webpack:19,week:35,weird:81,welcom:[112,115,124],well:[4,9,10,16,19,24,27,29,36,37,40,47,49,76,83,113,118,122,125,129,136,144,145,148],were:[15,17,22,52,78,86,101,103],wf_exec:[91,92,93],wf_exec_id:[69,91,92,93],wf_handl:106,wf_param:[79,82,106,107,135,136,137,145,147,149],wfparam:[106,149],wfs:24,what:[5,12,20,21,22,23,24,31,49,78,79,81,87,101,112,114,121,128,137,144],whatsoev:22,wheel:127,when:[1,4,5,6,9,12,18,19,20,22,27,29,30,35,45,49,50,52,54,62,65,74,75,79,81,82,83,86,87,90,101,103,104,106,107,116,120,124,125,126,132,133,135,136,137,138,143,145],whenev:[52,103,106,107,127,132],where:[0,4,6,9,10,12,17,24,25,27,30,31,37,42,45,49,65,74,82,83,86,87,89,92,94,101,104,106,115,135,136,138,144,145,147,150],wherea:[22,129],wherev:50,whether:[9,17,37,50,52,79,82,83,85,86,87,89,90,95,96,97,98,99,101,106,125,127,132],which:[5,8,9,10,12,15,16,17,19,22,24,25,27,29,30,31,34,35,36,37,38,39,50,54,62,64,65,74,75,78,79,82,83,86,87,89,100,101,104,106,115,121,122,124,125,126,127,129,132,137,143,144,145,147,149,150],whichev:101,who:[4,5,94,113],whole:52,whose:[52,106],why:[40,128,141,147],wide:[1,134],widget:135,widgetmodel:12,wildcard:87,window:[10,19,87],wish:[4,17,29],with_overrid:79,within:[3,4,10,25,27,29,30,31,33,46,50,51,54,79,81,82,83,89,90,101,106,107,115,120,123,126,127,149],without:[4,5,19,50,87,106,121],won:[19,24,127],word:[74,75,101,126,127],work:[0,10,40,50,59,61,83,89,90,106,107,113,114,116,126,128,137,140,146,147],workaround:49,worker:[0,9,60,68,106,148],workers_count:[83,101,106,148],workflow:[0,4,7,10,11,12,13,14,15,16,17,24,25,26,27,28,29,30,31,33,35,36,39,41,45,46,47,50,53,54,55,72,74,78,82,83,87,89,91,92,93,101,108,111,112,114,116,117,118,121,122,123,124,125,127,129,130,131,132,133,135,136,139,140,141,144,145,147,148,150],workflow_attribut:[12,28],workflow_class:[106,130,133,137,147],workflow_closur:[47,72,111],workflow_closure_pb2:101,workflow_execut:[72,83,91,92,93,111],workflow_execution_id:31,workflow_execution_identifi:74,workflow_id:[27,29,69,79,91,92,93,101,106],workflow_identifi:74,workflow_nam:132,workflow_name_format:87,workflow_nod:[52,103],workflow_node_metadata:[31,54],workflow_packag:87,workflow_param:148,workflow_paramet:[143,144,150],workflow_pb2:[78,79,102,103],workflow_spec:74,workflowattribut:[17,30],workflowclosur:[101,102],workflowexecut:[25,27,54,69,131,135],workflowexecutionev:[17,26],workflowexecutiongetdatarespons:[74,101],workflowexecutionidentifi:[27,31,54,69,74,80,82,91,92,93,101,103],workflowexecutionphas:[101,103,130],workflowexecutor:5,workflowmetadata:[79,103,106,133],workflowmetadatadefault:103,workflownod:[31,41,79,103],workflowspec:[74,78,79,102],workflowtempl:[31,38,41,43,53,54,78,79,101,102,103,118],working_dir_prefix:79,working_directori:[83,91],workload:[0,1,101,116,144],workloadident:1,workqueu:9,world:[12,106,121,149],world_siz:148,worri:[22,81],worth:130,would:[12,17,19,50,78,82,87,94,106,115,131],wrap:[22,74,81,83,85,89,90,106,107],wrapper:[22,74,76,79,81,106],wreak:132,write:[5,9,22,65,86,87,92,106,114,116,126,135,139,141,145,149,150],write_proto_to_fil:79,writer:[106,148],written:[6,7,21,24,25,50,86,90,106,107,126,138],wrobert:[85,106],wrong:130,www:[50,87],xarg:[13,15],xgboost:[65,104],xrang:106,xyz:82,yaml:[9,10,12,13,15,50,124],yarn:19,year:[35,130],yet:[12,24,50,135],yield:[17,82,106,144],you:[0,1,4,5,10,12,13,15,16,17,19,22,29,52,65,74,79,82,83,104,116,120,122,130,131,132,135,136,137,138,139,140,141,144,147,148,149],your:[3,4,5,10,11,12,13,21,22,29,52,65,83,84,104,122,127,128,129,130,134,135,136,138,139,140,141,145,148,149,150],your_aws_access_kei:15,your_aws_secret_kei:15,your_database_password:15,your_database_usernam:15,yourself:[3,12,127],yourworkflownam:12,zero:[54,106,118,130]},titles:["Architecture","Installed Single Cluster mode on GCP, what examples do I use?","<no title>","Administrator Docs","Authentication","FlyteAdmin Configuration","Common configuration across all backend components","Configure Flyte backend","Plugin Configuration","Propeller Configuration","Getting Started","Installing Flyte","Configuring customizable resources","Scaling Beyond Kubernetes","Optional Components","Handling Production Load","FlyteAdmin","FlyteAdmin Service Background","What is Data Catalog?","Flyte Console","Flyte System Components","Contributing to Docs","Extending Flyte","Contributor Docs","Flyte Specification Language","common.proto","event.proto","execution.proto","Flyte Admin Service entities","launch_plan.proto","matchable_resource.proto","node_execution.proto","notification.proto","project.proto","project_domain_attributes.proto","schedule.proto","task.proto","task_execution.proto","workflow.proto","workflow_attributes.proto","catalog.proto","compiler.proto","condition.proto","dynamic_job.proto","errors.proto","execution.proto","identifier.proto","Core Flyte language specification","interface.proto","literals.proto","tasks.proto","types.proto","workflow.proto","workflow_closure.proto","event.proto","Flyte Internal and External Eventing interface","Flyte Language and API specification","array_job.proto","Flyte Task Plugins","presto.proto","pytorch.proto","qubole.proto","hyperparameter_tuning_job.proto","sagemaker","parameter_ranges.proto","training_job.proto","sidecar.proto","spark.proto","tensorflow.proto","waitable.proto","admin.proto","REST and gRPC interface for the Flyte Admin Service","flytekit package","flytekit.bin package","flytekit.clients package","flytekit.clis package","flytekit.clis.auth package","flytekit.clis.flyte_cli package","flytekit.clis.sdk_in_container package","flytekit.common package","flytekit.common.core package","flytekit.common.exceptions package","flytekit.common.mixins package","flytekit.common.tasks package","flytekit.common.tasks.sagemaker package","flytekit.common.types package","flytekit.common.types.impl package","flytekit.configuration package","flytekit.contrib package","flytekit.contrib.notebook package","flytekit.contrib.sensors package","flytekit.engines package","flytekit.engines.flyte package","flytekit.engines.unit package","flytekit.interfaces package","flytekit.interfaces.data package","flytekit.interfaces.data.gcs package","flytekit.interfaces.data.http package","flytekit.interfaces.data.local package","flytekit.interfaces.data.s3 package","flytekit.interfaces.stats package","flytekit.models package","flytekit.models.admin package","flytekit.models.core package","flytekit.models.sagemaker package","flytekit.plugins package","flytekit.sdk package","flytekit.sdk.sagemaker package","flytekit.tools package","flytekit.type_engines package","flytekit.type_engines.default package","flytekit","Flyte","How to read these docs?","Introduction","Roadmap","What is Flyte?","Domains","Dynamic Job Spec","Timeline of a workflow execution","Overview of the Execution of a Workflow","Flyte Concepts","Launch plans","Projects","Understanding Registration process","Tasks","Workflows","Flyte CLI","Flyte Features","Labels and Annotations","Flyte Launchplans","Notifications","Metrics for your executions","On Failure Policy","Why roles?","Single Task Excution","Task Cache","Writing Your First Workflow","Quick Start Examples","Getting Started","Want more example to Deep Dive","User docs","Python SDK","Container Task","Dynamic Tasks","Hive Tasks","Flyte Task Types","Presto Tasks","PyTorch Task","Sidecar Tasks","Spark Task"],titleterms:{"default":[8,110,122,132],"enum":[25,27,29,30,35,40,42,44,45,46,50,51,52,62,64,65,67],"static":17,"void":49,Adding:17,For:136,Going:15,Using:[17,124],With:132,abortmetadata:27,access:4,across:6,activelaunchplanlistrequest:29,activelaunchplanrequest:29,addit:16,admin:[4,9,16,17,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,70,71,102],administr:[3,113],algorithmnam:65,algorithmspecif:65,alia:52,all:[6,17,21],annot:[25,129],api:56,architectur:0,array_job:[57,101],arrayjob:57,artifact:82,asynchron:16,auth:[29,76,87],authent:4,authrol:25,avail:8,awesom:113,aws:87,backend:[6,7,124],background:[17,22],base:81,base_sdk_typ:85,base_sensor:90,basic:145,basic_auth:78,beyond:[13,15],bin:73,binari:49,bind:49,bindingdata:49,bindingdatacollect:49,bindingdatamap:49,blob:[49,85,86],blobdimension:51,blobmetadata:49,blobtyp:51,booleanexpress:42,branch:126,branchnod:52,bug:115,build:21,built_in_training_job_task:84,cach:136,catalog:[9,14,18,40],catalogartifacttag:40,catalogcachestatu:40,catalogmetadata:40,categoricalparameterrang:64,chang:115,characterist:125,cli:[4,75,76,77,78,120,127],client:[4,74,100],cluster:[1,12],clusterresourceattribut:30,command:[12,127],commandlin:[9,135],common:[6,16,25,79,80,81,82,83,84,85,86,87,91,95,101,102,109],compani:113,comparisonexpress:42,compil:[24,41,103],compiledtask:41,compiledworkflow:41,compiledworkflowclosur:41,compon:[4,6,14,16,20],component_nod:79,concept:121,condit:[42,103],config:5,configur:[4,5,6,7,8,9,12,15,87,127],conjunctionexpress:42,connectionset:41,consol:[19,135],constant:[78,79],contain:[8,50,85,132,143,149],containererror:44,containerport:50,content:[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],continu:115,continuousparameterrang:64,contrib:[88,89,90],contribut:21,contributor:[23,113],control:[0,8,13],copi:21,cor:19,core:[9,40,41,42,43,44,45,46,47,48,49,50,51,52,53,80,103,115],creat:[15,137,138],cred:87,credenti:76,cron:122,custom:22,custom_training_job_task:84,customiz:12,dashboard:132,data:[0,13,14,16,18,95,96,97,98,99],data_proxi:95,databas:15,dataloadingconfig:50,debug:[12,19],deep:140,definit:125,depend:[19,21],deploy:[10,13,15],detail:16,develop:[19,116],diagram:4,direct:[4,25],discoveri:76,distributedpytorchtrainingtask:60,distributedtensorflowtrainingtask:68,dive:140,doc:[3,21,23,113,141],document:[21,115],domain:[33,117,127],downloadmod:50,dynam:[15,118,144],dynamic_job:[43,101],dynamicjobspec:43,egress:55,elect:9,element:24,emailmessag:32,emailnotif:25,enabl:136,engin:[91,92,93],entiti:[17,28,127],entrypoint:73,environ:[19,145],error:[1,16,44,51,103],errordocu:44,errorkind:45,even:113,event:[5,9,26,54,55],eventerroralreadyinterminalst:26,eventfailurereason:26,exampl:[1,5,8,9,12,22,125,129,134,138,140,149],except:[81,106],excut:135,execut:[8,12,17,18,27,45,83,101,103,116,119,120,126,129,132,135,138,145],executionclosur:27,executionclusterlabel:30,executioncreaterequest:27,executioncreaterespons:27,executionerror:45,executionlist:27,executionmetadata:27,executionmod:27,executionqueueattribut:30,executionrelaunchrequest:27,executionspec:27,executionterminaterequest:27,executionterminaterespons:27,executor:5,express:122,extend:22,extens:24,extern:[9,55],fail:1,failur:133,fault:125,featur:128,fetch:135,filter:[17,101],first:137,fix:[115,122],fixedr:35,fixedrateunit:35,flow:[4,120,124],flyte:[4,7,11,15,18,19,20,22,24,28,47,55,56,58,71,92,110,112,113,116,120,121,126,127,128,130,132,135,137,138,146,147],flyte_cli:77,flyteadmin:[5,16,17],flyteconsol:19,flyteidl:[0,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,57,59,60,61,62,64,65,66,67,68,69],flytekit:[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,124],friendli:74,from:[127,135],futur:131,gcp:[1,87],gcs:96,gcs_proxi:96,generic_spark_task:83,get:[10,139],grade:15,grpc:71,handl:15,hash:82,have:127,help:[113,127],helper:[74,75,85,89],hierarchi:12,hive:[22,145],hive_task:83,hivequeri:61,hivequerycollect:61,host:127,how:[18,113,115,133],hpo_job:104,hpo_job_task:84,http:97,http_data_proxi:97,hyperparameter_tuning_job:62,hyperparameterscalingtyp:64,hyperparametertuningjob:62,hyperparametertuningjobconfig:62,hyperparametertuningobject:62,hyperparametertuningobjectivetyp:62,hyperparametertuningstrategi:62,iam:134,identifi:[46,80,103],idl:22,idlist:41,idp:4,ifblock:52,ifelseblock:52,impl:[86,90],improv:115,includ:21,individu:8,initi:22,input:[122,130],inputcontenttyp:65,inputmod:65,instal:[1,11,19,113,127,149],integerparameterrang:64,integr:145,interact:[127,137],interfac:[48,55,71,79,94,95,96,97,98,99,100,101,127],intern:[55,87],introduct:114,iostrategi:50,job:118,keyvaluepair:49,kind:44,kubernet:[8,13,134],label:[12,25,129],languag:[24,47,56],launch:[122,129,135],launch_plan:[29,78,79,101],launchabl:82,launcher:9,launchplan:[29,130],launchplanclosur:29,launchplancreaterequest:29,launchplancreaterespons:29,launchplanlist:29,launchplanmetadata:29,launchplanspec:29,launchplanst:29,launchplanupdaterequest:29,launchplanupdaterespons:29,lazy_load:108,leader:9,level:8,line:127,link:8,listmatchableattributesrequest:30,listmatchableattributesrespons:30,liter:[49,101],literalcollect:49,literalmap:49,literalmapblob:27,literalmapformat:50,literaltyp:51,live:115,load:15,loader:91,local:[21,98],local_file_proxi:98,log:8,logger:6,logicaloper:42,main:77,make:113,manag:[16,113,115],matchable_resourc:[30,101],matchableattributesconfigur:30,matchableresourc:30,matchingattribut:30,memoiz:[18,125],messageformat:45,metadata:[6,17],metric:132,metricdefinit:65,mileston:115,miscellan:145,mixin:82,mock_stat:93,mode:1,model:[16,101,102,103,104],modif:21,modul:[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],module_load:108,monitor:[116,135],more:[113,140],name:[17,127],named_ent:101,namedent:25,namedentitygetrequest:25,namedentityidentifi:25,namedentityidentifierlist:25,namedentityidentifierlistrequest:25,namedentitylist:25,namedentitylistrequest:25,namedentitymetadata:25,namedentityst:25,namedentityupdaterequest:25,namedentityupdaterespons:25,network:19,node:[52,79,118,126],node_execut:[31,101],nodeexecut:[31,45],nodeexecutionclosur:31,nodeexecutionev:54,nodeexecutioneventrequest:26,nodeexecutioneventrespons:26,nodeexecutionfortasklistrequest:31,nodeexecutiongetdatarequest:31,nodeexecutiongetdatarespons:31,nodeexecutiongetrequest:31,nodeexecutionidentifi:46,nodeexecutionlist:31,nodeexecutionlistrequest:31,nodeexecutionmetadata:31,nodemetadata:52,note:21,notebook:89,notif:[5,25,32,79,131],notificationlist:27,object:15,objectgetrequest:25,observ:115,onfailurepolici:52,onli:[9,21],oper:42,operand:42,option:14,output:[19,83,118],outputrefer:51,overview:120,own:15,packag:[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],pagerdutynotif:25,paramet:[9,48,147],parameter_rang:[64,104],parametermap:48,parameterrang:64,parameterrangeoneof:64,parentnodeexecutionmetadata:54,parenttaskexecutionmetadata:54,partial:130,phase:45,plan:[122,129],plane:[0,13],platform:[17,87],plugin:[8,22,57,58,59,60,61,62,64,65,66,67,68,69,105],pod:149,polici:133,prerequisit:10,presto:[59,101,147],presto_task:83,prestoqueri:59,primari:149,primit:[49,85],process:124,product:15,project:[15,33,101,123,127,132,137],project_domain_attribut:34,projectdomainattribut:34,projectdomainattributesdeleterequest:34,projectdomainattributesdeleterespons:34,projectdomainattributesgetrequest:34,projectdomainattributesgetrespons:34,projectdomainattributesupdaterequest:34,projectdomainattributesupdaterespons:34,projectlistrequest:33,projectregisterrequest:33,projectregisterrespons:33,projectupdaterespons:33,promis:79,propel:[9,22],properti:24,proto:[25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,57,59,60,61,62,64,65,66,67,68,69,70,85],protobuf:19,provid:[8,122,132],proxi:19,put:17,pyflyt:78,pypi:127,python:[142,143],pytorch:[60,148],pytorch_task:83,qualityofservic:45,qualityofservicespec:45,qubol:[22,61,101],qubolehivejob:61,queri:145,queue:[9,12],quick:138,random:94,rate:122,raw:74,raw_contain:83,rawoutputdataconfig:25,read:113,real:125,recommend:127,refer:4,regist:[78,135],register:82,registr:[124,138],releas:115,reliabl:115,repo:21,repositori:16,request:17,requir:125,resourc:[12,50,87],resourceentri:50,resourcelistrequest:25,resourcenam:50,resourcetyp:46,rest:71,retrystrategi:49,rfc:4,roadmap:115,role:134,rpc:16,rst:21,run:[1,19,138],runtim:16,runtimemetadata:50,runtimetyp:50,s3proxi:99,sagemak:[62,63,64,65,84,104,107],sandbox:[10,15],scalar:49,scale:13,schedul:[5,14,35,79,101,122,130],schema:[49,85,86,145],schemacolumn:51,schemacolumntyp:51,schematyp:51,scope:81,sdk:[22,87,106,107,142],sdk_base:79,sdk_dynam:83,sdk_in_contain:78,sdk_runnabl:83,sensor:90,serial:78,server:19,servic:[9,17,28,71],serviceaccount:134,set:5,setup:[138,148,150],sidecar:[66,149],sidecar_task:83,sidecarjob:66,simpletyp:51,singl:[1,135],slacknotif:25,sort:[17,25],sourc:127,spark:[67,150],spark_task:83,spark_typ:106,sparkappl:67,sparkjob:67,spec:[118,149],specif:[24,47,56,126],start:[10,138,139],stat:[100,132],statsd:87,storag:6,store:15,storybook:19,structur:[16,22,126],subcommand:127,submodul:[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110],subpackag:[72,75,79,83,85,88,91,94,95,101,106,109],subprocess:108,subworkflow:118,supported_typ:89,swimlan:4,syntax:17,system:[20,81],systemmetadata:27,tab:19,taggabl:100,task:[1,12,18,22,36,50,58,83,84,89,90,101,106,107,118,125,126,132,135,136,137,143,144,145,146,147,148,149,150],task_execut:[37,102],taskclosur:36,taskcreaterequest:36,taskcreaterespons:36,taskexecut:[37,45],taskexecutionclosur:37,taskexecutionev:54,taskexecutioneventrequest:26,taskexecutioneventrespons:26,taskexecutiongetdatarequest:37,taskexecutiongetdatarespons:37,taskexecutiongetrequest:37,taskexecutionidentifi:46,taskexecutionlist:37,taskexecutionlistrequest:37,tasklist:36,tasklog:45,taskmetadata:50,tasknod:52,tasknodemetadata:[31,54],taskresourceattribut:30,taskresourcespec:30,taskspec:36,tasktempl:50,team:115,tensorflow:68,terminolog:127,test:127,test_util:106,tier:45,timelin:119,togeth:17,toler:125,tool:108,top:8,train:115,training_job:[65,104],trainingjob:65,trainingjobearlystoppingtyp:62,trainingjobresourceconfig:65,tri:1,type:[12,24,51,67,85,86,101,103,106,125,146],type_engin:[109,110],typedinterfac:48,typic:[120,124],understand:[15,124],unit:[93,122],updat:22,uploadmod:50,urlblob:25,urn:127,usag:[129,143,145,147,148,149,150],use:[1,130,133],user:[0,8,13,81,113,127,132,141],using:120,util:79,valu:[8,24,62,64,65],variabl:[19,48],variablemap:48,version:126,waitabl:69,want:[113,140],what:[1,18,116,122,133,135],when:130,why:134,without:124,work:[115,127,131,149],workflow:[5,9,38,52,79,102,103,106,113,119,120,126,137,138],workflow_attribut:39,workflow_closur:[53,101],workflow_execut:79,workflowattribut:39,workflowattributesdeleterequest:39,workflowattributesdeleterespons:39,workflowattributesgetrequest:39,workflowattributesgetrespons:39,workflowattributesupdaterequest:39,workflowattributesupdaterespons:39,workflowclosur:[38,53],workflowcreaterequest:38,workflowcreaterespons:38,workflowengin:16,workflowexecut:45,workflowexecutionev:54,workflowexecutioneventrequest:26,workflowexecutioneventrespons:26,workflowexecutiongetdatarequest:27,workflowexecutiongetdatarespons:27,workflowexecutiongetrequest:27,workflowexecutionidentifi:46,workflowlist:38,workflowmetadata:52,workflowmetadatadefault:52,workflownod:52,workflownodemetadata:[31,54],workflowspec:38,workflowtempl:52,world:125,write:[113,137],you:127,your:[15,132,137]}}) \ No newline at end of file diff --git a/user/concepts/domains.html b/user/concepts/domains.html index e22c8cba8e..9f2dd6a3c9 100644 --- a/user/concepts/domains.html +++ b/user/concepts/domains.html @@ -8,7 +8,7 @@ - Domains — Flyte 0.6.0 documentation + Domains — Flyte 0.7.0 documentation diff --git a/user/concepts/dynamic_spec.html b/user/concepts/dynamic_spec.html index e5bcc9224f..8a3d6e2836 100644 --- a/user/concepts/dynamic_spec.html +++ b/user/concepts/dynamic_spec.html @@ -8,7 +8,7 @@ - Dynamic Job Spec — Flyte 0.6.0 documentation + Dynamic Job Spec — Flyte 0.7.0 documentation diff --git a/user/concepts/execution_timeline.html b/user/concepts/execution_timeline.html index cb65eba69e..94c6984b3e 100644 --- a/user/concepts/execution_timeline.html +++ b/user/concepts/execution_timeline.html @@ -8,7 +8,7 @@ - Timeline of a workflow execution — Flyte 0.6.0 documentation + Timeline of a workflow execution — Flyte 0.7.0 documentation diff --git a/user/concepts/executions.html b/user/concepts/executions.html index 18867e52f1..01f861b611 100644 --- a/user/concepts/executions.html +++ b/user/concepts/executions.html @@ -8,7 +8,7 @@ - Overview of the Execution of a Workflow — Flyte 0.6.0 documentation + Overview of the Execution of a Workflow — Flyte 0.7.0 documentation diff --git a/user/concepts/index.html b/user/concepts/index.html index 8b9e598d8c..72a6ffd4de 100644 --- a/user/concepts/index.html +++ b/user/concepts/index.html @@ -8,7 +8,7 @@ - Flyte Concepts — Flyte 0.6.0 documentation + Flyte Concepts — Flyte 0.7.0 documentation diff --git a/user/concepts/launchplans_schedules.html b/user/concepts/launchplans_schedules.html index 51241673a9..46722720f4 100644 --- a/user/concepts/launchplans_schedules.html +++ b/user/concepts/launchplans_schedules.html @@ -8,7 +8,7 @@ - Launch plans — Flyte 0.6.0 documentation + Launch plans — Flyte 0.7.0 documentation diff --git a/user/concepts/projects.html b/user/concepts/projects.html index b4b8d9af81..4b4da50809 100644 --- a/user/concepts/projects.html +++ b/user/concepts/projects.html @@ -8,7 +8,7 @@ - Projects — Flyte 0.6.0 documentation + Projects — Flyte 0.7.0 documentation diff --git a/user/concepts/registration.html b/user/concepts/registration.html index 3fe63e417f..2308c6bc00 100644 --- a/user/concepts/registration.html +++ b/user/concepts/registration.html @@ -8,7 +8,7 @@ - Understanding Registration process — Flyte 0.6.0 documentation + Understanding Registration process — Flyte 0.7.0 documentation diff --git a/user/concepts/tasks.html b/user/concepts/tasks.html index 2798f90a0f..7b2afc05e4 100644 --- a/user/concepts/tasks.html +++ b/user/concepts/tasks.html @@ -8,7 +8,7 @@ - Tasks — Flyte 0.6.0 documentation + Tasks — Flyte 0.7.0 documentation diff --git a/user/concepts/workflows_nodes.html b/user/concepts/workflows_nodes.html index afc58b14ac..78891ce70d 100644 --- a/user/concepts/workflows_nodes.html +++ b/user/concepts/workflows_nodes.html @@ -8,7 +8,7 @@ - Workflows — Flyte 0.6.0 documentation + Workflows — Flyte 0.7.0 documentation diff --git a/user/features/flytecli.html b/user/features/flytecli.html index b7ebc5b681..caf31dacf8 100644 --- a/user/features/flytecli.html +++ b/user/features/flytecli.html @@ -8,7 +8,7 @@ - Flyte CLI — Flyte 0.6.0 documentation + Flyte CLI — Flyte 0.7.0 documentation diff --git a/user/features/index.html b/user/features/index.html index 6ed6e982c3..bd0fdcd1eb 100644 --- a/user/features/index.html +++ b/user/features/index.html @@ -8,7 +8,7 @@ - Flyte Features — Flyte 0.6.0 documentation + Flyte Features — Flyte 0.7.0 documentation diff --git a/user/features/labels_annotations.html b/user/features/labels_annotations.html index eacbb90e0b..9a5a67df39 100644 --- a/user/features/labels_annotations.html +++ b/user/features/labels_annotations.html @@ -8,7 +8,7 @@ - Labels and Annotations — Flyte 0.6.0 documentation + Labels and Annotations — Flyte 0.7.0 documentation diff --git a/user/features/lanuchplans.html b/user/features/lanuchplans.html index a603ad8afb..38ef5cc22a 100644 --- a/user/features/lanuchplans.html +++ b/user/features/lanuchplans.html @@ -8,7 +8,7 @@ - Flyte Launchplans — Flyte 0.6.0 documentation + Flyte Launchplans — Flyte 0.7.0 documentation diff --git a/user/features/notifications.html b/user/features/notifications.html index b669671c0d..5d8051d10d 100644 --- a/user/features/notifications.html +++ b/user/features/notifications.html @@ -8,7 +8,7 @@ - Notifications — Flyte 0.6.0 documentation + Notifications — Flyte 0.7.0 documentation diff --git a/user/features/observability.html b/user/features/observability.html index 2d2da93983..aaf89bebac 100644 --- a/user/features/observability.html +++ b/user/features/observability.html @@ -8,7 +8,7 @@ - Metrics for your executions — Flyte 0.6.0 documentation + Metrics for your executions — Flyte 0.7.0 documentation diff --git a/user/features/on_failure_policy.html b/user/features/on_failure_policy.html index 04b9fdec63..3dec924a39 100644 --- a/user/features/on_failure_policy.html +++ b/user/features/on_failure_policy.html @@ -8,7 +8,7 @@ - On Failure Policy — Flyte 0.6.0 documentation + On Failure Policy — Flyte 0.7.0 documentation diff --git a/user/features/roles.html b/user/features/roles.html index 506e7b7bc3..65b76e9aa8 100644 --- a/user/features/roles.html +++ b/user/features/roles.html @@ -8,7 +8,7 @@ - Why roles? — Flyte 0.6.0 documentation + Why roles? — Flyte 0.7.0 documentation diff --git a/user/features/single_task_execution.html b/user/features/single_task_execution.html index 1423f6ffdf..6be04334f9 100644 --- a/user/features/single_task_execution.html +++ b/user/features/single_task_execution.html @@ -8,7 +8,7 @@ - Single Task Excution — Flyte 0.6.0 documentation + Single Task Excution — Flyte 0.7.0 documentation diff --git a/user/features/task_cache.html b/user/features/task_cache.html index 0be5361e3d..7a9a71b9b6 100644 --- a/user/features/task_cache.html +++ b/user/features/task_cache.html @@ -8,7 +8,7 @@ - Task Cache — Flyte 0.6.0 documentation + Task Cache — Flyte 0.7.0 documentation diff --git a/user/getting_started/create_first.html b/user/getting_started/create_first.html index 59e2f38b35..d7421c1750 100644 --- a/user/getting_started/create_first.html +++ b/user/getting_started/create_first.html @@ -8,7 +8,7 @@ - Writing Your First Workflow — Flyte 0.6.0 documentation + Writing Your First Workflow — Flyte 0.7.0 documentation diff --git a/user/getting_started/examples.html b/user/getting_started/examples.html index 65038b7796..98fa95db8c 100644 --- a/user/getting_started/examples.html +++ b/user/getting_started/examples.html @@ -8,7 +8,7 @@ - Quick Start Examples — Flyte 0.6.0 documentation + Quick Start Examples — Flyte 0.7.0 documentation @@ -191,7 +191,7 @@

          Workflow Setup in Flyte

          Registration

          If you’re using the sandbox flyte installation, you can use the following command to register our example workflow with Flyte

          -
          docker run --network host -e FLYTE_PLATFORM_URL='127.0.0.1:30081' lyft/flytesnacks:v0.1.0 pyflyte -p flytesnacks -d development -c sandbox.config register workflows
          +
          docker run --network host -e FLYTE_PLATFORM_URL='127.0.0.1:30081' lyft/flytesnacks:v0.2.0 pyflyte -p flytesnacks -d development -c sandbox.config register workflows
           

          This command will register the workflow with your Flyte app under the development domain of the project flytesnacks.

          diff --git a/user/getting_started/index.html b/user/getting_started/index.html index dcc0f8160b..9d046e4504 100644 --- a/user/getting_started/index.html +++ b/user/getting_started/index.html @@ -8,7 +8,7 @@ - Getting Started — Flyte 0.6.0 documentation + Getting Started — Flyte 0.7.0 documentation diff --git a/user/getting_started/more_examples.html b/user/getting_started/more_examples.html index f58346c00a..58d233fcc8 100644 --- a/user/getting_started/more_examples.html +++ b/user/getting_started/more_examples.html @@ -8,7 +8,7 @@ - Want more example to Deep Dive — Flyte 0.6.0 documentation + Want more example to Deep Dive — Flyte 0.7.0 documentation diff --git a/user/index.html b/user/index.html index 0543c7dc94..baaea259f8 100644 --- a/user/index.html +++ b/user/index.html @@ -8,7 +8,7 @@ - User docs — Flyte 0.6.0 documentation + User docs — Flyte 0.7.0 documentation diff --git a/user/sdk/index.html b/user/sdk/index.html index 26a5063fed..bcebe59f24 100644 --- a/user/sdk/index.html +++ b/user/sdk/index.html @@ -8,7 +8,7 @@ - Python SDK — Flyte 0.6.0 documentation + Python SDK — Flyte 0.7.0 documentation diff --git a/user/tasktypes/container.html b/user/tasktypes/container.html index a47c92c6cc..0624a588af 100644 --- a/user/tasktypes/container.html +++ b/user/tasktypes/container.html @@ -8,7 +8,7 @@ - Container Task — Flyte 0.6.0 documentation + Container Task — Flyte 0.7.0 documentation diff --git a/user/tasktypes/dynamic.html b/user/tasktypes/dynamic.html index ad0a56936b..64359aba8a 100644 --- a/user/tasktypes/dynamic.html +++ b/user/tasktypes/dynamic.html @@ -8,7 +8,7 @@ - Dynamic Tasks — Flyte 0.6.0 documentation + Dynamic Tasks — Flyte 0.7.0 documentation diff --git a/user/tasktypes/hive.html b/user/tasktypes/hive.html index e5b4e19f30..45ef20509e 100644 --- a/user/tasktypes/hive.html +++ b/user/tasktypes/hive.html @@ -8,7 +8,7 @@ - Hive Tasks — Flyte 0.6.0 documentation + Hive Tasks — Flyte 0.7.0 documentation diff --git a/user/tasktypes/index.html b/user/tasktypes/index.html index e0220dbc2b..e42ce7e0ba 100644 --- a/user/tasktypes/index.html +++ b/user/tasktypes/index.html @@ -8,7 +8,7 @@ - Flyte Task Types — Flyte 0.6.0 documentation + Flyte Task Types — Flyte 0.7.0 documentation diff --git a/user/tasktypes/presto.html b/user/tasktypes/presto.html index 4ae1b5fb51..a38c9cb55e 100644 --- a/user/tasktypes/presto.html +++ b/user/tasktypes/presto.html @@ -8,7 +8,7 @@ - Presto Tasks — Flyte 0.6.0 documentation + Presto Tasks — Flyte 0.7.0 documentation diff --git a/user/tasktypes/pytorch.html b/user/tasktypes/pytorch.html index 98a856a526..bbafbcbc4a 100644 --- a/user/tasktypes/pytorch.html +++ b/user/tasktypes/pytorch.html @@ -8,7 +8,7 @@ - PyTorch Task — Flyte 0.6.0 documentation + PyTorch Task — Flyte 0.7.0 documentation diff --git a/user/tasktypes/sidecar.html b/user/tasktypes/sidecar.html index bcb2b593ab..6895166829 100644 --- a/user/tasktypes/sidecar.html +++ b/user/tasktypes/sidecar.html @@ -8,7 +8,7 @@ - Sidecar Tasks — Flyte 0.6.0 documentation + Sidecar Tasks — Flyte 0.7.0 documentation diff --git a/user/tasktypes/spark.html b/user/tasktypes/spark.html index b1ec2981d0..e581457b25 100644 --- a/user/tasktypes/spark.html +++ b/user/tasktypes/spark.html @@ -8,7 +8,7 @@ - Spark Task — Flyte 0.6.0 documentation + Spark Task — Flyte 0.7.0 documentation