Pydantic: Data Validation
v2.12 — Edição de 2026. Uma análise aprofundada ao Pydantic v2.12, a biblioteca de validação de dados mais utilizada em Python, desde a utilização básica até funcionalidades avançadas como custom core schemas e observabilidade com Logfire.
Episódios
A Filosofia do Pydantic: Type Hints como Validação
3m 28sEste episódio apresenta a premissa central do Pydantic. Irá aprender como os type hints do Python podem ser utilizados para impor schemas e como o core em Rust impulsiona enormes ganhos de desempenho.
A Anatomia de um BaseModel
3m 48sMergulhe no BaseModel, a abstração fundamental do Pydantic. Irá aprender como a instanciação valida dados, como os fields sofrem coerção e como os erros de validação são apresentados.
Restrições de Field e o Padrão Annotated
4m 13sAprenda a impor limites para além dos tipos básicos. Irá descobrir como utilizar a função Field e o construto de tipagem Annotated para adicionar restrições como mínimos e comprimentos máximos.
Aliases de Field para Validação e Serialização
3m 44sResolva o conflito de convenções de nomenclatura entre APIs externas e código Python interno. Irá aprender a dissociar os nomes dos seus atributos Python das chaves JSON utilizando aliases de validação e serialização.
Coerção de Dados vs Strict Mode
3m 43sAssuma o controlo da tendência do Pydantic para a coerção de dados. Irá aprender a impor correspondências de tipo exatas ativando o Strict Mode ao nível do field ou do model.
Observabilidade no Mundo Real com Logfire
3m 50sTraga transparência aos seus pipelines de dados. Irá aprender a integrar o Pydantic com o Logfire para monitorizar validações bem-sucedidas e falhadas em tempo real.
Validação de Tipos Arbitrários com TypeAdapter
4m 02sAprenda a validar primitivas e listas independentes sem criar um BaseModel. Irá descobrir como o TypeAdapter transforma qualquer tipo Python num alvo de validação completo.
Tipos Union e Validação Inteligente
3m 24sCompreenda as complexidades da validação de tipos Union. Irá aprender como o Smart Mode do Pydantic avalia a exatidão e os fields válidos para escolher a melhor correspondência.
Ferramenta Poderosa: Discriminated Unions
3m 29sPotencie o desempenho da sua validação. Irá aprender a utilizar Discriminated (Tagged) Unions para dizer ao Pydantic exatamente qual schema aplicar com base num field específico.
Pré-processamento com Before e Wrap Validators
3m 50sLide com dados de entrada desorganizados antes que atinjam o seu schema. Irá aprender a utilizar os field validators Before e Wrap para limpar o input bruto antes que o Pydantic o avalie.
Pós-processamento com After e Plain Validators
3m 34sImponha regras estritas de lógica de negócio. Irá aprender a utilizar After validators para verificar dados já processados, e Plain validators para contornar o Pydantic por completo.
Hooks de Validação ao Nível do Model
3m 16sValide interações entre múltiplos fields. Irá aprender a utilizar o decorador model_validator para impor regras que dependem de todo o payload.
Serialização: Exportar Dados com Segurança
3m 39sControle como os seus dados saem do sistema. Irá aprender as diferenças entre fazer dump para dicts Python versus strings JSON, e como excluir fields não definidos ou com valores por defeito.
Personalizar a Lógica de Serialização
3m 49sAltere a forma como os seus tipos são representados à saída. Irá aprender a escrever serializers personalizados de Field e Model para mutar dados durante a fase de dump.
Gerar JSON Schema a partir de Models
3m 44sTransforme os seus models em contratos de API auto-documentados. Irá aprender a gerar JSON Schemas compatíveis com OpenAPI e a injetar exemplos diretamente no schema.
RootModel: Quando o seu Payload não é um Dicionário
3m 09sLide com payloads JSON não padronizados de forma elegante. Irá descobrir como o RootModel permite processar arrays e primitivas ao nível da raiz, mantendo os poderes do BaseModel.
Dataclasses Standard vs Dataclasses do Pydantic
3m 55sTraga validação para as suas classes Python nativas. Irá aprender quando utilizar o decorador dataclass do Pydantic para modernizar bases de código legadas sem reescrever tudo.
Ajuste Fino da Configuração do Model
3m 58sControle o rigor de todo o seu model. Irá aprender a utilizar o ConfigDict para proibir atributos extra, congelar instâncias e validar atribuições.
Configuração de Aplicações com Pydantic Settings
3m 38sFaça a gestão das suas variáveis de ambiente como um profissional. Irá aprender como o pacote pydantic-settings automatiza o processamento de segredos, ficheiros dot-env e prefixos.
Nos Bastidores: Custom Core Schemas
3m 39sEste é o último episódio da série! Assuma o controlo total do motor de validação. Irá aprender a escrever um método __get_pydantic_core_schema__ para ensinar o core em Rust a lidar com objetos Python completamente estranhos.