You can use a forward reference in annotations.
@dataclass
class Foo:
i: int
s: str
bar: 'Bar' # Specify type annotation in string.
@serde
@dataclass
class Bar:
f: float
b: bool
# Evaluate pyserde decorators after `Bar` is defined.
serde(Foo)
For complete example, please see examples/forward_reference.py