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(isoweek="2024-W53")
Traceback (most recent call last):
...
pydantic_core._pydantic_core.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")
Traceback (most recent call last):
...
pydantic_core._pydantic_core.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__
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(isoweekdate="2024-W53-1")
Traceback (most recent call last):
...
pydantic_core._pydantic_core.ValidationError: 1 validation error for Model
isoweekdate
Invalid week number. Year 2024 has only 52 weeks. [...]
>>> _ = Model(isoweekdate="abc")
Traceback (most recent call last):
...
pydantic_core._pydantic_core.ValidationError: 1 validation error for Model
isoweekdate
Invalid iso week date pattern [...]
Source code in iso_week_date/pydantic.py
__get_pydantic_core_schema__
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. |