tessl install tessl/pypi-sqlmodel@0.0.0SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.
Agent Success
Agent success rate when using this tile
85%
Improvement
Agent success rate improvement when using this tile compared to baseline
1x
Baseline
Agent success rate without this tile
85%
{
"context": "This criteria evaluates how well the engineer uses SQLModel's FastAPI integration features to build a REST API with proper model variants, validation, and endpoint definitions.",
"type": "weighted_checklist",
"checklist": [
{
"name": "SQLModel Database Model",
"description": "Defines a SQLModel class with table=True for the Product database model, including all required fields (id, name, description, price, stock_quantity, category) with appropriate types and Field configurations",
"max_score": 15
},
{
"name": "Create Input Model",
"description": "Defines a separate SQLModel class for product creation input (e.g., ProductCreate) that excludes the ID field and is used in the POST endpoint",
"max_score": 15
},
{
"name": "Public Output Model",
"description": "Defines a separate SQLModel class for API responses (e.g., ProductPublic or ProductRead) that includes all fields including ID, configured with model_config allowing from_attributes=True or ConfigDict(from_attributes=True)",
"max_score": 15
},
{
"name": "Update Input Model",
"description": "Defines a separate SQLModel class for partial updates (e.g., ProductUpdate) where all fields are optional, used in the PATCH endpoint",
"max_score": 10
},
{
"name": "Decimal Field Configuration",
"description": "Uses Field with max_digits and decimal_places parameters to configure the price field as a Decimal with 2 decimal places",
"max_score": 10
},
{
"name": "FastAPI Endpoint Definition",
"description": "Defines all four FastAPI endpoints (@app.post, @app.get, @app.patch) with correct path parameters and response_model specifications using the Public model class",
"max_score": 15
},
{
"name": "Session Dependency",
"description": "Uses FastAPI Depends() to inject database Session into endpoint functions, properly managing database session lifecycle",
"max_score": 10
},
{
"name": "ORM to Pydantic Conversion",
"description": "Uses model_validate() or direct model instantiation with from_attributes=True to convert between SQLModel database instances and API response models",
"max_score": 10
}
]
}