Conversion Table
The following table provides details on how Pydantic converts data during validation in both strict and lax modes.
The "Strict" column contains checkmarks for type conversions that are allowed when validating in Strict Mode.
Field Type | Input | Strict | Input Source | Conditions |
---|---|---|---|---|
bool |
bool |
✓ | Python & JSON | |
bool |
float |
Python & JSON | Allowed values: 0.0, 1.0 . |
|
bool |
int |
Python & JSON | Allowed values: 0, 1 . |
|
bool |
str |
Python & JSON | Allowed values: 'f' , 'n' , 'no' , 'off' , 'false' , 'False' , 't' , 'y' , 'on' , 'yes' , 'true' , 'True' . |
|
bool |
Decimal |
Python | Allowed values: Decimal(0), Decimal(1) . |
|
bytes |
bytearray |
Python | ||
bytes |
bytes |
✓ | Python | |
bytes |
str |
✓ | JSON | |
bytes |
str |
Python | ||
callable |
- |
JSON | Never valid. | |
callable |
Any |
✓ | Python | callable() check must return True . |
date |
bytes |
Python | Format: YYYY-MM-DD (UTF-8). |
|
date |
date |
✓ | Python | |
date |
datetime |
Python | Must be exact date, eg. no H , M , S , f . |
|
date |
float |
Python & JSON | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
date |
int |
Python & JSON | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
date |
str |
Python & JSON | Format: YYYY-MM-DD . |
|
date |
Decimal |
Python | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
datetime |
bytes |
Python | Format: YYYY-MM-DDTHH:MM:SS.f . See speedate, (UTF-8). |
|
datetime |
date |
Python | ||
datetime |
datetime |
✓ | Python | |
datetime |
float |
Python & JSON | Interpreted as seconds or ms from epoch, see speedate. | |
datetime |
int |
Python & JSON | Interpreted as seconds or ms from epoch, see speedate. | |
datetime |
str |
Python & JSON | Format: YYYY-MM-DDTHH:MM:SS.f . See speedate. |
|
datetime |
Decimal |
Python | Interpreted as seconds or ms from epoch, see speedate. | |
deque |
deque |
✓ | Python | |
deque |
frozenset |
Python | ||
deque |
list |
Python | ||
deque |
set |
Python | ||
deque |
tuple |
Python | ||
deque |
Array |
✓ | JSON | |
dict |
dict |
✓ | Python | |
dict |
Mapping |
Python | Must implement the mapping interface and have an items() method. |
|
dict |
Object |
✓ | JSON | |
float |
bool |
Python & JSON | ||
float |
bytes |
Python | Must match [0-9]+(\.[0-9]+)? . |
|
float |
float |
✓ | Python & JSON | bool is explicitly forbidden. |
float |
int |
✓ | Python & JSON | |
float |
str |
Python & JSON | Must match [0-9]+(\.[0-9]+)? . |
|
float |
Decimal |
Python | ||
frozenset |
deque |
Python | ||
frozenset |
dict_keys |
Python | ||
frozenset |
dict_values |
Python | ||
frozenset |
frozenset |
✓ | Python | |
frozenset |
list |
Python | ||
frozenset |
set |
Python | ||
frozenset |
tuple |
Python | ||
frozenset |
Array |
✓ | JSON | |
int |
bool |
Python & JSON | ||
int |
bytes |
Python | i64 , Must be numeric only, e.g. [0-9]+ . |
|
int |
float |
Python & JSON | i64 , Must be exact int, e.g. val % 1 == 0 , raises error for nan , inf . |
|
int |
int |
✓ | Python & JSON | Max abs value 2^64 as i64 is used internally; bool is explicitly forbidden. |
int |
int |
Python & JSON | i64 . Limits numbers > (2 ^ 63) - 1 to (2 ^ 63) - 1 . |
|
int |
str |
Python & JSON | i64 , Must be numeric only, e.g. [0-9]+ . |
|
int |
Decimal |
Python | i64 , Must be exact int, e.g. val % 1 == 0 . |
|
list |
deque |
Python | ||
list |
dict_keys |
Python | ||
list |
dict_values |
Python | ||
list |
frozenset |
Python | ||
list |
list |
✓ | Python | |
list |
set |
Python | ||
list |
tuple |
Python | ||
list |
Array |
✓ | JSON | |
namedtuple |
dict |
✓ | Python | |
namedtuple |
list |
✓ | Python | |
namedtuple |
namedtuple |
✓ | Python | |
namedtuple |
tuple |
✓ | Python | |
namedtuple |
Array |
✓ | JSON | |
namedtuple |
NamedTuple |
✓ | Python | |
set |
deque |
Python | ||
set |
dict_keys |
Python | ||
set |
dict_values |
Python | ||
set |
frozenset |
Python | ||
set |
list |
Python | ||
set |
set |
✓ | Python | |
set |
tuple |
Python | ||
set |
Array |
✓ | JSON | |
str |
bytearray |
Python | Assumes UTF-8, error on unicode decoding error. | |
str |
bytes |
Python | Assumes UTF-8, error on unicode decoding error. | |
str |
str |
✓ | Python & JSON | |
time |
bytes |
Python | Format: HH:MM:SS.FFFFFF . See speedate. |
|
time |
float |
Python & JSON | Interpreted as seconds, range 0 - 86399.9* . |
|
time |
int |
Python & JSON | Interpreted as seconds, range 0 - 86399 . |
|
time |
str |
Python & JSON | Format: HH:MM:SS.FFFFFF . See speedate. |
|
time |
time |
✓ | Python | |
time |
Decimal |
Python | Interpreted as seconds, range 0 - 86399.9* . |
|
timedelta |
bytes |
Python | Format: ISO8601 . See speedate, (UTF-8). |
|
timedelta |
float |
Python & JSON | Interpreted as seconds. | |
timedelta |
int |
Python & JSON | Interpreted as seconds. | |
timedelta |
str |
Python & JSON | Format: ISO8601 . See speedate. |
|
timedelta |
timedelta |
✓ | Python | |
timedelta |
Decimal |
Python | Interpreted as seconds. | |
tuple |
deque |
Python | ||
tuple |
dict_keys |
Python | ||
tuple |
dict_values |
Python | ||
tuple |
frozenset |
Python | ||
tuple |
list |
Python | ||
tuple |
set |
Python | ||
tuple |
tuple |
✓ | Python | |
tuple |
Array |
✓ | JSON | |
Any |
Any |
✓ | Python & JSON | |
ByteSize |
float |
✓ | Python & JSON | |
ByteSize |
int |
✓ | Python & JSON | |
ByteSize |
str |
✓ | Python & JSON | |
ByteSize |
Decimal |
✓ | Python | |
Decimal |
float |
✓ | JSON | |
Decimal |
float |
Python & JSON | ||
Decimal |
int |
✓ | JSON | |
Decimal |
int |
Python & JSON | ||
Decimal |
str |
✓ | JSON | |
Decimal |
str |
Python & JSON | Must match [0-9]+(\.[0-9]+)? . |
|
Decimal |
Decimal |
✓ | Python | |
Enum |
Any |
✓ | JSON | Input value must be convertible to enum values. |
Enum |
Any |
Python | Input value must be convertible to enum values. | |
Enum |
Enum |
✓ | Python | |
IPv4Address |
bytes |
Python | ||
IPv4Address |
int |
Python | integer representing the IP address, must be less than 2**32 |
|
IPv4Address |
str |
✓ | JSON | |
IPv4Address |
str |
Python & JSON | ||
IPv4Address |
IPv4Address |
✓ | Python | |
IPv4Address |
IPv4Interface |
✓ | Python | |
IPv4Interface |
bytes |
Python | ||
IPv4Interface |
int |
Python | integer representing the IP address, must be less than 2**32 |
|
IPv4Interface |
str |
✓ | JSON | |
IPv4Interface |
str |
Python & JSON | ||
IPv4Interface |
tuple |
Python | ||
IPv4Interface |
IPv4Address |
Python | ||
IPv4Interface |
IPv4Interface |
✓ | Python | |
IPv4Network |
bytes |
Python | ||
IPv4Network |
int |
Python | integer representing the IP network, must be less than 2**32 |
|
IPv4Network |
str |
✓ | JSON | |
IPv4Network |
str |
Python & JSON | ||
IPv4Network |
IPv4Address |
Python | ||
IPv4Network |
IPv4Interface |
Python | ||
IPv4Network |
IPv4Network |
✓ | Python | |
IPv6Address |
bytes |
Python | ||
IPv6Address |
int |
Python | integer representing the IP address, must be less than 2**128 |
|
IPv6Address |
str |
✓ | JSON | |
IPv6Address |
str |
Python & JSON | ||
IPv6Address |
IPv6Address |
✓ | Python | |
IPv6Address |
IPv6Interface |
✓ | Python | |
IPv6Interface |
bytes |
Python | ||
IPv6Interface |
int |
Python | integer representing the IP address, must be less than 2**128 |
|
IPv6Interface |
str |
✓ | JSON | |
IPv6Interface |
str |
Python & JSON | ||
IPv6Interface |
tuple |
Python | ||
IPv6Interface |
IPv6Address |
Python | ||
IPv6Interface |
IPv6Interface |
✓ | Python | |
IPv6Network |
bytes |
Python | ||
IPv6Network |
int |
Python | integer representing the IP address, must be less than 2**128 |
|
IPv6Network |
str |
✓ | JSON | |
IPv6Network |
str |
Python & JSON | ||
IPv6Network |
IPv6Address |
Python | ||
IPv6Network |
IPv6Interface |
Python | ||
IPv6Network |
IPv6Network |
✓ | Python | |
InstanceOf |
- |
JSON | Never valid. | |
InstanceOf |
Any |
✓ | Python | isinstance() check must return True . |
IntEnum |
Any |
✓ | JSON | Input value must be convertible to enum values. |
IntEnum |
Any |
Python | Input value must be convertible to enum values. | |
IntEnum |
IntEnum |
✓ | Python | |
Iterable |
deque |
✓ | Python | |
Iterable |
frozenset |
✓ | Python | |
Iterable |
list |
✓ | Python | |
Iterable |
set |
✓ | Python | |
Iterable |
tuple |
✓ | Python | |
Iterable |
Array |
✓ | JSON | |
NamedTuple |
dict |
✓ | Python | |
NamedTuple |
list |
✓ | Python | |
NamedTuple |
namedtuple |
✓ | Python | |
NamedTuple |
tuple |
✓ | Python | |
NamedTuple |
Array |
✓ | JSON | |
NamedTuple |
NamedTuple |
✓ | Python | |
None |
None |
✓ | Python & JSON | |
Path |
str |
✓ | JSON | |
Path |
str |
Python | ||
Path |
Path |
✓ | Python | |
Pattern |
bytes |
✓ | Python | Input must be a valid pattern. |
Pattern |
str |
✓ | Python & JSON | Input must be a valid pattern. |
Sequence |
deque |
Python | ||
Sequence |
list |
✓ | Python | |
Sequence |
tuple |
Python | ||
Sequence |
Array |
✓ | JSON | |
Type |
Type |
✓ | Python | |
TypedDict |
dict |
✓ | Python | |
TypedDict |
Any |
✓ | Python | |
TypedDict |
Mapping |
Python | Must implement the mapping interface and have an items() method. |
|
TypedDict |
Object |
✓ | JSON | |
UUID |
str |
✓ | JSON | |
UUID |
str |
Python | ||
UUID |
UUID |
✓ | Python |
Field Type | Input | Strict | Input Source | Conditions |
---|---|---|---|---|
bool |
bool |
✓ | Python & JSON | |
bool |
float |
Python & JSON | Allowed values: 0.0, 1.0 . |
|
bool |
int |
Python & JSON | Allowed values: 0, 1 . |
|
bool |
str |
Python & JSON | Allowed values: 'f' , 'n' , 'no' , 'off' , 'false' , 'False' , 't' , 'y' , 'on' , 'yes' , 'true' , 'True' . |
|
bytes |
str |
✓ | JSON | |
callable |
- |
JSON | Never valid. | |
date |
float |
Python & JSON | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
date |
int |
Python & JSON | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
date |
str |
Python & JSON | Format: YYYY-MM-DD . |
|
datetime |
float |
Python & JSON | Interpreted as seconds or ms from epoch, see speedate. | |
datetime |
int |
Python & JSON | Interpreted as seconds or ms from epoch, see speedate. | |
datetime |
str |
Python & JSON | Format: YYYY-MM-DDTHH:MM:SS.f . See speedate. |
|
deque |
Array |
✓ | JSON | |
dict |
Object |
✓ | JSON | |
float |
bool |
Python & JSON | ||
float |
float |
✓ | Python & JSON | bool is explicitly forbidden. |
float |
int |
✓ | Python & JSON | |
float |
str |
Python & JSON | Must match [0-9]+(\.[0-9]+)? . |
|
frozenset |
Array |
✓ | JSON | |
int |
bool |
Python & JSON | ||
int |
float |
Python & JSON | i64 , Must be exact int, e.g. val % 1 == 0 , raises error for nan , inf . |
|
int |
int |
✓ | Python & JSON | Max abs value 2^64 as i64 is used internally; bool is explicitly forbidden. |
int |
int |
Python & JSON | i64 . Limits numbers > (2 ^ 63) - 1 to (2 ^ 63) - 1 . |
|
int |
str |
Python & JSON | i64 , Must be numeric only, e.g. [0-9]+ . |
|
list |
Array |
✓ | JSON | |
namedtuple |
Array |
✓ | JSON | |
set |
Array |
✓ | JSON | |
str |
str |
✓ | Python & JSON | |
time |
float |
Python & JSON | Interpreted as seconds, range 0 - 86399.9* . |
|
time |
int |
Python & JSON | Interpreted as seconds, range 0 - 86399 . |
|
time |
str |
Python & JSON | Format: HH:MM:SS.FFFFFF . See speedate. |
|
timedelta |
float |
Python & JSON | Interpreted as seconds. | |
timedelta |
int |
Python & JSON | Interpreted as seconds. | |
timedelta |
str |
Python & JSON | Format: ISO8601 . See speedate. |
|
tuple |
Array |
✓ | JSON | |
Any |
Any |
✓ | Python & JSON | |
ByteSize |
float |
✓ | Python & JSON | |
ByteSize |
int |
✓ | Python & JSON | |
ByteSize |
str |
✓ | Python & JSON | |
Decimal |
float |
✓ | JSON | |
Decimal |
float |
Python & JSON | ||
Decimal |
int |
✓ | JSON | |
Decimal |
int |
Python & JSON | ||
Decimal |
str |
✓ | JSON | |
Decimal |
str |
Python & JSON | Must match [0-9]+(\.[0-9]+)? . |
|
Enum |
Any |
✓ | JSON | Input value must be convertible to enum values. |
IPv4Address |
str |
✓ | JSON | |
IPv4Address |
str |
Python & JSON | ||
IPv4Interface |
str |
✓ | JSON | |
IPv4Interface |
str |
Python & JSON | ||
IPv4Network |
str |
✓ | JSON | |
IPv4Network |
str |
Python & JSON | ||
IPv6Address |
str |
✓ | JSON | |
IPv6Address |
str |
Python & JSON | ||
IPv6Interface |
str |
✓ | JSON | |
IPv6Interface |
str |
Python & JSON | ||
IPv6Network |
str |
✓ | JSON | |
IPv6Network |
str |
Python & JSON | ||
InstanceOf |
- |
JSON | Never valid. | |
IntEnum |
Any |
✓ | JSON | Input value must be convertible to enum values. |
Iterable |
Array |
✓ | JSON | |
NamedTuple |
Array |
✓ | JSON | |
None |
None |
✓ | Python & JSON | |
Path |
str |
✓ | JSON | |
Pattern |
str |
✓ | Python & JSON | Input must be a valid pattern. |
Sequence |
Array |
✓ | JSON | |
TypedDict |
Object |
✓ | JSON | |
UUID |
str |
✓ | JSON |
Field Type | Input | Strict | Input Source | Conditions |
---|---|---|---|---|
bool |
bool |
✓ | Python & JSON | |
bytes |
str |
✓ | JSON | |
deque |
Array |
✓ | JSON | |
dict |
Object |
✓ | JSON | |
float |
float |
✓ | Python & JSON | bool is explicitly forbidden. |
float |
int |
✓ | Python & JSON | |
frozenset |
Array |
✓ | JSON | |
int |
int |
✓ | Python & JSON | Max abs value 2^64 as i64 is used internally; bool is explicitly forbidden. |
list |
Array |
✓ | JSON | |
namedtuple |
Array |
✓ | JSON | |
set |
Array |
✓ | JSON | |
str |
str |
✓ | Python & JSON | |
tuple |
Array |
✓ | JSON | |
Any |
Any |
✓ | Python & JSON | |
ByteSize |
float |
✓ | Python & JSON | |
ByteSize |
int |
✓ | Python & JSON | |
ByteSize |
str |
✓ | Python & JSON | |
Decimal |
float |
✓ | JSON | |
Decimal |
int |
✓ | JSON | |
Decimal |
str |
✓ | JSON | |
Enum |
Any |
✓ | JSON | Input value must be convertible to enum values. |
IPv4Address |
str |
✓ | JSON | |
IPv4Interface |
str |
✓ | JSON | |
IPv4Network |
str |
✓ | JSON | |
IPv6Address |
str |
✓ | JSON | |
IPv6Interface |
str |
✓ | JSON | |
IPv6Network |
str |
✓ | JSON | |
IntEnum |
Any |
✓ | JSON | Input value must be convertible to enum values. |
Iterable |
Array |
✓ | JSON | |
NamedTuple |
Array |
✓ | JSON | |
None |
None |
✓ | Python & JSON | |
Path |
str |
✓ | JSON | |
Pattern |
str |
✓ | Python & JSON | Input must be a valid pattern. |
Sequence |
Array |
✓ | JSON | |
TypedDict |
Object |
✓ | JSON | |
UUID |
str |
✓ | JSON |
Field Type | Input | Strict | Input Source | Conditions |
---|---|---|---|---|
bool |
bool |
✓ | Python & JSON | |
bool |
float |
Python & JSON | Allowed values: 0.0, 1.0 . |
|
bool |
int |
Python & JSON | Allowed values: 0, 1 . |
|
bool |
str |
Python & JSON | Allowed values: 'f' , 'n' , 'no' , 'off' , 'false' , 'False' , 't' , 'y' , 'on' , 'yes' , 'true' , 'True' . |
|
bool |
Decimal |
Python | Allowed values: Decimal(0), Decimal(1) . |
|
bytes |
bytearray |
Python | ||
bytes |
bytes |
✓ | Python | |
bytes |
str |
Python | ||
callable |
Any |
✓ | Python | callable() check must return True . |
date |
bytes |
Python | Format: YYYY-MM-DD (UTF-8). |
|
date |
date |
✓ | Python | |
date |
datetime |
Python | Must be exact date, eg. no H , M , S , f . |
|
date |
float |
Python & JSON | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
date |
int |
Python & JSON | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
date |
str |
Python & JSON | Format: YYYY-MM-DD . |
|
date |
Decimal |
Python | Interpreted as seconds or ms from epoch. See speedate. Must be exact date. | |
datetime |
bytes |
Python | Format: YYYY-MM-DDTHH:MM:SS.f . See speedate, (UTF-8). |
|
datetime |
date |
Python | ||
datetime |
datetime |
✓ | Python | |
datetime |
float |
Python & JSON | Interpreted as seconds or ms from epoch, see speedate. | |
datetime |
int |
Python & JSON | Interpreted as seconds or ms from epoch, see speedate. | |
datetime |
str |
Python & JSON | Format: YYYY-MM-DDTHH:MM:SS.f . See speedate. |
|
datetime |
Decimal |
Python | Interpreted as seconds or ms from epoch, see speedate. | |
deque |
deque |
✓ | Python | |
deque |
frozenset |
Python | ||
deque |
list |
Python | ||
deque |
set |
Python | ||
deque |
tuple |
Python | ||
dict |
dict |
✓ | Python | |
dict |
Mapping |
Python | Must implement the mapping interface and have an items() method. |
|
float |
bool |
Python & JSON | ||
float |
bytes |
Python | Must match [0-9]+(\.[0-9]+)? . |
|
float |
float |
✓ | Python & JSON | bool is explicitly forbidden. |
float |
int |
✓ | Python & JSON | |
float |
str |
Python & JSON | Must match [0-9]+(\.[0-9]+)? . |
|
float |
Decimal |
Python | ||
frozenset |
deque |
Python | ||
frozenset |
dict_keys |
Python | ||
frozenset |
dict_values |
Python | ||
frozenset |
frozenset |
✓ | Python | |
frozenset |
list |
Python | ||
frozenset |
set |
Python | ||
frozenset |
tuple |
Python | ||
int |
bool |
Python & JSON | ||
int |
bytes |
Python | i64 , Must be numeric only, e.g. [0-9]+ . |
|
int |
float |
Python & JSON | i64 , Must be exact int, e.g. val % 1 == 0 , raises error for nan , inf . |
|
int |
int |
✓ | Python & JSON | Max abs value 2^64 as i64 is used internally; bool is explicitly forbidden. |
int |
int |
Python & JSON | i64 . Limits numbers > (2 ^ 63) - 1 to (2 ^ 63) - 1 . |
|
int |
str |
Python & JSON | i64 , Must be numeric only, e.g. [0-9]+ . |
|
int |
Decimal |
Python | i64 , Must be exact int, e.g. val % 1 == 0 . |
|
list |
deque |
Python | ||
list |
dict_keys |
Python | ||
list |
dict_values |
Python | ||
list |
frozenset |
Python | ||
list |
list |
✓ | Python | |
list |
set |
Python | ||
list |
tuple |
Python | ||
namedtuple |
dict |
✓ | Python | |
namedtuple |
list |
✓ | Python | |
namedtuple |
namedtuple |
✓ | Python | |
namedtuple |
tuple |
✓ | Python | |
namedtuple |
NamedTuple |
✓ | Python | |
set |
deque |
Python | ||
set |
dict_keys |
Python | ||
set |
dict_values |
Python | ||
set |
frozenset |
Python | ||
set |
list |
Python | ||
set |
set |
✓ | Python | |
set |
tuple |
Python | ||
str |
bytearray |
Python | Assumes UTF-8, error on unicode decoding error. | |
str |
bytes |
Python | Assumes UTF-8, error on unicode decoding error. | |
str |
str |
✓ | Python & JSON | |
time |
bytes |
Python | Format: HH:MM:SS.FFFFFF . See speedate. |
|
time |
float |
Python & JSON | Interpreted as seconds, range 0 - 86399.9* . |
|
time |
int |
Python & JSON | Interpreted as seconds, range 0 - 86399 . |
|
time |
str |
Python & JSON | Format: HH:MM:SS.FFFFFF . See speedate. |
|
time |
time |
✓ | Python | |
time |
Decimal |
Python | Interpreted as seconds, range 0 - 86399.9* . |
|
timedelta |
bytes |
Python | Format: ISO8601 . See speedate, (UTF-8). |
|
timedelta |
float |
Python & JSON | Interpreted as seconds. | |
timedelta |
int |
Python & JSON | Interpreted as seconds. | |
timedelta |
str |
Python & JSON | Format: ISO8601 . See speedate. |
|
timedelta |
timedelta |
✓ | Python | |
timedelta |
Decimal |
Python | Interpreted as seconds. | |
tuple |
deque |
Python | ||
tuple |
dict_keys |
Python | ||
tuple |
dict_values |
Python | ||
tuple |
frozenset |
Python | ||
tuple |
list |
Python | ||
tuple |
set |
Python | ||
tuple |
tuple |
✓ | Python | |
Any |
Any |
✓ | Python & JSON | |
ByteSize |
float |
✓ | Python & JSON | |
ByteSize |
int |
✓ | Python & JSON | |
ByteSize |
str |
✓ | Python & JSON | |
ByteSize |
Decimal |
✓ | Python | |
Decimal |
float |
Python & JSON | ||
Decimal |
int |
Python & JSON | ||
Decimal |
str |
Python & JSON | Must match [0-9]+(\.[0-9]+)? . |
|
Decimal |
Decimal |
✓ | Python | |
Enum |
Any |
Python | Input value must be convertible to enum values. | |
Enum |
Enum |
✓ | Python | |
IPv4Address |
bytes |
Python | ||
IPv4Address |
int |
Python | integer representing the IP address, must be less than 2**32 |
|
IPv4Address |
str |
Python & JSON | ||
IPv4Address |
IPv4Address |
✓ | Python | |
IPv4Address |
IPv4Interface |
✓ | Python | |
IPv4Interface |
bytes |
Python | ||
IPv4Interface |
int |
Python | integer representing the IP address, must be less than 2**32 |
|
IPv4Interface |
str |
Python & JSON | ||
IPv4Interface |
tuple |
Python | ||
IPv4Interface |
IPv4Address |
Python | ||
IPv4Interface |
IPv4Interface |
✓ | Python | |
IPv4Network |
bytes |
Python | ||
IPv4Network |
int |
Python | integer representing the IP network, must be less than 2**32 |
|
IPv4Network |
str |
Python & JSON | ||
IPv4Network |
IPv4Address |
Python | ||
IPv4Network |
IPv4Interface |
Python | ||
IPv4Network |
IPv4Network |
✓ | Python | |
IPv6Address |
bytes |
Python | ||
IPv6Address |
int |
Python | integer representing the IP address, must be less than 2**128 |
|
IPv6Address |
str |
Python & JSON | ||
IPv6Address |
IPv6Address |
✓ | Python | |
IPv6Address |
IPv6Interface |
✓ | Python | |
IPv6Interface |
bytes |
Python | ||
IPv6Interface |
int |
Python | integer representing the IP address, must be less than 2**128 |
|
IPv6Interface |
str |
Python & JSON | ||
IPv6Interface |
tuple |
Python | ||
IPv6Interface |
IPv6Address |
Python | ||
IPv6Interface |
IPv6Interface |
✓ | Python | |
IPv6Network |
bytes |
Python | ||
IPv6Network |
int |
Python | integer representing the IP address, must be less than 2**128 |
|
IPv6Network |
str |
Python & JSON | ||
IPv6Network |
IPv6Address |
Python | ||
IPv6Network |
IPv6Interface |
Python | ||
IPv6Network |
IPv6Network |
✓ | Python | |
InstanceOf |
Any |
✓ | Python | isinstance() check must return True . |
IntEnum |
Any |
Python | Input value must be convertible to enum values. | |
IntEnum |
IntEnum |
✓ | Python | |
Iterable |
deque |
✓ | Python | |
Iterable |
frozenset |
✓ | Python | |
Iterable |
list |
✓ | Python | |
Iterable |
set |
✓ | Python | |
Iterable |
tuple |
✓ | Python | |
NamedTuple |
dict |
✓ | Python | |
NamedTuple |
list |
✓ | Python | |
NamedTuple |
namedtuple |
✓ | Python | |
NamedTuple |
tuple |
✓ | Python | |
NamedTuple |
NamedTuple |
✓ | Python | |
None |
None |
✓ | Python & JSON | |
Path |
str |
Python | ||
Path |
Path |
✓ | Python | |
Pattern |
bytes |
✓ | Python | Input must be a valid pattern. |
Pattern |
str |
✓ | Python & JSON | Input must be a valid pattern. |
Sequence |
deque |
Python | ||
Sequence |
list |
✓ | Python | |
Sequence |
tuple |
Python | ||
Type |
Type |
✓ | Python | |
TypedDict |
dict |
✓ | Python | |
TypedDict |
Any |
✓ | Python | |
TypedDict |
Mapping |
Python | Must implement the mapping interface and have an items() method. |
|
UUID |
str |
Python | ||
UUID |
UUID |
✓ | Python |
Field Type | Input | Strict | Input Source | Conditions |
---|---|---|---|---|
bool |
bool |
✓ | Python & JSON | |
bytes |
bytes |
✓ | Python | |
callable |
Any |
✓ | Python | callable() check must return True . |
date |
date |
✓ | Python | |
datetime |
datetime |
✓ | Python | |
deque |
deque |
✓ | Python | |
dict |
dict |
✓ | Python | |
float |
float |
✓ | Python & JSON | bool is explicitly forbidden. |
float |
int |
✓ | Python & JSON | |
frozenset |
frozenset |
✓ | Python | |
int |
int |
✓ | Python & JSON | Max abs value 2^64 as i64 is used internally; bool is explicitly forbidden. |
list |
list |
✓ | Python | |
namedtuple |
dict |
✓ | Python | |
namedtuple |
list |
✓ | Python | |
namedtuple |
namedtuple |
✓ | Python | |
namedtuple |
tuple |
✓ | Python | |
namedtuple |
NamedTuple |
✓ | Python | |
set |
set |
✓ | Python | |
str |
str |
✓ | Python & JSON | |
time |
time |
✓ | Python | |
timedelta |
timedelta |
✓ | Python | |
tuple |
tuple |
✓ | Python | |
Any |
Any |
✓ | Python & JSON | |
ByteSize |
float |
✓ | Python & JSON | |
ByteSize |
int |
✓ | Python & JSON | |
ByteSize |
str |
✓ | Python & JSON | |
ByteSize |
Decimal |
✓ | Python | |
Decimal |
Decimal |
✓ | Python | |
Enum |
Enum |
✓ | Python | |
IPv4Address |
IPv4Address |
✓ | Python | |
IPv4Address |
IPv4Interface |
✓ | Python | |
IPv4Interface |
IPv4Interface |
✓ | Python | |
IPv4Network |
IPv4Network |
✓ | Python | |
IPv6Address |
IPv6Address |
✓ | Python | |
IPv6Address |
IPv6Interface |
✓ | Python | |
IPv6Interface |
IPv6Interface |
✓ | Python | |
IPv6Network |
IPv6Network |
✓ | Python | |
InstanceOf |
Any |
✓ | Python | isinstance() check must return True . |
IntEnum |
IntEnum |
✓ | Python | |
Iterable |
deque |
✓ | Python | |
Iterable |
frozenset |
✓ | Python | |
Iterable |
list |
✓ | Python | |
Iterable |
set |
✓ | Python | |
Iterable |
tuple |
✓ | Python | |
NamedTuple |
dict |
✓ | Python | |
NamedTuple |
list |
✓ | Python | |
NamedTuple |
namedtuple |
✓ | Python | |
NamedTuple |
tuple |
✓ | Python | |
NamedTuple |
NamedTuple |
✓ | Python | |
None |
None |
✓ | Python & JSON | |
Path |
Path |
✓ | Python | |
Pattern |
bytes |
✓ | Python | Input must be a valid pattern. |
Pattern |
str |
✓ | Python & JSON | Input must be a valid pattern. |
Sequence |
list |
✓ | Python | |
Type |
Type |
✓ | Python | |
TypedDict |
dict |
✓ | Python | |
TypedDict |
Any |
✓ | Python | |
UUID |
UUID |
✓ | Python |