sqlmeta.adapters.pydantic

Pydantic integration for sqlmeta.

This module provides functions to convert sqlmeta Table objects to Pydantic BaseModel classes.

Example

>>> from sqlmeta import Table, SqlColumn
>>> from sqlmeta.adapters.pydantic import to_pydantic
>>>
>>> table = Table("users", columns=[...])
>>> UserModel = to_pydantic(table)
>>> user = UserModel(id=1, email="test@example.com")

Functions

to_pydantic(table[, model_name, use_title_case])

Convert sqlmeta Table to Pydantic BaseModel.

to_pydantic_schema(table)

Convert sqlmeta Table to Pydantic JSON Schema.

sqlmeta.adapters.pydantic.to_pydantic(table: Table, model_name: str | None = None, use_title_case: bool = True) Type[BaseModel][source]

Convert sqlmeta Table to Pydantic BaseModel.

Parameters:
  • table – sqlmeta Table object

  • model_name – Model name (defaults to table name in PascalCase)

  • use_title_case – Convert snake_case to PascalCase

Returns:

Pydantic BaseModel class

Example

>>> from sqlmeta import Table, SqlColumn
>>>
>>> table = Table("users", columns=[
...     SqlColumn("id", "INTEGER", is_primary_key=True),
...     SqlColumn("email", "VARCHAR(255)", is_nullable=False),
...     SqlColumn("name", "VARCHAR(100)"),
... ])
>>>
>>> UserModel = to_pydantic(table)
>>> user = UserModel(id=1, email="test@example.com", name="John")
>>> print(user.model_dump_json())
sqlmeta.adapters.pydantic.to_pydantic_schema(table: Table) Dict[str, Any][source]

Convert sqlmeta Table to Pydantic JSON Schema.

Parameters:

table – sqlmeta Table object

Returns:

JSON Schema dictionary