Skip to main content

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

Metadata

Release files for validate-docbr 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for validate-docbr 2.0.1
File Size Uploaded
validate_docbr-2.0.1.tar.gz 48.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for validate-docbr 2.0.1
File Interpreter ABI Platform
validate_docbr-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 65.8 kB

Release files / validate_docbr-2.0.1.tar.gz

Download URL validate_docbr-2.0.1.tar.gz
Size 48.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d1e20fd1a283bd9ebfb10e6ad89046693d7dd01fb68906e4119f49074cfa1f6e
BLAKE2b-256 checksum
How to use checksums
bacebad0408965025512cb88f7c6b07954fe0aac86fd1bb63504ec69a2035cfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / validate_docbr-2.0.1-py3-none-any.whl

Download URL validate_docbr-2.0.1-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea81a6a5b1bfe63c9374c4bfd54131211e1d6682de6da88af4ee6f1d8a6def48
BLAKE2b-256 checksum
How to use checksums
8d223a51d0fe069dd667da25e6f19d98a3b59db5636980087e38dbac7e5a2916
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.11.1

1 release file

1.11.0

1 release file

1.10.0

1 release file

1.9.0

1 release file

1.8.2

1 release file

1.8.1

1 release file

1.7.0

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.0

1 release file

1.4.0

1 release file

1.3.0

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page