Adding platform information to stdlib/VERSIONS
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 5.1k
- Forks
- 2.1k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 82
Descripción
It might be a good idea to add platform availability information to stdlib/VERSIONS, instead of using the sys.platform hack we're currently using in the source files. This has the same rationale for introducing VERSIONS in the first place:
- Remove platform checks and the required indentation from stub files.
- Enables clearer type checker messages (e.g. "Module does not exist on this platform", instead of "Item X doesn't exist in module Y")
- Generally an unambiguous way of indicating that a module doesn't exist.
- Edit: Collect all information about module availability in one place.
One way to do this is an HTTP/E-Mail header-like key/value syntax:
abc: 3.0-; platforms=linux,darwin
def: 3.7-3.10; platforms=!windows,!linux
ghi: 3.9-
This would allow future extension when type checkers are equipped to ignore unknown keys:
abc: 3.0-; header1=foo; header2=bar
Do we need a way do indicate that a certain platform only supports a certain module starting from a certain Linux version?
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con stdlib/VERSIONS y los archivos fuente que actualmente usan comprobaciones de sys.platform. Revisa cómo se representa allí la disponibilidad de los módulos y cómo consumen esta información los comprobadores de tipos. Define el formato de las claves y los valores de plataforma, incluida la compatibilidad de la plataforma específica de cada versión y el tratamiento de las claves desconocidas; se considera terminado cuando la propuesta está especificada con suficiente detalle para su implementación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100