flyte
flyte copied to clipboard
[BUG] Boolean values within pydantic base model being casted to scalar value
Describe the bug
Describe the bug
Trying to pass a pydantic model between task but its converting bool variables to int. Is there a way to make flyte work with pydantic models?
Expected behavior
For bool types to stay as bool types
Additional context to reproduce
I have this main.py file containing my workflow:
from flytekit import task, workflow
from pydantic import BaseModel
class Config(BaseModel):
bool_var: bool
@task
def create_config() -> Config:
return Config(bool_var=True)
@task
def check_bool(x: bool) -> bool:
return x
@workflow
def workflow() -> bool:
config = create_config()
return check_bool(x=config['bool_var'])
When I run this with the command
pyflyte run issue.py workflow
I get the error:
TypeTransformerFailedError: Failed to convert inputs of task 'issue.check_bool':
Error converting input 'x' at position 0:
Cannot convert literal <FlyteLiteral(Literal) scalar { blob { metadata { type { format: "PythonPickle" } } uri:
"/var/folders/zr/72m6cw8x66b4g3q_s8dmy5c00000gn/T/flyte-bgc4g0zt/raw/d8a7be6139519884010995bc2aa7ddd9/cd165a40ea1442ca1acb6fbd4b3700f4" } }> to <class 'bool'>
The bool property in the Config object is converted to a scalar.
Screenshots
No response
Are you sure this issue hasn't been raised already?
- [X] Yes
Have you read the Code of Conduct?
- [X] Yes