[backend]
name = "python-aiosqlite"
language = "python"
file_extension = "py"
engine = "sqlite"
description = "Python code generation targeting aiosqlite"

[types.scalars]
bool = "bool"
int16 = "int"
int32 = "int"
int64 = "int"
float32 = "float"
float64 = "float"
string = "str"
bytes = "bytes"
uuid = "str"
decimal = "decimal.Decimal"
date = "str"
time = "str"
time_tz = "str"
datetime = "str"
datetime_tz = "str"
interval = "str"
json = "str"
inet = "str"

[types.containers]
array = "list[{T}]"
nullable = "{T} | None"
range = "tuple[{T}, {T}]"
json_typed = "{T}"

[naming]
struct_case = "PascalCase"
field_case = "snake_case"
fn_case = "snake_case"
enum_variant_case = "SCREAMING_SNAKE_CASE"
row_suffix = "Row"

[imports.rules]
"datetime." = "import datetime"
"decimal." = "import decimal"
"dict[" = "from typing import Any"
