Mypy fails on Python 3.12 TypeAliasType compatibility branch
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
Línea de trabajo
Empieza con las líneas 54-56 de src/browserbase/_utils/_typing.py y reproduce el fallo usando Python 3.12 con las dependencias de desarrollo del repositorio. Comprueba cómo la anotación de tupla y el type guard representan ambas implementaciones de TypeAliasType y, después, ejecuta python -m mypy src. Se considera terminado cuando la comprobación estricta de tipos pasa en Python 3.12 y se conserva el narrowing previsto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Running the repository's pinned mypy (1.17) under supported Python 3.12 fails in the shared typing helper because _TYPE_ALIAS_TYPES is annotated as containing type[typing_extensions.TypeAliasType], then appends the distinct stdlib typing.TypeAliasType class.
Code reference
src/browserbase/_utils/_typing.py:54-56
Reproduction
With Python 3.12 and the repository dev dependencies:
python -m mypy src
Actual error:
src/browserbase/_utils/_typing.py:56: error: Argument 2 to <tuple> has incompatible type
type[typing.TypeAliasType]; expected type[typing_extensions.TypeAliasType] [arg-type]
Expected behavior
The strict type-check command should pass on supported Python versions, including Python 3.12 where typing.TypeAliasType exists. The tuple annotation/type guard should model both runtime implementations (or use a suitably common type[object] representation while preserving narrowing).
Actual behavior
Mypy reports a source error on Python 3.12. The current CI lint job uses the repository's minimum Python selected by .python-version, so this version-dependent branch is not checked.
Why it matters
This is a core/shared typing utility used to recognize both stdlib and backport aliases. A Python-version matrix for type checking would catch this class of conditional typing regression.
- Lenguaje dominante
- Python
- Estrellas
- 93
- Forks
- 16
- Merge medio
- 11 min
- PR fusionados (30 d)
- 3
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.
Más de browserbase/sdk-python
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
browserbase/sdk-python#182 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
browserbase/sdk-python#180 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
browserbase/sdk-python#179 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
browserbase/sdk-python#176 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
browserbase/sdk-python#175 ·
Todos los issues de browserbase/sdk-python
Issues similares
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
simonw/sqlite-utils#872 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100