Skip to main content

Validate brazilian documents.

Project description

validate-docbr

latest release

Pacote Python para validação de documentos brasileiros.

Para instalar o pacote:

pip install validate-docbr

Ou com uv:

uv add validate-docbr

A documentação pode ser acessada clicando aqui.

Documentos

Documentos que estão no pacote:

  • CPF: Cadastro de Pessoas Físicas;
  • CNH: Carteira Nacional de Habilitação;
  • CNPJ: Cadastro Nacional da Pessoa Jurídica (numérico e alfanumérico);
  • CNS: Cartão Nacional de Saúde;
  • PIS: PIS/NIS/PASEP/NIT;
  • Título eleitoral: Cadastro que permite cidadãos brasileiros votar;
  • RENAVAM: Registro Nacional de Veículos Automotores;
  • Certidão: Certidão de Nascimento/Casamento/Óbito.

Para entender melhor os documentos e suas respectivas classes, basta acessar a Wiki do projeto.

Métodos

Todos os documentos possuem os mesmos métodos e funcionam da mesma forma.

validate

Valida o documento passado como argumento. Retorna um bool, True caso seja válido, False caso contrário. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
doc str '' X Documento a validar.
from validate_docbr import CPF

cpf = CPF()

# Validar CPF
cpf.validate("012.345.678-90")  # True
cpf.validate("012.345.678-91")  # False

Caso especial de CPF.

validate_list

Valida uma lista de documentos passado como argumento. Retorna uma lista de bool, True caso seja válido, False caso contrário. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
docs list[str] [] X Lista de docs.
from validate_docbr import CPF

cpf = CPF()

# Validar CPFs
cpf.validate_list(["012.345.678-90", "012.345.678-91"])
# [True, False]

validate_docs

Observação: diferente dos outros métodos, esse método é do escopo global do pacote, não precisa-se instanciar uma classe para uso.

Valida vários documentos diferentes. Retorna uma lista com valores bool para cada tupla da lista (na mesma ordem), True caso seja válido, False caso contrário. Recebe os parâmetros:

Parâmetro Tipo Obrigatório Descrição
documents list[tuple[...]] X Lista de tuplas.

Cada tupla possui como primeiro elemento o tipo de documento (DocumentBase) e o segundo o valor que se deseja validar.

import validate_docbr as docbr

# Validar diferentes documentos
docs = [
    (docbr.CPF, '90396100457'),
    (docbr.CNPJ, '49910753848365'),
]
docbr.validate_docs(docs)  # [True, False]

generate

Gera um novo documento, retorna em formato de str. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
mask bool False - Retorna com máscara.
from validate_docbr import CPF

cpf = CPF()

# Gerar novo CPF
new_cpf_one = cpf.generate()  # "01234567890"
new_cpf_two = cpf.generate(mask=True)  # "012.345.678-90"

generate_list

Gera uma lista de documentos, retorna em formato de list com elementos do tipo str. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
n int 1 X Quantidade.
mask bool False - Com máscara.
repeat bool False - Aceita repetidos.
from validate_docbr import CPF

cpf = CPF()

# Gerar lista de CPFs
cpfs_one = cpf.generate_list(2)
# [ "85215667438", "28293145811" ]
cpfs_two = cpf.generate_list(2, mask=True)
# [ "852.156.674-38", "282.931.458-11" ]

mask

Mascara o documento passado como argumento. Retorna um str que é o documento mascarado. Aceita documentos com ou sem pontuação. Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
doc str '' X Documento a mascarar.
from validate_docbr import CPF

cpf = CPF()

cpf_me = "01234567890"

# Mascara o CPF
cpf.mask(cpf_me)  # "012.345.678-90"

Testes

Para realizar os testes basta executar o seguinte comando:

task test

Para verificar a cobertura de testes:

task test-coverage

Para verificar os tipos:

task type-check

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

validate_docbr-2.0.0.tar.gz (46.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

validate_docbr-2.0.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file validate_docbr-2.0.0.tar.gz.

File metadata

  • Download URL: validate_docbr-2.0.0.tar.gz
  • Upload date:
  • Size: 46.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for validate_docbr-2.0.0.tar.gz
Algorithm Hash digest
SHA256 c7693783718c7c3d90bdb759a6b41eca647fb297d74a50e0bcdc6244690a8545
MD5 98a6dc5596e6d3bc27ed850a37bc4322
BLAKE2b-256 7f43822521a1c0c826d0a5224fede4ab3f5885b0485f94ac20af1b46c384be52

See more details on using hashes here.

File details

Details for the file validate_docbr-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for validate_docbr-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08b4a7c49ea1018179151dad94b7192425925b0b23fed0045f3261831a4ae43c
MD5 91c6837478b6ccd4ee9485e730c7607d
BLAKE2b-256 9845e6a064f1ac0c9eab72943573554c5c4e0380587a5a907f25a3242114b782

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page