Type TAllowedParameterValue more completely #669
Copy link
Copy link
Open
Description
Currently, the type definition of TAllowedParameterValue is
TAllowedParameterValue = Union[
str,
int,
float,
datetime.datetime,
datetime.date,
bool,
decimal.Decimal,
None,
list,
dict,
tuple,
]list, dict, and tuple are incomplete types. That means when I try to write a wrapper function around cursor.execute using that type as the type of a parameter sql_params_dict, pyright strict yells at me Type of parameter "sql_params_dict" is partially unknown.
I think this can easily be fixed. My guess is, this could simply be a recursive type definition, and those last three lines could be changed to
list[TAllowedParameterValue],
dict[TAllowedParameterValue, TAllowedParameterValue],
tuple[TAllowedParameterValue, ...]
]However, there may be more or fewer restrictions on those types. I didn't look into it very hard.
Metadata
Metadata
Assignees
Labels
No labels
Activity
Update native.py: try typing TAllowedParameterValue more completely
Update native.py: try typing TAllowedParameterValue more completely
jayantsing-db commentedon Aug 16, 2025
This seems correct to me. Requested @jprakash-db as the author of complex types (list, etc.) to take a look at #670