Type Converters#

Output and input type converters for transforming database values. Used by drivers to convert between Python types and database-native representations.

Base Classes#

Subclass BaseInputConverter to add adapter-specific input conversion. Implementations receive the driver dialect and register conversions for database types that are not covered by the built-in converter functions below.

class sqlspec.core.type_converter.BaseInputConverter[source]#

Bases: object

Base class for converting Python params to database format.

convert_params(params)[source]#

Convert parameters for database execution.

Parameters:

params (dict[str, typing.Any] | None) -- Dictionary of parameters to convert.

Return type:

dict[str, typing.Any] | None

Returns:

Converted parameters dictionary, or None if input was None.

Built-in Converters#

sqlspec.core.type_converter.convert_decimal(value)[source]#

Convert string to Decimal for precise arithmetic.

Parameters:

value (str) -- Decimal string.

Return type:

Decimal

Returns:

Decimal object.

sqlspec.core.type_converter.convert_iso_date(value)[source]#

Convert ISO date string to date object.

Parameters:

value (str) -- ISO date string.

Return type:

date

Returns:

date object.

sqlspec.core.type_converter.convert_iso_datetime(value)[source]#

Convert ISO 8601 datetime string to datetime object.

Parameters:

value (str) -- ISO datetime string.

Return type:

datetime

Returns:

datetime object.

sqlspec.core.type_converter.convert_iso_time(value)[source]#

Convert ISO time string to time object.

Parameters:

value (str) -- ISO time string.

Return type:

time

Returns:

time object.

sqlspec.core.type_converter.convert_json(value)[source]#

Convert JSON string to Python object.

Parameters:

value (str) -- JSON string.

Return type:

typing.Any

Returns:

Decoded Python object.

sqlspec.core.type_converter.convert_uuid(value)[source]#

Convert UUID string to UUID object.

Parameters:

value (str) -- UUID string.

Return type:

UUID

Returns:

UUID object.

sqlspec.core.type_converter.format_datetime_rfc3339(dt)[source]#

Format datetime as RFC 3339 compliant string.

Parameters:

dt (datetime) -- datetime object.

Return type:

str

Returns:

RFC 3339 formatted datetime string.

sqlspec.core.type_converter.parse_datetime_rfc3339(dt_str)[source]#

Parse RFC 3339 datetime string.

Parameters:

dt_str (str) -- RFC 3339 datetime string.

Return type:

datetime

Returns:

datetime object.