Mypy fails on Python 3.12 TypeAliasType compatibility branch

Ouverte Adaptée aux débutants
#178 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
python
Domaine
tooling

Piste de recherche

Commencez par les lignes 54-56 de src/browserbase/_utils/_typing.py et reproduisez l’échec avec Python 3.12 et les dépendances de développement du dépôt. Vérifiez comment l’annotation de tuple et le type guard représentent les deux implémentations de TypeAliasType, puis exécutez python -m mypy src. Le travail est terminé lorsque la vérification stricte des types réussit avec Python 3.12 tout en préservant le narrowing prévu.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
93
Forks
16
Merge moyen
11 min
PR mergées (30 j)
3

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de browserbase/sdk-python

Toutes les issues de browserbase/sdk-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.