Source code for formencode_jsonschema.utils
import datetime
import decimal
import uuid
# From https://github.com/fuhrysteve/marshmallow-jsonschema/blob/master/marshmallow_jsonschema/base.py
TYPE_MAP = {
dict: {
'type': 'object',
},
list: {
'type': 'array',
},
datetime.time: {
'type': 'string',
'format': 'time',
},
datetime.timedelta: {
'type': 'string',
},
datetime.datetime: {
'type': 'string',
'format': 'date-time',
},
datetime.date: {
'type': 'string',
'format': 'date',
},
uuid.UUID: {
'type': 'string',
'format': 'uuid',
},
str: {
'type': 'string',
},
bytes: {
'type': 'string',
},
decimal.Decimal: {
'type': 'number',
'format': 'decimal',
},
set: {
'type': 'array',
},
tuple: {
'type': 'array',
},
float: {
'type': 'number',
'format': 'float',
},
int: {
'type': 'integer',
},
bool: {
'type': 'boolean',
},
}
[docs]def get_type_base(python_type) -> dict:
"""Get base schema for python type."""
return TYPE_MAP.get(python_type, None)