Pydantic Types¶
Pydantic model compatible types, implementation follows pydantic documentation at: Customizing validation with __get_pydantic_core_schema__
and it requires pydantic>=2.4.0
.
iso_week_date.pydantic.T_ISOWeek
¶
Bases: str
T_ISOWeek parses iso week in the ISO 8601 format.
New in version 1.2.0
Examples:
from pydantic import BaseModel
from iso_week_date.pydantic import T_ISOWeek
class Model(BaseModel):
isoweek: T_ISOWeek
model = Model(isoweek="2024-W01")
print(model)
# isoweek='2024-W01'
_ = Model(isoweek="2024-W53")
# ValidationError: 1 validation error for Model
# isoweek
# Invalid week number. Year 2024 has only 52 weeks. [type=T_ISOWeek, input_value='2024-W53', input_type=str]
_ = Model(isoweek="abc")
# ValidationError: 1 validation error for Model
# isoweek
# Invalid iso week pattern [type=T_ISOWeek, input_value='abc', input_type=str]
Source code in iso_week_date/pydantic.py
__get_pydantic_core_schema__(source, handler)
classmethod
¶
Return a Pydantic CoreSchema with the IsoWeek pattern validation.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source |
Type[Any]
|
The source type to be converted. |
required |
handler |
GetCoreSchemaHandler
|
The handler to get the CoreSchema. |
required |
Returns:
Type | Description |
---|---|
CoreSchema
|
A Pydantic CoreSchema with the IsoWeek pattern validation. |
Source code in iso_week_date/pydantic.py
iso_week_date.pydantic.T_ISOWeekDate
¶
Bases: str
T_ISOWeekDate parses iso week date in the ISO 8601 format.
New in version 1.2.0
Examples:
from pydantic import BaseModel
from iso_week_date.pydantic import T_ISOWeekDate
class Model(BaseModel):
isoweekdate: T_ISOWeekDate
model = Model(isoweekdate="2024-W01-1")
print(model)
# isoweekdate='2024-W01-1'
_ = Model(isoweekdate="2024-W53-1")
# ValidationError: 1 validation error for Model
# isoweekdate
# Invalid week number. Year 2024 has only 52 weeks.
# [type=type=T_ISOWeekDate, input_value='2024-W53-1', input_type=str]
_ = Model(isoweekdate="abc")
# ValidationError: 1 validation error for Model
# isoweekdate
# Invalid iso week pattern [type=type=T_ISOWeekDate, input_value='abc', input_type=str]
Source code in iso_week_date/pydantic.py
__get_pydantic_core_schema__(source, handler)
classmethod
¶
Return a Pydantic CoreSchema with the IsoWeekDate pattern validation.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source |
Type[Any]
|
The source type to be converted. |
required |
handler |
GetCoreSchemaHandler
|
The handler to get the CoreSchema. |
required |
Returns:
Type | Description |
---|---|
CoreSchema
|
A Pydantic CoreSchema with the IsoWeekDate pattern validation. |