Type TAllowedParameterValue more completely

Abierto
#669 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
database

Línea de trabajo

Comienza en src/databricks/sql/parameters/native.py, en la definición de TAllowedParameterValue enlazada en la issue. Comprueba las formas de parámetros aceptadas por el conector antes de crear las anotaciones recursivas y, después, ejecuta las comprobaciones estrictas de pyright del proyecto con un wrapper que use sql_params_dict. La tarea estará terminada cuando los valores de lista, diccionario y tupla compatibles estén completamente tipados, sin errores de tipos parcialmente desconocidos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Python
Estrellas
233
Forks
152
Merge medio
21 h 5 min
PR fusionados (30 d)
10

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de databricks/databricks-sql-python

Todos los issues de databricks/databricks-sql-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.