Skip to main content

A complete library about faking / validating brazilian common data

Project description

Brazilian: Validação e Geração de Dados Brasileiros

Brazilian é uma biblioteca robusta para a manipulação, validação e geração de dados comuns no Brasil, como CPF, CRM, CNPJ e outros. Diferente de geradores simples, esta biblioteca oferece classes ricas em funcionalidades, permitindo formatação, mascaramento e extração de informações contextuais (como região de emissão).

Instalação

Hoje, a versão mais recente é 1.2.0, e só depende do requests como biblioteca externa.

pip install brazilian

Uso Rápido

1. Classe CPF

A classe CPF permite validar, formatar e gerar números de Cadastro de Pessoas Físicas.

from brazilian import CPF

cpf = CPF("12345678900")

print(f"Valor limpo: {cpf.value}")        # Saída: 12345678900
print(f"Formatado: {cpf.formatted}")      # Saída: 123.456.789-00
print(f"Mascarado: {cpf.masked}")        # Saída: ***.***.***-00
print(f"É válido? {cpf.is_valid}")       # Saída: True/False
print(f"Região de emissão: {cpf.region}") # Saída: Sao Paulo

# Geração de CPF válido
novo_cpf = CPF.generate()
print(f"Novo CPF gerado: {novo_cpf.formatted}")

2. Classe CRM

A classe CRM permite validar, formatar e gerar números de Registro no Conselho Regional de Medicina.

from brazilian import CRM

# Validação e Formatação
crm = CRM("123456SP")

print(f"Valor limpo: {crm.value}")        # Saída: 123456SP
print(f"Formatado: {crm.formatted}")      # Saída: 123456-SP
print(f"Mascarado: {crm.masked}")        # Saída: ***456-SP
print(f"É válido? {crm.is_valid}")       # Saída: True/False
print(f"Estado (UF): {crm.uf}")          # Saída: Sao Paulo
print(f"Região: {crm.region}")           # Saída: Sudeste

# Geração de CRM válido para um UF específico
novo_crm = CRM.generate(uf="RJ")
print(f"Novo CRM gerado (RJ): {novo_crm.formatted}")

Principais Funcionalidades

  • Validação Robusta: Implementa a lógica de validação oficial para garantir a integridade dos dados.
  • Formatação Flexível: Oferece métodos para formatar e mascarar os documentos (ex: XXX.XXX.XXX-XX ou ***.***.***-XX).
  • Geração de Dados: Métodos estáticos para gerar números válidos e aleatórios.
  • Informação Contextual: Extração de dados como a região de emissão (CPF) ou o estado/região (CRM).

Extras Opcionais

Você pode instalar dependências extras para funcionalidades adicionais:

  • Pydantic: para usar os modelos do brazilian.pydantic

    pip install brazilian[pydantic]
    

    Isso adiciona o pydantic como dependência e permite usar os modelos Pydantic para CPF, CNPJ etc.

  • Testes: para rodar os testes da biblioteca

    pip install brazilian[test]
    

    Isso instala pytest para facilitar o desenvolvimento e a execução de testes.

  • SQLAlchemy: para utilizar classes prontas do SQLAlchemy

    pip install brazilian[sqlalchemy]
    

    Isso instala módulos necessários para utilizar os SQLAlchemy Types

  • ORM: Importação completa com suporte para ORM do SQLAlchemy

    pip install brazilian[orm]
    

    Instala direto o SQLAlchemy junto do Pydantic, onde são utilizados juntos dentro das classes internas.

Documentação Completa

Para detalhes sobre todas as propriedades e métodos disponíveis, consulte a Documentação Completa.

Contribuição

Para contribuir, acesse: CONTRIBUTING.md


PyPI version GitHub Stars PyPI - Downloads codecov

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

brazilian-1.2.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

brazilian-1.2.0-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file brazilian-1.2.0.tar.gz.

File metadata

  • Download URL: brazilian-1.2.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for brazilian-1.2.0.tar.gz
Algorithm Hash digest
SHA256 ae2ed3d15db1f77dab96c0856e00a3fb9716450e98326ee2822ca0d8c94ad352
MD5 987ccf0e5c717cf1e4e75478f913e266
BLAKE2b-256 ccafcee3d672445a5d17b48fe8299c7c7de524fe03c68074a53d4a790bb10217

See more details on using hashes here.

File details

Details for the file brazilian-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: brazilian-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for brazilian-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78bd806b5a88f581301baf0d0a3284bf3c120c8f2e79683c061b59e7af464f16
MD5 23eca339be0061067f0c70193408b45c
BLAKE2b-256 99d387127b4152d5443f03340af4f6f04dc4b9b06446d034484697ec8d162e95

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