Pydantic library extension with Brazilian fields
Project description
Pydantic BR
Essa é uma biblioteca tem como objetivo disponibilizar campos com validações brasileiras para a biblioteca pydantic.
Código fonte: https://github.com/scjorge/pydantic_br
Documentação: https://pydantic-br.readthedocs.io
Disponibilidades
Campo | Grupo de Documentos | Nome do Documento | Método de validação | Situação |
---|---|---|---|---|
CNPJ | Pessoa Jurídica | Carteira Nacional de Pessoas Jurídicas | Digito Verificador | Concluído |
CPF | Pessoa física | Cadastro de Pessoa Física | Digito Verificador | Concluído |
CNH | Pessoa física | Carteira Nacional de Habilitação | Digito Verificador | Em desenvolvimento |
TE | Pessoa física | Título de Eleitor | Digito Verificador | Em desenvolvimento |
PIS | Pessoa física | Programa de Integração Social | Digito Verificador | Em desenvolvimento |
CERT | Pessoa física | Certidão (Nascimento/Casamento/Óbito) | Digito Verificador | Em desenvolvimento |
CNS | Pessoa física | Cartão Nacional de Saúde | Digito Verificador | Em desenvolvimento |
RNVAM | Veículos | Registro Nacional de Veículos Automotores | RegExr | Em desenvolvimento |
PLACA | Veículos | Placa do Veículo | RegExr | Em desenvolvimento |
ISBN | Livros | Padrão Internacional de Numeração de Livro | Digito Verificador | Em desenvolvimento |
Instalação
pip install pydantic-br
Exemplos
Os exemplos de dados exemplificados foram tirados dos seguintes sites:
CPF válido
from pprint import pprint
from pydantic import BaseModel
from pydantic_br import CPF, CPFDigits, CPFMask
class Pessoa(BaseModel):
nome: str
cpf: CPF # aceita CPF válidos com ou sem máscara
cpf_mask: CPFMask # aceita CPF válido apenas com máscara
cpf_digits: CPFDigits # aceita CPF válido apnas com dígitos
p1 = Pessoa(
nome="João", cpf="53221394780", cpf_mask="532.213.947-80", cpf_digits="53221394780"
)
pprint(p1.dict())
Saída
{'cpf': '53221394780',
'cpf_digits': '53221394780',
'cpf_mask': '532.213.947-80',
'nome': 'João'}
CPF inválido
from pprint import pprint
from pydantic import BaseModel
from pydantic_br import CPF, CPFDigits, CPFMask
class Pessoa(BaseModel):
nome: str
cpf: CPF # aceita CPF válidos com ou sem máscara
cpf_mask: CPFMask # aceita CPF válido apenas com máscara
cpf_digits: CPFDigits # aceita CPF válido apenas com dígitos
p1 = Pessoa(
nome="João", cpf="00000000000", cpf_mask="53221394780", cpf_digits="532.213.947-80"
)
pprint(p1.dict())
Saída
Traceback (most recent call last):
p1 = Pessoa(
File "pydantic\main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 3 validation errors for Pessoa
cpf
invalid data (type=value_error.invalid_data)
cpf_mask
invalid mask format (type=value_error.invalid_mask)
cpf_digits
field only accept digits as string (type=value_error.not_digits)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pydantic_br-0.1.3.tar.gz
(5.4 kB
view hashes)
Built Distribution
Close
Hashes for pydantic_br-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70c1dd398d5d66ecb41429bb79dbec2a3da8f15c135c0d5bf87dfc1c700f7c16 |
|
MD5 | 778ba6128bf3f7504ded4dae306ebb79 |
|
BLAKE2b-256 | 87236cabaa86572ca746c9f3204a23ce0927884fba13a5301fe00a5c6efff0bb |