Type TAllowedParameterValue more completely
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece em src/databricks/sql/parameters/native.py, na definição de TAllowedParameterValue vinculada na issue. Verifique os formatos de parâmetros aceitos pelo conector antes de criar as anotações recursivas e, em seguida, execute as verificações rigorosas do pyright do projeto com um wrapper que use sql_params_dict. A tarefa estará concluída quando os valores compatíveis de lista, dict e tupla estiverem totalmente tipados, sem erros de tipos parcialmente desconhecidos.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 233
- Forks
- 152
- Merge médio
- 21h 5min
- PRs com merge (30d)
- 10
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de databricks/databricks-sql-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100