Mypy fails on Python 3.12 TypeAliasType compatibility branch
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
Direção de pesquisa
Comece pelas linhas 54-56 de src/browserbase/_utils/_typing.py e reproduza a falha usando Python 3.12 com as dependências de desenvolvimento do repositório. Verifique como a anotação de tupla e o type guard representam ambas as implementações de TypeAliasType e, em seguida, execute python -m mypy src. Está concluído quando a verificação estrita de tipos passar no Python 3.12, preservando o narrowing pretendido.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 93
- Forks
- 17
- Merge médio
- 13min
- PRs com merge (30d)
- 3
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de browserbase/sdk-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
browserbase/sdk-python#182 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
browserbase/sdk-python#180 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
browserbase/sdk-python#179 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
browserbase/sdk-python#176 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
browserbase/sdk-python#175 ·
Todas as issues de browserbase/sdk-python
Issues semelhantes
-
comp/tools duplicate P2 sweeper:risk-compatibility tool/mcp type/bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
NousResearch/hermes-agent#132042 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
deepset-ai/haystack#13092 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
EverMind-AI/Raven#845 ·
Mantenedores costumam responder em até 1 dia
-
[Feature] 移除「切换到旧版知识库」入口Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
AstrBotDevs/AstrBot#10340 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
BasedHardware/omi#20401 · 1 comentário ·
Mantenedores costumam responder em até 1 dia