Open
Description
Summary
Litestar doesn't generate OpenAPI type and format for pydantic.AwareDatetime
Basic Example
import datetime
import litestar
import pydantic
from litestar.openapi.spec import OpenAPIFormat, OpenAPIType
class HelloResponse(pydantic.BaseModel):
stdlib_datetime: datetime.datetime
aware_datetime: pydantic.AwareDatetime
@litestar.get()
async def hello() -> HelloResponse:
return HelloResponse(
stdlib_datetime=datetime.datetime.now(),
aware_datetime=datetime.datetime.now(datetime.UTC),
)
app = litestar.Litestar([hello])
props = app.openapi_schema.components.schemas["HelloResponse"].properties
assert props["stdlib_datetime"].type == OpenAPIType.STRING
assert props["stdlib_datetime"].format == OpenAPIFormat.DATE_TIME
assert props["aware_datetime"].type is None # Expected OpenAPIType.STRING
assert props["aware_datetime"].format is None # Expected OpenAPIFormat.DATE_TIME
print("Assertions passed, aware datetime is not supported")
Run with uv:
uv run --python 3.13 --with litestar==2.16.0 --with pydantic==2.11.7 --no-project t.py
Drawbacks and Impact
No response
Unresolved questions
No response