• Stars
    star
    431
  • Rank 100,866 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Pacote Python para validação de documentos brasileiros

validate-docbr

latest release

Pacote Python para validação de documentos brasileiros.

Para instalar o pacote:

pip install validate-docbr

A documentação pode ser acessada clicando aqui.

Testes

Para realizar os testes basta executar o seguinte comando:

coverage run -m unittest discover tests && coverage report -m

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;
  • 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.

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 O documento que se quer 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 A lista de documentos para validar.
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 difererentes. 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 Valor padrão Obrigatório Descrição
documents List[Tuple[BaseDoc, str]] [] X Lista de tuplas, cada tupla possui como primeiro elemento o tipo de documento e o segundo elemento 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 - Quando possui o valor True, o documento retornado estará formatado.
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 A quantidade desejada de documentos que serão gerados.
mask bool False - Se os documentos gerados deverão ter ou não máscara.
repeat bool False - Se aceita ou não documentos 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 . Recebe os parâmetros:

Parâmetro Tipo Valor padrão Obrigatório Descrição
doc str '' X O documento que se quer mascarar.
from validate_docbr import CPF

cpf = CPF()

cpf_me = "01234567890"

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

More Repositories

1

laravel-warehouse

This repository is a code warehouse for projects in Laravel, but can be used in projects in pure PHP
PHP
10
star
2

dataset-flights-brazil

Flights in Brazil registered by ANAC (Agência Nacional de Aviação Civil - National Civil Aviation Agency)
Python
8
star
3

mre

Maker Regular Expressions
Python
7
star
4

laravel-masks

A package to mask your variables and model's attributes
PHP
7
star
5

python-adt-extension

Python abstract data structure (ADT) extension
Python
4
star
6

python-day-analise-ufrn

Minicurso de analise dos dados abertos da UFRN ministrado no Python Day 2018 em Natal-RN
Jupyter Notebook
4
star
7

analysis-ufrn

Analise da taxa de aprovação das disciplinas da UFRN por período
Python
4
star
8

laravel-expand-request

A package to make it easy to manipulate your requests and more
PHP
3
star
9

laravel-expand-database

A package to make your database more powerful
PHP
2
star
10

interview-atados

Desenvolvedor Pleno na Atados (https://www.atados.com.br/)
TypeScript
2
star
11

escola-ia-modulo-6

Módulo 6 (treinamento) da Escola de IA
Jupyter Notebook
2
star
12

4linux-hadoop

Scipts usados durante o curso Big Data Analytics com Hadoop oferecido pela 4Linux
PigLatin
2
star
13

env-linux

Shell script to prepare my computer after formatting
Shell
2
star
14

makefile-cpp

Custom makefile to C/C++
Makefile
1
star
15

kaggle-learn-python-challenge

Take the 7-day Learn Python Challenge June 11-17
Jupyter Notebook
1
star
16

boilerplate-antlr4

Boilerplate for ANTLR4
Shell
1
star
17

docker-s2client

This docker image was built to facilitate the development of scripted bots and research using the s2client-proto
Shell
1
star
18

coursera-deep-learning

Algumas anotações referentes a especialização em Deep Learning da Coursera
Jupyter Notebook
1
star
19

network-from-wikipedia

Script to constructing a network from Wikipedia pages
Python
1
star
20

study-android-launcher

This repository is about the course "Make an Android App Like NOVA LAUNCHER" by SimCoder in YouTube
Java
1
star
21

ufrn-imd0107-suicidio

Análise de declarações de óbito de suicídio no Brasil de 2011 a 2015
Jupyter Notebook
1
star
22

ufrn-imd0012.0-esteganografia

Realizar esteganografia em linguagem C. Projeto da matéria de Introdução as Técnias de Programação, 2017.1, IMD - UFRN
C
1
star
23

ufrn-imd0703-chat-criptografia

Chat usando criptografia
PHP
1
star
24

ufrn-imd0105-scraping-cinemas-natal

Extracting movies schedule on Natal movie theaters and getting information about these movies in reference sites
Jupyter Notebook
1
star
25

ufrn-imd1155-brazil-air-traffic-network-analysis

This work has as purpose to analyze under different metrics the air traffic in Brazil (IMD1155, T01, 2021.1)
Python
1
star
26

ufrn-imd1130-nosql

Anotações e algumas atividades da disciplina Banco de Dados NoSQL (IMD1130, T01, 2019.2)
Jupyter Notebook
1
star
27

interview-idez-digital

Resolução do desafio de back-end da iDez Digital
PHP
1
star