acoustic-carpenter-78188
12/22/2023, 8:41 PMlit
and transformed_lit
variables look identical, but are not after converting to Python value.
import string
from flytekit.core.context_manager import FlyteContext
from flytekit.core.type_engine import DictTransformer, TypeEngine
from flytekit.models import literals
def simulate_dict_transform(data: dict, python_type: type) -> dict:
t = DictTransformer()
ctx = FlyteContext.current_context()
lit = t.to_literal(ctx, data, python_type, TypeEngine.to_literal_type(python_type))
transformed_lit = literals.Literal.from_flyte_idl(lit.to_flyte_idl())
return t.to_python_value(ctx, transformed_lit, python_type)
data = {k: v for v, k in enumerate(string.ascii_lowercase)}
transformed = simulate_dict_transform(data, dict[str, int])
print(data.keys())
print(transformed.keys())
assert list(data.keys()) == list(transformed.keys())
Screenshots
No response
Are you sure this issue hasn't been raised already?
☑︎ Yes
Have you read the Code of Conduct?
☑︎ Yes
flyteorg/flyteacoustic-carpenter-78188
12/22/2023, 8:41 PM