neuralib.sqlp.table_nt

neuralib.sqlp.table_nt.named_tuple_table_class(cls)[source]

A deceorator that deceorate a NamedTuple to be a SQL table.

Declare a table

>>> @named_tuple_table_class
... class Example(typing.NamedTuple):
...     a: typing.Annotated[str, PRIMARY]  # primary key
...     b: typing.Annotated[str, UNIQUE]   # unique key
...     c: typing.Optional[str]            # nullable key