Compatível com Python 2.7 e 3.x
brutils é uma biblioteca para tratar de validações de documentos brasileiros,
e que eventualmente pode evoluir para tratar de outras coisas dentro do escopo
de validações relacionadas a burocracias brasileiras.
Sua principal funcionalidade é a validação de CPFs e CNPJs, mas sugestões sobre outras coisas a se validar (preferencialmente de maneira determinística) são bem vindas.
pip install brutils
>>> from brutils import cpf, cnpj
# somente numeros, em formato string
>>> cpf.validate('00011122233')
False
>>> cnpj.validate('00111222000133')
False
>>> cpf.sieve('000.111.222-33')
'00011122233'
>>> cnpj.sieve('00.111.222/0001-00')
'00111222000100'
# A função `sieve` limpa apenas os simbolos de formatação de CPF ou CNPJ, e de
# whitespace nas pontas. Ela não remove outros caractéres propositalmente, pois
# estes seriam indicativos de uma possível corrupção no dado ou de uma falta de
# filtros de input.
>>> cpf.display('00011122233')
'000.111.222-33'
>>> cnpj.display('00111222000100')
'00.111.222/0001-00'
>>> cpf.generate()
'17433964657'
>>> cnpj.generate()
'34665388000161'
python2.7 -m unittest discover tests/
python3 -m unittest discover tests/