abrasileirado.types module
- class abrasileirado.types.CEP(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um CEP (Código de Endereçamento Postal).
O CEP é um código numérico de 8 dígitos usado para identificar áreas de entrega no Brasil. O padrão é definido e utilizado pela Empresa Brasileira de Correios e Telégrafos (ECT). A classe aceita o valor com ou sem máscara e normaliza a saída no formato 99999-999.
Examples: .. code-block:: python
cep1 = CEP(“59015300”) print(cep1) # Saída: 59015-300 print(cep1.digitos) # Saída: 59015300
cep2 = CEP(“59015-300”) print(cep2) # Saída: 59015-300
- MASK = '99999-999'
- REGEX = '^\\d{5}-\\d{3}$'
- class abrasileirado.types.CNES(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um CNES (Cadastro Nacional de Estabelecimento de Saúde).
O CNES é um número de identificação utilizado para estabelecimentos de saúde no Brasil. O cadastro é mantido pelo Ministério da Saúde/DATASUS. A classe representa o código numérico de 7 dígitos sem máscara.
Examples: .. code-block:: python
cnes = CNES(“2079305”) print(cnes) # Saída: 2079305 print(cnes.digitos) # Saída: 2079305
- MASK = '9999999'
- REGEX = re.compile('^(\\d{7})$')
- class abrasileirado.types.CNPJ(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um CNPJ (Cadastro Nacional de Pessoa Jurídica).
O CNPJ é um número de identificação fiscal utilizado no Brasil para pessoas jurídicas. Ele é composto por 14 dígitos, onde os 12 primeiros são a base do número e os 2 últimos são dígitos verificadores calculados a partir dos 12 primeiros. O padrão é definido pela Receita Federal do Brasil (RFB). Essa classe valida o CNPJ no momento da criação, garantindo que apenas CNPJs válidos possam ser instanciados. O CNPJ pode ser representado tanto no formato apenas com dígitos (ex: 12345678900005) quanto no formato com máscara (ex: 12.345.678/9000-05).
Examples: .. code-block:: python
cnpj = CNPJ(“12345678900005”) print(cnpj) # Saída: 12.345.678/9000-05 print(cnpj.digitos) # Saída: 12345678900005
cnpj2 = CNPJ(“12.345.678/9000-05”) print(cnpj2) # Saída: 12.345.678/9000-05
- MASK = 'AA.AAA.AAA/AAAA-00'
- REGEX = re.compile('^([A-Z0-9]{2})[.]?([A-Z0-9]{3})[.]?([A-Z0-9]{3})/([A-Z0-9]{4})-?(\\d{2})$', re.IGNORECASE)
- class abrasileirado.types.CNS(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um CNS (Cartão Nacional de Saúde).
O CNS é um número de identificação utilizado para cidadãos brasileiros no sistema de saúde, composto por 15 dígitos, onde os 11 primeiros são a base do número e os 4 últimos são dígitos verificadores calculados a partir dos 11 primeiros. O padrão é utilizado pelo Sistema Único de Saúde (SUS), sob gestão do Ministério da Saúde/DATASUS. A classe representa o código numérico sem máscara.
Examples: .. code-block:: python
cns = CNS(“898001160444648”) print(cns) # Saída: 898001160444648 print(cns.digitos) # Saída: 898001160444648
- MASK = '999 9999 9999 9999'
- REGEX = re.compile('^(\\d{3}) (\\d{4}) (\\d{4}) (\\d{4})$')
- class abrasileirado.types.CPF(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um CPF (Cadastro de Pessoas Físicas).
O CPF é um número de identificação fiscal utilizado no Brasil para pessoas físicas. Ele é composto por 11 dígitos, onde os 9 primeiros são a base do número e os 2 últimos são dígitos verificadores calculados a partir dos 9 primeiros. O padrão é definido pela Receita Federal do Brasil (RFB). Essa classe valida o CPF no momento da criação, garantindo que apenas CPFs válidos possam ser instanciados. O CPF pode ser representado tanto no formato apenas com dígitos (ex: 12345678901) quanto no formato com máscara (ex: 123.456.789-01).
Examples: .. code-block:: python
cpf1 = CPF(“12345678901”) print(cpf1) # Saída: 123.456.789-01 (CPF completo, DV corretos, sem máscara) print(cpf1.digitos) # Saída: 12345678901
# Verificando validade print(CPF.is_valid(“12345678901”)) # Saída: True print(CPF.is_valid(“123.456.789-01”)) # Saída: True print(CPF.is_valid(“1234567890”)) # Saída: False (menos de 11 dígitos) print(CPF.is_valid(“123456789012”)) # Saída: False (mais de 11 dígitos) print(CPF.is_valid(“00000000000”)) # Saída: False (todos os dígitos iguais)
# Clonando um CPF cpf2 = CPF(str(cpf1))
- MASK = '99.999.999/9999-00'
- REGEX = re.compile('^(\\d{2})[.-]?(\\d{3})[.-]?(\\d{3})/(\\d{4})-(\\d{2})$')
- class abrasileirado.types.CertidaoRCPN(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar uma certidão RCPN.
A matrícula RCPN identifica certidões do Registro Civil das Pessoas Naturais. O padrão é regulado pelo Conselho Nacional de Justiça (CNJ) e usa 32 dígitos, incluindo códigos de serventia, acervo, tipo de livro, livro, folha, termo e dígitos verificadores.
Examples: .. code-block:: python
certidao = CertidaoRCPN(“12345601552024100001001000000167”) print(certidao) # Saída: 123456.01.55.2024.1.00001.001.0000001-67 print(certidao.digitos) # Saída: 12345601552024100001001000000167 print(certidao.tipo_livro.description) # Saída: Nascimento
- MASK = '999999.99.99.9999.9.99999.999.9999999-00'
- REGEX = re.compile('^\\d{6}(0[1-9]|[1-9]\\d)55\\d{4}[1-7]\\d{5}\\d{3}\\d{7}\\d{2}$')
- property ano_registro: str
Ano do registro.
- Type:
11º ao 14º
- property codigo_acervo: str
Código do Acervo.
- Type:
7º e 8º
- property codigo_serventia: str
Código da Serventia (Cartório).
- Type:
1º ao 6º
- property dv: str
Dígitos Verificadores.
- Type:
31º e 32º
- property numero_folha: str
Número da Folha.
- Type:
21º ao 23º
- property numero_livro: str
Número do Livro.
- Type:
16º ao 20º
- property numero_termo: str
Número do Termo.
- Type:
24º ao 30º
- rcpn_pattern = re.compile('^\\d{6}(0[1-9]|[1-9]\\d)55\\d{4}[1-7]\\d{5}\\d{3}\\d{7}\\d{2}$')
- property registro_civil: str
Registro Civil.
- Type:
9º e 10º
- property tipo_livro: TipoLivroRcpnEnum
Tipo de Livro.
- Type:
15º
- class abrasileirado.types.CodigoValidavel(code: str)[source]
Bases:
objectClasse base para códigos brasileiros validáveis.
A classe centraliza normalização de dígitos, representação mascarada, igualdade por valor e validação básica. Subclasses devem definir o tamanho total esperado e, quando necessário, implementar máscara e regras específicas da autoridade responsável pelo padrão.
Examples: .. code-block:: python
- class CodigoSempreValido(CodigoValidavel):
- def _is_valid(self, code: str) -> bool:
return True
codigo = CodigoSempreValido(“1”) print(codigo) # Saída: 1 print(codigo.digitos) # Saída: 1
- property digitos: str
Retorna apenas os dígitos do código, sem máscara.
- class abrasileirado.types.EnderecoBrasil(logradouro: str, numero: str, bairro: str, municipio: str, uf: UnidadeFederativaStrEnum, cep: CEP, complemento: str | None = None)[source]
Bases:
objectClasse imutável para representar um endereço postal brasileiro.
O endereço reúne logradouro, número, bairro, município, UF, CEP e complemento opcional. A saída segue formatos postais usados pela Empresa Brasileira de Correios e Telégrafos (ECT).
Examples: .. code-block:: python
- endereco = EnderecoBrasil(
logradouro=”Rua das Flores”, numero=”123”, bairro=”Jardim Primavera”, municipio=”São Paulo”, uf=UnidadeFederativaStrEnum.SP, cep=CEP(“12345678”), complemento=”Apto 45”
) print(endereco) # Saída: Rua das Flores 123, Apto 45
Jardim Primavera 12345-678 São Paulo/SP
print(endereco.ect_extendido) # Saída: Rua das Flores 123, Apto 45
Jardim Primavera São Paulo/SP 12345-678
- property bairro: str
- property complemento: str | None
- property ect_extendido: str
Retorna o endereço completo extendido da ECT.
- property ect_padrao: str
Retorna o endereço formatado no formato padrão da ECT.
- property linha_logradouro: str
- property logradouro: str
- property municipio: str
- property numero: str
- property uf: UnidadeFederativaStrEnum
- class abrasileirado.types.NUP(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um NUP (Número Único de Processo).
O NUP é um número de identificação utilizado para processos judiciais e administrativos no Brasil. O padrão é usado pelo Conselho Nacional de Justiça (CNJ) e pela Administração Pública para protocolo e tramitação. Ele é composto por 17 dígitos:
5 para a unidade protocolizadora,
6 para o sequencial anual,
4 para o ano,
2 para o dígito verificador.
Examples: .. code-block:: python
nup = NUP(“23520005177202676”) print(nup) # Saída: 23520.005177/2026-76 print(nup.digitos) # Saída: 23520005177202676
nup2 = NUP(“23520.005177/2026-76”) print(nup2) # Saída: 23520.005177/2026-76
- MASK = '99999.999999/9999-99'
- REGEX = re.compile('^(\\d{5})\\.?(\\d{6})/(\\d{4})-(\\d{2})$')
- class abrasileirado.types.PIS(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um PIS (Programa de Integração Social).
O PIS é um número de identificação utilizado para trabalhadores no Brasil. O cadastro é associado a políticas trabalhistas e sociais do Governo Federal. A classe representa o código de 11 dígitos e normaliza a saída em grupos.
Examples: .. code-block:: python
pis = PIS(“12044568103”) print(pis) # Saída: 120 445 681 03 print(pis.digitos) # Saída: 12044568103
- MASK = '999.99999.99-9'
- REGEX = re.compile('^(\\d{3})\\.(\\d{5})\\.(\\d{2})-(\\d{1})$')
- class abrasileirado.types.Passaporte(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um passaporte brasileiro.
O passaporte é um documento de viagem emitido pela Polícia Federal. Nesta classe, o código é representado como uma sequência numérica de 8 dígitos.
Examples: .. code-block:: python
passaporte = Passaporte(“12345678”) print(passaporte) # Saída: 12345678 print(passaporte.digitos) # Saída: 12345678
- MASK = '99999999'
- REGEX = re.compile('^\\d{8}$')
- class abrasileirado.types.PlacaVeicular(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar uma placa veicular.
A placa veicular identifica veículos automotores no Brasil. O padrão de emplacamento é definido pelo Conselho Nacional de Trânsito (CONTRAN) e operacionalizado pelo Sistema Nacional de Trânsito. Nesta classe, a placa é representada como uma sequência numérica de 7 dígitos.
Examples: .. code-block:: python
placa = PlacaVeicular(“1234567”) print(placa) # Saída: 1234567 print(placa.digitos) # Saída: 1234567
- MASK = '9999999'
- REGEX = re.compile('^\\d{7}$')
- class abrasileirado.types.RENAVAM(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um RENAVAM.
O RENAVAM é o Registro Nacional de Veículos Automotores, usado para identificar veículos no Brasil. O padrão é mantido pela Secretaria Nacional de Trânsito (Senatran). A classe representa o código numérico de 11 dígitos e valida seu dígito verificador.
Examples: .. code-block:: python
renavam = RENAVAM(“63988496249”) print(renavam) # Saída: 63988496249 print(renavam.digitos) # Saída: 63988496249
- MASK = '99999999999'
- REGEX = re.compile('^\\d{11}$')
- class abrasileirado.types.Telefone(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um telefone brasileiro.
O telefone é representado com DDD de 2 dígitos e número de 9 dígitos. A numeração telefônica brasileira é regulada pela Agência Nacional de Telecomunicações (Anatel). A classe normaliza a saída no formato (99) 99999-9999.
Examples: .. code-block:: python
telefone = Telefone(“(84) 98765-4321”) print(telefone) # Saída: (84) 98765-4321 print(telefone.digitos) # Saída: 84987654321
- MASK = '(99) 99999-9999'
- REGEX = re.compile('^\\(?[1-9]{2}\\)? ?9?\\d{4}-?\\d{4}$')
- class abrasileirado.types.TituloEleitoral(code: str)[source]
Bases:
CodigoValidavelClasse imutável para representar um Título Eleitoral.
O Título Eleitoral identifica pessoas aptas ao cadastro eleitoral brasileiro. O padrão é definido pela Justiça Eleitoral, sob responsabilidade do Tribunal Superior Eleitoral (TSE). A classe representa o código numérico de 12 dígitos e valida seus dígitos verificadores.
Examples: .. code-block:: python
titulo = TituloEleitoral(“123456780191”) print(titulo) # Saída: 123456780191 print(titulo.digitos) # Saída: 123456780191
- MASK = '999999999999'
- REGEX = re.compile('^\\d{12}$')