<#5849 [BUG] Dataclass transformer errors when usi...
# flytekit
c
#5849 [BUG] Dataclass transformer errors when using frozen dataclasses Issue created by ggydush Describe the bug Dataclass transformer does not work with frozen dataclasses Expected behavior Dataclass transformer should work with frozen dataclasses Additional context to reproduce from dataclasses import dataclass from flytekit import task @dataclass(frozen=True) class DummyDataclass: x: int = 1 @task def dummy_task(dc: DummyDataclass) -> int: return dc.x if name == "__main__": dummy_task(dc=DummyDataclass(x=1)) /Users/ggydush/dev/delve/clinical-pipeline/clinical_pipeline/core/dataclasses/tmp.py:17 in <module> │ │ │ │ ❱ 17 │ dummy_task(dc=DummyDataclass(x=1)) │ │ │ │ /Users/ggydush/.virtualenvs/clinical-pipeline-ErT9kUro-py3.11/lib/python3.11/site-packages/flytekit/core/base_task.py:358 in call │ │ │ │ ❱ 358 │ │ return flyte_entity_call_handler(self, *args, **kwargs) # type: ignore │ │ │ │ /Users/ggydush/.virtualenvs/clinical-pipeline-ErT9kUro-py3.11/lib/python3.11/site-packages/flytekit/core/promise.py:1256 in flyte_entity_call_handler │ │ │ │ ❱ 1256 │ │ │ result = cast(LocallyExecutable, entity).local_execute(child_ctx, **kwargs) │ │ │ │ /Users/ggydush/.virtualenvs/clinical-pipeline-ErT9kUro-py3.11/lib/python3.11/site-packages/flytekit/core/base_task.py:285 in local_execute │ │ │ │ ❱ 285 │ │ │ kwargs = translate_inputs_to_literals( │ │ │ │ /Users/ggydush/.virtualenvs/clinical-pipeline-ErT9kUro-py3.11/lib/python3.11/site-packages/flytekit/core/promise.py:95 in translate_inputs_to_literals │ │ │ │ ❱ 95 │ │ │ result[k] = TypeEngine.to_literal(ctx, v, t, var.type) │ │ │ │ /Users/ggydush/.virtualenvs/clinical-pipeline-ErT9kUro-py3.11/lib/python3.11/site-packages/flytekit/core/type_engine.py:1174 in to_literal │ │ │ │ ❱ 1174 │ │ lv = transformer.to_literal(ctx, python_val, python_type, expected) │ │ │ │ /Users/ggydush/.virtualenvs/clinical-pipeline-ErT9kUro-py3.11/lib/python3.11/site-packages/flytekit/core/type_engine.py:485 in to_literal │ │ │ │ ❱ 485 │ │ self._serialize_flyte_type(python_val, python_type) │ │ │ │ /Users/ggydush/.virtualenvs/clinical-pipeline-ErT9kUro-py3.11/lib/python3.11/site-packages/flytekit/core/type_engine.py:597 in _serialize_flyte_type │ │ │ │ ❱ 597 │ │ │ │ python_val.__setattr__(v.name, self._serialize_flyte_type(val, field_typ │ │ in __setattr__:4 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ FrozenInstanceError: cannot assign to field 'x' Screenshots No response Are you sure this issue hasn't been raised already? • Yes Have you read the Code of Conduct? • Yes flyteorg/flyte