python / python/typing

TypedDict with patterns as key names

Abierto
#795 8 comentarios 3 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

topic: feature
Lenguaje dominante
Python
Estrellas
1.8k
Forks
302
Merge medio
23 h
PR fusionados (30 d)
8

Descripción

I'm not sure if I should open an issue here at typing, please let me know if there is something better.

WSGI type defines. https://gist.github.com/abersheeran/f3723029387fe7f6584c6b157b90a50a

When writing a more static WSGI definition based on PEP3333, I discovered such a problem. TypedDict cannot describe the HTTP_* keys in the WSGI specification. I know that one of the original intentions of TypedDict is to prevent typing the wrong keys. But can we add an option (for example: allow_undefined=True) to allow this actual problem?

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.

Línea de trabajo

Comienza revisando el comportamiento de TypedDict y la definición de tipos de WSGI en el gist enlazado, usando PEP3333 como referencia de requisitos. Determina si admitir nombres de clave HTTP_* requiere una nueva opción u otro diseño de typing y, después, confirma la propuesta con los typing maintainers; se considera terminado cuando haya un enfoque aceptado y se hayan identificado las pruebas o la documentación correspondientes.

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

Evaluación

Stack tecnológico
python
Área
devtools
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.