A horizontal banner depicting an expansive ocean scenery.

marius.vision

Software Ghostbox Tanto B/X Toolkit
Media HeMakesMePlay A Dungeon About Blue Sky Github

Showing posts tagged with: programming

Introducing Duck Unions: Python, Pydantic, and Discriminated Unions

I.

I really like sum types and matching patterns on them. For example:

class ConnectedClient:
    ip: Tuple[int, int, int, int]

class AuthenticatedClient:
    send: Callable[[str], None]
    auth: AuthToken

class Disconnected:
    pass

ClientConnection = ConnectedClient | AuthenticatedClient | Disconnected

This is very clean and ...

Read more