ancient-wolf-19325
08/11/2024, 3:13 PMis_none method is used in Flyte to check if a value is None within a workflow context. It is particularly useful for handling Optional inputs in conditional workflows. According to the Flyte documentation, you can use is_none to verify if a value is None and make decisions based on that.
To handle Optional inputs without introducing another task that returns a boolean, you can directly use the is_none method in your workflow's conditional logic. Here's an example:
from flytekit import task, workflow, conditional
from typing import Optional
@task
def task_with_optional_return() -> Optional[int]:
return None # or some integer value
@task
def handle_none() -> str:
return "Value is None"
@task
def handle_value(value: int) -> str:
return f"Value is {value}"
@workflow
def wf() -> str:
optional_value = task_with_optional_return()
return (
conditional("check_none")
.if_(optional_value.is_none())
.then(handle_none())
.else_()
.then(handle_value(value=optional_value))
)
This workflow checks if the output of task_with_optional_return is None using is_none and handles it accordingly without needing an additional task to return a boolean.
Would you like more details on any specific part?
Sources:
- Flyte Conditional Workflow Example
Slack Link
https://flyte-org.slack.com/archives/CP2HDHKE1/p1723389169.861749 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.