Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
Duck typing vs structural typing, GIL vs event loop, pacotes como pastas (não arquivos), escopo de variável (LEGB), truthiness mais agressivo, lista vs tuple vs set vs dict, comprehensions como ferramenta de pensamento. Os pontos que fazem TS dev travar.
uv (escrito em Rust, 10-100x mais rápido que pip/poetry) é o futuro. pyproject.toml, uv.lock, scripts. Gerenciar múltiplas versões Python. Migrar de requirements.txt/poetry/pipenv. Quando ainda usar pip (scripts inline).
Python 3.12+ com PEP 695 (syntax de generics mais limpa). TypedDict pra dicts tipados. Protocol pra structural typing (o TS inside). Literal, Annotated, NotRequired. mypy strict + ruff. Type hints são a ferramenta #1 pra escalar código Python.
Pydantic v2 (escrito em Rust, blazing) é o Zod do Python. BaseModel, field validators, model_validator. Serialization com model_dump. BaseSettings pra config com env vars. discriminator pra tagged unions. Dez vezes mais rápido que v1.
asyncio: event loop, Task, gather, as_completed. Por que Python async é mais verboso que Node (cor/coloring problem). trio como alternativa estruturada. anyio pra code lib-agnóstico. Gotchas: sync no event loop trava tudo; usar asyncio.to_thread pra I/O legado.
FastAPI é o framework web de facto em Python moderno (async nativo, OpenAPI auto, Pydantic built-in). APIRouter, Depends (injeção de dependência elegante), middleware, background tasks. OAuth2 + JWT com Security. Testar com TestClient + pytest async.
Jupyter ≠ código bagunçado. nbdev pra testar/documentar em notebooks. papermill pra parametrizar e executar em batch. jupytext pra diff amigável em git. Marimo como alternativa sem state oculto. Quando notebook é a ferramenta certa (exploração, modelos, relatórios) e quando não.
Agente Python end-to-end: Pydantic pra schemas, FastAPI pra endpoint, Claude Agent SDK pra loop agentic, tool use, memory em Redis, logging estruturado, tests com pytest async. Deploy em Fly.io ou AWS Lambda com container.