Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

API to reset all; API to wrap all

Abierto
#28 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
tooling

Línea de trabajo

Empieza leyendo init_types_collection() y collect_types.collect(), y después inspecciona cómo los tests unitarios de pyannotate restablecen los globales en setUp() y tearDown(). Define el comportamiento de restablecimiento y wrapping alrededor de las API existentes resume(), pause(), init_types_collection() y dump_stats(), manteniendo los casos de uso sin context manager. Se considera terminado cuando los tests puedan reemplazar sus restablecimientos globales repetidos por una sola llamada y ejercitar el ciclo de vida completo del context manager.

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

Descripción

enhancement

The init_types_collection() function installs the tracing callbacks and sets the filename filter, but doesn't reset the globals containing collected data. Maybe it should also do that. Or maybe we need a separate API to do that. (Currently the pyannotate unit tests reset a whole bunch of globals at the start of each test -- this should become a single call.)

Second, with collect_types.collect() only calls resume() and pause() -- we could use another context manager that calls init_types_collection() and dump_stats() as well.

(Note that the non-context-manager APIs are also important, e.g. for use in test fixtures, where there are traditionally separate setUp() and tearDown() methods.)

Lenguaje dominante
Python
Estrellas
1.4k
Forks
59
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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 dropbox/pyannotate

Todos los issues de dropbox/pyannotate

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.