Skip to content

pydantic ¤

Modules:

Classes:

Functions:

  • from_pydantic

    Convert a Pydantic model to a Fluree select query structure.

DeeplyNestedStructureError ¤

Bases: FlureeSelectError

Exception raised when encountering unsupported deeply nested structures.

FlureeSelectBuilder dataclass ¤

FlureeSelectBuilder(
    warning_manager: WarningManager = WarningManager(),
    select: list[Any] = lambda: ["*"](),
    _processed_models: set[type[BaseModel]] = set(),
)

Builds Fluree select queries from Pydantic models.

Example

class User(BaseModel):
... id: str
... name: str
builder = FlureeSelectBuilder()
query = builder.build(User)
assert query == ["*"]

Methods:

  • build

    Build a Fluree select query structure from a Pydantic model.

build ¤

build(pydantic_model: type[BaseModel]) -> list[Any]

Build a Fluree select query structure from a Pydantic model.

Raises:

FlureeSelectError ¤

Bases: Exception

Base exception for Fluree select query building errors.

InvalidFieldTypeError ¤

Bases: FlureeSelectError

Exception raised when encountering an invalid field type.

ListOrderWarning ¤

Bases: RuntimeWarning

Warning raised when a field is a list type, indicating non-deterministic order.

MissingIdFieldError ¤

Bases: FlureeSelectError

Exception raised when a model is missing a required 'id' field.

ModelConfigError ¤

Bases: FlureeSelectError

Exception raised when there's an issue with the model configuration.

PossibleEmptyModelWarning ¤

Bases: RuntimeWarning

Warning raised when a model has only optional fields.

TypeProcessingError ¤

Bases: FlureeSelectError

Exception raised when there's an error processing a type.

from_pydantic ¤

from_pydantic(model: type[BaseModel]) -> list[Any]

Convert a Pydantic model to a Fluree select query structure.

Example

class User(BaseModel):
... id: str
... name: str
query = from_pydantic(User)
assert query == ["*"]