Tutorial document
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Documentação
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- documentation
Direção de pesquisa
Nenhum arquivo de tutorial, ponto de entrada ou teste é especificado na issue. Comece localizando a documentação existente do tutorial e comparando-a com as listas propostas de tópicos básicos e avançados. O trabalho estará concluído quando o escopo do tutorial, as orientações sobre a versão do Python, os tópicos de typing incluídos e as exclusões tiverem sido acordados, e essas decisões tiverem sido documentadas.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Thoughts on the tutorial document.
Basic Topics
- Set up a basic venv with a pinned mypy version. (For compatibility reasons.) Should add a note about using a current version in production.
- Annotating variables.
- Annotating functions and methods.
- Unions, using
| None Anycast()and# type: ignore- Using generics, variance
- Built-in collections
- Type aliases
int/floatNoReturn(not strictly necessary, but a fairly easy topic)- Installing third-party stubs
Advanced Topics
The are fairly complicated topics, but basically required when typing a non-trivial code base:
Callable- Writing generics
- Protocols
type[...]typing.TYPE_CHECKINGand circular importsTypeVarandAnyStr- overloads
Literal
What not to include
# typeannotations (except# type: ignore)
The following topics could arguably be included, but for simplicity's sake, I'd suggest to skip them in this basic tutorial:
NewTypeClassVarFinalAnnotatedNamedTupleTypedDict
Other Thoughts
- We can use a newer version of Python (e.g. 3.8+) for simplicity and add a note that not all features are available in older Python versions.
- We should probably just use
from __future__ import annotationsand skip the whole forward references/quoting types problem.
- Linguagem predominante
- Python
- Estrelas
- 1.8k
- Forks
- 302
- Merge médio
- 4h 16min
- PRs com merge (30d)
- 7
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
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 python/typing
-
topic: typing spec
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
python/typing#2356 · 2 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
topic: typing spec
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
topic: documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
python/typing#2227 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
topic: documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
python/typing#2150 · 2 comentários · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
topic: conformance tests topic: typing spec
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
python/typing#2351 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de python/typing
Issues semelhantes
-
New InternshipAbertanew_internship
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 70/100
-
[BUG] Reports tab: "Unban" button tooltip shows raw `{{ip}}` placeholder instead of the IP addressAbertabug javascript ui
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
bunkerity/bunkerweb#4001 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
PedestrianDynamics/pyFDS-Evac#476 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
google/differential-privacy#516 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
adobe-fonts/source-serif#153 ·