enderecobr_py
Bindings para Python do enderecobr_rs.
Algumas funcionalidades do Rust não foram expostas para o Python. Abra uma issue ou pull request caso algumas delas seja necessária para o seu caso de uso.
enderecobr
Modules:
-
enderecobr–
Classes:
-
IdentificadorPadroes–Wrapper fino sobre um conjunto de expressões regulares compiladas para
-
Padronizador–Estrutura para padronização condicional de textos de endereços usando expressões regulares.
Functions:
-
is_dado_faltante–Identifica se uma string representa um dado faltante.
-
metaphone–Gera um código fonético (Metaphone-BR adaptado) para nomes em português.
-
normalizar–Normaliza uma string para processamento posterior, removendo diacríticos e
-
numero_por_extenso–Converte um número inteiro para sua representação por extenso em português.
-
obter_padronizador_bairros–Obtém o padronizador utilizado internamente pela função
padronizar_bairros. -
obter_padronizador_complementos–Obtém o padronizador utilizado internamente pela função
padronizar_complementos. -
obter_padronizador_logradouros–Obtém o padronizador utilizado internamente pela função
padronizar_logradouros. -
obter_padronizador_numeros–Obtém o padronizador utilizado internamente pela função
padronizar_numeros. -
obter_padronizador_tipos_logradouros–Obtém o padronizador utilizado internamente pela função
padronizar_tipo_logradouro. -
padronizar_bairros–Padroniza uma string representando bairros de municípios brasileiros.
-
padronizar_cep–Padroniza CEPs em formato textual para uma string formatada.
-
padronizar_cep_leniente–Padroniza CEPs em formato textual para uma string formatada, tentando corrigir possíveis erros.
-
padronizar_cep_numerico–Padroniza um CEP numérico para uma string formatada.
-
padronizar_complementos–Padroniza uma string representando complementos de logradouros.
-
padronizar_estados_para_codigo–Padroniza uma string representando estados brasileiros para o código do IBGE.
-
padronizar_estados_para_nome–Padroniza uma string representando estados brasileiros para seu nome por extenso,
-
padronizar_estados_para_sigla–Padroniza uma string representando estados brasileiros para sua sigla de duas letras.
-
padronizar_logradouros–Padroniza uma string representando logradouros de municípios brasileiros.
-
padronizar_municipios–Padroniza uma string representando municípios brasileiros.
-
padronizar_numero_romano_por_extenso–Substitui números romanos em um texto por suas representações por extenso (em palavras).
-
padronizar_numeros–Padroniza uma string representando números de logradouros.
-
padronizar_numeros_para_int–Padroniza uma string representando números de logradouros para um inteiro.
-
padronizar_numeros_para_string–Converte um valor numérico para a representação textual de número de logradouro.
-
padronizar_numeros_por_extenso–Converte sequências de dígitos em uma string para seus equivalentes por extenso em português.
-
padronizar_tipo_logradouro–Padroniza uma string representando complementos de logradouros.
-
romano_para_inteiro–Converte um número romano em sua representação por extenso (número inteiro).
IdentificadorPadroes
IdentificadorPadroes()
Wrapper fino sobre um conjunto de expressões regulares compiladas para identificar rapidamente padrões em textos.
Examples:
>>> from enderecobr import IdentificadorPadroes
>>> idp = IdentificadorPadroes()
>>> idp.adicionar(['RUA', 'AVENIDA'])
>>> idp.identificar('RUA AZUL')
True
>>> idp.identificar('TRAVESSA')
False
Methods:
-
adicionar–Adiciona novas expressões regulares ao identificador.
-
identificar–Verifica se alguma das regexes cadastradas corresponde ao valor.
Source code in bindings/python/enderecobr/enderecobr.pyi
def __init__(self) -> None:
"""
Inicializa um novo identificador de padrões, sem nenhuma regex cadastrada.
"""
adicionar
adicionar(regexs: Iterable[str]) -> None
Adiciona novas expressões regulares ao identificador.
| Parameters: |
|
|---|
Examples:
>>> idp = IdentificadorPadroes()
>>> idp.adicionar(['RUA', 'AV'])
Source code in bindings/python/enderecobr/enderecobr.pyi
def adicionar(self, regexs: Iterable[str]) -> None:
"""
Adiciona novas expressões regulares ao identificador.
Parameters
----------
regexs : iterable of str
Lista de padrões regex a serem compilados e adicionados ao conjunto.
Examples
--------
>>> idp = IdentificadorPadroes()
>>> idp.adicionar(['RUA', 'AV'])
"""
...
identificar
identificar(valor: str) -> bool
Verifica se alguma das regexes cadastradas corresponde ao valor.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> idp = IdentificadorPadroes()
>>> idp.adicionar(['RUA'])
>>> idp.identificar('RUA AZUL')
True
>>> idp.identificar('AVENIDA')
False
Source code in bindings/python/enderecobr/enderecobr.pyi
def identificar(self, valor: str) -> bool:
"""
Verifica se alguma das regexes cadastradas corresponde ao valor.
Parameters
----------
valor : str
Texto a ser verificado.
Returns
-------
bool
True se alguma regex corresponder, False caso contrário.
Examples
--------
>>> idp = IdentificadorPadroes()
>>> idp.adicionar(['RUA'])
>>> idp.identificar('RUA AZUL')
True
>>> idp.identificar('AVENIDA')
False
"""
...
Padronizador
Padronizador()
Estrutura para padronização condicional de textos de endereços usando expressões regulares.
Permite definir regras de substituição com condições de exclusão (regex_ignorar).
Usa um conjunto de regex compilado para acelerar a detecção de padrões.
Use $1, $2... para referenciar um grupo de captura na string de substituição.
Por usar o motor de expressões regulares do Rust, esta classe NÃO aceita o uso de:
- look-arounds -> ex:
^RUA(?!\.)(começa com "RUA", mas não deve ter um ponto após); - backreferences -> ex:
(\w+) \1(duas palavras iguais repetidas após um espaço);
Examples:
>>> from enderecobr import Padronizador
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([
... ["AV ", "AVENIDA "],
... ["^R ", "RUA ", "R APT"],
... ])
>>> pad.padronizar("AV AZUL")
'AVENIDA AZUL'
>>> pad.padronizar("R APT AMARELA")
'R APT AMARELA'
Methods:
-
adicionar–Adiciona uma regra simples de substituição.
-
adicionar_com_ignorar–Adiciona uma regra condicional de substituição (com regex de exclusão).
-
adicionar_substituicoes–Adiciona múltiplas regras de substituição a partir de uma lista de listas.
-
adicionar_vetores–Adiciona regras a partir de três vetores paralelos.
-
obter_substituicoes–Retorna as regras de substituição atuais.
-
obter_vetores–Retorna as regras como três vetores paralelos.
-
padronizar–Aplica todas as regras de substituição ao texto, com normalização prévia.
-
preparar–Recompila o conjunto de expressões regulares após adicionar regras manualmente.
Source code in bindings/python/enderecobr/enderecobr.pyi
def __init__(self) -> None:
"""
Inicializa um novo padronizador com nenhuma regra de substituição.
"""
adicionar
adicionar(regex: str, substituicao: str) -> None
Adiciona uma regra simples de substituição.
Toda ocorrência de regex será substituída por substituicao.
É necessário chamar Padronizador.preparar após adicionar regras
manualmente para que passem a valer.
| Parameters: |
|
|---|
Examples:
>>> pad = Padronizador()
>>> pad.adicionar(r'R\.', 'RUA')
>>> pad.preparar()
>>> pad.padronizar('R. AZUL')
'RUA AZUL'
Source code in bindings/python/enderecobr/enderecobr.pyi
def adicionar(self, regex: str, substituicao: str) -> None:
r"""
Adiciona uma regra simples de substituição.
Toda ocorrência de ``regex`` será substituída por ``substituicao``.
É necessário chamar ``Padronizador.preparar`` após adicionar regras
manualmente para que passem a valer.
Parameters
----------
regex : str
Expressão regular a ser substituída.
substituicao : str
Texto de substituição (use ``$1``, ``$2``... para grupos capturados).
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar(r'R\.', 'RUA')
>>> pad.preparar()
>>> pad.padronizar('R. AZUL')
'RUA AZUL'
"""
...
adicionar_com_ignorar
adicionar_com_ignorar(regex: str, substituicao: str, regex_ignorar: str) -> None
Adiciona uma regra condicional de substituição (com regex de exclusão).
regex é substituída por substituicao somente se regex_ignorar
não corresponder ao texto. É necessário chamar Padronizador.preparar
após adicionar regras manualmente.
| Parameters: |
|
|---|
Examples:
>>> pad = Padronizador()
>>> pad.adicionar_com_ignorar(r'^R ', 'RUA ', r'R APT')
>>> pad.preparar()
>>> pad.padronizar('R AMARELA')
'RUA AMARELA'
>>> pad.padronizar('R APT AMARELA')
'R APT AMARELA'
Source code in bindings/python/enderecobr/enderecobr.pyi
def adicionar_com_ignorar(
self, regex: str, substituicao: str, regex_ignorar: str
) -> None:
"""
Adiciona uma regra condicional de substituição (com regex de exclusão).
``regex`` é substituída por ``substituicao`` somente se ``regex_ignorar``
não corresponder ao texto. É necessário chamar ``Padronizador.preparar``
após adicionar regras manualmente.
Parameters
----------
regex : str
Expressão regular a ser substituída.
substituicao : str
Texto de substituição.
regex_ignorar : str
Expressão regular de exclusão.
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar_com_ignorar(r'^R ', 'RUA ', r'R APT')
>>> pad.preparar()
>>> pad.padronizar('R AMARELA')
'RUA AMARELA'
>>> pad.padronizar('R APT AMARELA')
'R APT AMARELA'
"""
...
adicionar_substituicoes
adicionar_substituicoes(pares: Iterable[Iterable[None | str]]) -> None
Adiciona múltiplas regras de substituição a partir de uma lista de listas.
Cada sublista representa uma regra no formato: [regex, substituição, regex_ignorar] (valores None são ignorados).
Regras:
- 1 item: equivalente a [regex, '']
- 2 itens: equivalente a [regex, substituição]
- 3 ou mais itens: equivalente a [regex, substituição, regex_ignorar]
| Parameters: |
|
|---|
Examples:
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([
... ["R ", "RUA ", "APT R "],
... ["AV ", "AVENIDA ", None],
... ["NO ", "Nº"]
... ])
Source code in bindings/python/enderecobr/enderecobr.pyi
def adicionar_substituicoes(self, pares: Iterable[Iterable[None | str]]) -> None:
"""
Adiciona múltiplas regras de substituição a partir de uma lista de listas.
Cada sublista representa uma regra no formato:
[regex, substituição, regex_ignorar] (valores None são ignorados).
Regras:
- 1 item: equivalente a [regex, '']
- 2 itens: equivalente a [regex, substituição]
- 3 ou mais itens: equivalente a [regex, substituição, regex_ignorar]
Parameters
----------
pares : list of list of (str or None)
Lista de regras de substituição. Cada regra é uma lista com até três elementos.
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([
... ["R ", "RUA ", "APT R "],
... ["AV ", "AVENIDA ", None],
... ["NO ", "Nº"]
... ])
"""
...
adicionar_vetores
adicionar_vetores(regexes: Iterable[str], substituicoes: Iterable[str], regex_ignorar: Iterable[None | str]) -> None
Adiciona regras a partir de três vetores paralelos.
Os vetores devem ter o mesmo comprimento. O terceiro vetor pode conter None para indicar ausência de condição de exclusão. As regras são preparadas automaticamente ao término da execução.
| Parameters: |
|
|---|
Examples:
>>> pad = Padronizador()
>>> pad.adicionar_vetores(['R ', 'AV '], ['RUA ', 'AVENIDA '], [None, None])
>>> pad.padronizar('R AZUL')
'RUA AZUL'
Source code in bindings/python/enderecobr/enderecobr.pyi
def adicionar_vetores(
self,
regexes: Iterable[str],
substituicoes: Iterable[str],
regex_ignorar: Iterable[None | str],
) -> None:
"""
Adiciona regras a partir de três vetores paralelos.
Os vetores devem ter o mesmo comprimento. O terceiro vetor pode conter
None para indicar ausência de condição de exclusão. As regras são
preparadas automaticamente ao término da execução.
Parameters
----------
regexes : iterable of str
Expressões regulares a serem substituídas.
substituicoes : iterable of str
Textos de substituição correspondentes.
regex_ignorar : iterable of (str or None)
Expressões de exclusão correspondentes (ou None).
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar_vetores(['R ', 'AV '], ['RUA ', 'AVENIDA '], [None, None])
>>> pad.padronizar('R AZUL')
'RUA AZUL'
"""
...
obter_substituicoes
obter_substituicoes() -> list[tuple[str, str, None | str]]
Retorna as regras de substituição atuais.
| Returns: |
|
|---|
Examples:
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([["R ", "RUA "]])
>>> pad.obter_substituicoes()
[('R ', 'RUA ', None)]
Source code in bindings/python/enderecobr/enderecobr.pyi
def obter_substituicoes(self) -> list[tuple[str, str, None | str]]:
"""
Retorna as regras de substituição atuais.
Returns
-------
list of tuple of (str, str, str or None)
Lista de triplas: (regex, substituição, regex_ignorar).
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([["R ", "RUA "]])
>>> pad.obter_substituicoes()
[('R ', 'RUA ', None)]
"""
...
obter_vetores
obter_vetores() -> tuple[list[str], list[str], list[None | str]]
Retorna as regras como três vetores paralelos.
| Returns: |
|
|---|
Examples:
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([['R ', 'RUA ']])
>>> pad.obter_vetores()
(['R '], ['RUA '], [None])
Source code in bindings/python/enderecobr/enderecobr.pyi
def obter_vetores(self) -> tuple[list[str], list[str], list[None | str]]:
"""
Retorna as regras como três vetores paralelos.
Returns
-------
tuple of (list of str, list of str, list of (str or None))
Vetores ``(regex, substituicao, ignorar)``.
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([['R ', 'RUA ']])
>>> pad.obter_vetores()
(['R '], ['RUA '], [None])
"""
...
padronizar
padronizar(valor: str) -> str
Aplica todas as regras de substituição ao texto, com normalização prévia.
O texto é convertido para maiúsculas, acentos são removidos, e espaços extras são reduzidos. As regras são aplicadas em ordem, com condição de exclusão verificada antes de cada substituição.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([[r"R", "RUA"]])
>>> pad.padronizar(" r amarela ")
'RUA AMARELA'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar(self, valor: str) -> str:
"""
Aplica todas as regras de substituição ao texto, com normalização prévia.
O texto é convertido para maiúsculas, acentos são removidos, e espaços
extras são reduzidos. As regras são aplicadas em ordem, com condição de
exclusão verificada antes de cada substituição.
Parameters
----------
valor : str
Texto de entrada a ser padronizado.
Returns
-------
str
Texto padronizado.
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar_substituicoes([[r"\bR\b", "RUA"]])
>>> pad.padronizar(" r amarela ")
'RUA AMARELA'
"""
...
preparar
preparar() -> None
Recompila o conjunto de expressões regulares após adicionar regras manualmente.
Deve ser chamado após Padronizador.adicionar ou
Padronizador.adicionar_com_ignorar para que as novas regras
passem a ser aplicadas.
Examples:
>>> pad = Padronizador()
>>> pad.adicionar(r'R\.', 'RUA')
>>> pad.preparar()
Source code in bindings/python/enderecobr/enderecobr.pyi
def preparar(self) -> None:
r"""
Recompila o conjunto de expressões regulares após adicionar regras manualmente.
Deve ser chamado após ``Padronizador.adicionar`` ou
``Padronizador.adicionar_com_ignorar`` para que as novas regras
passem a ser aplicadas.
Examples
--------
>>> pad = Padronizador()
>>> pad.adicionar(r'R\.', 'RUA')
>>> pad.preparar()
"""
...
is_dado_faltante
is_dado_faltante(valor: str) -> bool
Identifica se uma string representa um dado faltante.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.is_dado_faltante('SI')
True
>>> enderecobr.is_dado_faltante('SEM INFORMAÇÃO')
True
>>> enderecobr.is_dado_faltante('NA')
True
>>> enderecobr.is_dado_faltante('N CONSTA')
True
>>> enderecobr.is_dado_faltante('RUA B')
False
Source code in bindings/python/enderecobr/enderecobr.pyi
def is_dado_faltante(valor: str) -> bool:
"""
Identifica se uma string representa um dado faltante.
Parameters
----------
valor : str
Texto a ser verificado.
Returns
-------
bool
True se o texto corresponder a um padrão de dado faltante
(ex: SI, NS, NI, NA), False caso contrário.
Examples
--------
>>> import enderecobr
>>> enderecobr.is_dado_faltante('SI')
True
>>> enderecobr.is_dado_faltante('SEM INFORMAÇÃO')
True
>>> enderecobr.is_dado_faltante('NA')
True
>>> enderecobr.is_dado_faltante('N CONSTA')
True
>>> enderecobr.is_dado_faltante('RUA B')
False
"""
...
metaphone
metaphone(valor: str) -> str
Gera um código fonético (Metaphone-BR adaptado) para nomes em português.
Aplica transformações fonéticas a um nome visando representar sua pronúncia aproximada em português brasileiro. Útil para agrupar nomes com sonoridade similar, mesmo com grafias diferentes.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
O processo inclui:
- Remoção de acentos, números e conversão para maiúsculas;
- Eliminação de letras silenciosas (ex: 'H' inicial);
- Simplificação de dígrafos (ex: 'LH' → 'L', 'CH' → 'X');
- Agrupamento de consoantes com sonoridade similar (ex: C/K/S, G/J);
- Tratamento de sons nasais e vogais duplicadas;
- Compactação de espaços e letras repetidas.
Esta é uma adaptação que não segue rigorosamente nenhum algoritmo Metaphone publicado, mas foi inspirada neles, considerando o contexto do português brasileiro.
Examples:
>>> enderecobr.metaphone("João Silva")
'JOAO SILVA'
>>> enderecobr.metaphone("Marya")
'MARIA'
>>> enderecobr.metaphone("Helena")
'ELENA'
>>> enderecobr.metaphone("Philippe")
'FILIPE'
>>> enderecobr.metaphone("Chavier")
'XAVIER'
>>> enderecobr.metaphone("Maçã")
'MASA'
Source code in bindings/python/enderecobr/enderecobr.pyi
def metaphone(valor: str) -> str:
"""
Gera um código fonético (Metaphone-BR adaptado) para nomes em português.
Aplica transformações fonéticas a um nome visando representar sua pronúncia
aproximada em português brasileiro. Útil para agrupar nomes com sonoridade
similar, mesmo com grafias diferentes.
Parameters
----------
valor : str
Nome ou texto a ser convertido em código fonético. Pode conter acentos,
caracteres especiais, espaços e letras minúsculas.
Returns
-------
str
Código fonético em maiúsculas, com transformações aplicadas segundo regras
adaptadas do Metaphone para o português brasileiro.
Notes
-----
O processo inclui:
- Remoção de acentos, números e conversão para maiúsculas;
- Eliminação de letras silenciosas (ex: 'H' inicial);
- Simplificação de dígrafos (ex: 'LH' → 'L', 'CH' → 'X');
- Agrupamento de consoantes com sonoridade similar (ex: C/K/S, G/J);
- Tratamento de sons nasais e vogais duplicadas;
- Compactação de espaços e letras repetidas.
Esta é uma adaptação que não segue rigorosamente nenhum algoritmo Metaphone
publicado, mas foi inspirada neles, considerando o contexto do português brasileiro.
Examples
--------
>>> enderecobr.metaphone("João Silva")
'JOAO SILVA'
>>> enderecobr.metaphone("Marya")
'MARIA'
>>> enderecobr.metaphone("Helena")
'ELENA'
>>> enderecobr.metaphone("Philippe")
'FILIPE'
>>> enderecobr.metaphone("Chavier")
'XAVIER'
>>> enderecobr.metaphone("Maçã")
'MASA'
"""
...
normalizar
normalizar(valor: str) -> str
Normaliza uma string para processamento posterior, removendo diacríticos e caracteres especiais, convertendo para maiúsculas e reduzindo espaços.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.normalizar('Olá, mundo')
'OLA, MUNDO'
>>> enderecobr.normalizar('R. DO AÇAÍ 15º')
'R. DO ACAI 15O'
Source code in bindings/python/enderecobr/enderecobr.pyi
def normalizar(valor: str) -> str:
"""
Normaliza uma string para processamento posterior, removendo diacríticos e
caracteres especiais, convertendo para maiúsculas e reduzindo espaços.
Parameters
----------
valor : str
Texto bruto a ser normalizado.
Returns
-------
str
Texto normalizado: maiúsculas, sem acentos, com espaços das pontas
removidos e espaços internos reduzidos a um único espaço.
Examples
--------
>>> import enderecobr
>>> enderecobr.normalizar('Olá, mundo')
'OLA, MUNDO'
>>> enderecobr.normalizar('R. DO AÇAÍ 15º')
'R. DO ACAI 15O'
"""
...
numero_por_extenso
numero_por_extenso(n: int) -> str
Converte um número inteiro para sua representação por extenso em português.
Retorna uma string com o número por extenso em letras maiúsculas.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> enderecobr.numero_por_extenso(0)
'ZERO'
>>> enderecobr.numero_por_extenso(42)
'QUARENTA E DOIS'
>>> enderecobr.numero_por_extenso(-1500)
'MENOS MIL E QUINHENTOS'
>>> enderecobr.numero_por_extenso(2_001_000)
'DOIS MILHOES E MIL'
Source code in bindings/python/enderecobr/enderecobr.pyi
def numero_por_extenso(n: int) -> str:
"""
Converte um número inteiro para sua representação por extenso em português.
Retorna uma string com o número por extenso em letras maiúsculas.
Parameters
----------
n : int
Número inteiro a ser convertido.
Returns
-------
str
Representação por extenso do número em português.
Examples
--------
>>> enderecobr.numero_por_extenso(0)
'ZERO'
>>> enderecobr.numero_por_extenso(42)
'QUARENTA E DOIS'
>>> enderecobr.numero_por_extenso(-1500)
'MENOS MIL E QUINHENTOS'
>>> enderecobr.numero_por_extenso(2_001_000)
'DOIS MILHOES E MIL'
"""
...
obter_padronizador_bairros
obter_padronizador_bairros() -> Padronizador
Obtém o padronizador utilizado internamente pela função padronizar_bairros.
Útil para adicionar padrões de substituição não incluídos originalmente.
Source code in bindings/python/enderecobr/enderecobr.pyi
def obter_padronizador_bairros() -> Padronizador:
"""
Obtém o padronizador utilizado internamente pela função `padronizar_bairros`.
Útil para adicionar padrões de substituição não incluídos originalmente.
"""
...
obter_padronizador_complementos
obter_padronizador_complementos() -> Padronizador
Obtém o padronizador utilizado internamente pela função padronizar_complementos.
Útil para adicionar padrões de substituição não incluídos originalmente.
Source code in bindings/python/enderecobr/enderecobr.pyi
def obter_padronizador_complementos() -> Padronizador:
"""
Obtém o padronizador utilizado internamente pela função `padronizar_complementos`.
Útil para adicionar padrões de substituição não incluídos originalmente.
"""
...
obter_padronizador_logradouros
obter_padronizador_logradouros() -> Padronizador
Obtém o padronizador utilizado internamente pela função padronizar_logradouros.
Útil para adicionar padrões de substituição não incluídos originalmente.
Source code in bindings/python/enderecobr/enderecobr.pyi
def obter_padronizador_logradouros() -> Padronizador:
"""
Obtém o padronizador utilizado internamente pela função `padronizar_logradouros`.
Útil para adicionar padrões de substituição não incluídos originalmente.
"""
...
obter_padronizador_numeros
obter_padronizador_numeros() -> Padronizador
Obtém o padronizador utilizado internamente pela função padronizar_numeros.
Útil para adicionar padrões de substituição não incluídos originalmente.
Source code in bindings/python/enderecobr/enderecobr.pyi
def obter_padronizador_numeros() -> Padronizador:
"""
Obtém o padronizador utilizado internamente pela função `padronizar_numeros`.
Útil para adicionar padrões de substituição não incluídos originalmente.
"""
...
obter_padronizador_tipos_logradouros
obter_padronizador_tipos_logradouros() -> Padronizador
Obtém o padronizador utilizado internamente pela função padronizar_tipo_logradouro.
Útil para adicionar padrões de substituição não incluídos originalmente.
Source code in bindings/python/enderecobr/enderecobr.pyi
def obter_padronizador_tipos_logradouros() -> Padronizador:
"""
Obtém o padronizador utilizado internamente pela função `padronizar_tipo_logradouro`.
Útil para adicionar padrões de substituição não incluídos originalmente.
"""
...
padronizar_bairros
padronizar_bairros(valor: str) -> str
Padroniza uma string representando bairros de municípios brasileiros.
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_bairros("PRQ IND")
'PARQUE INDUSTRIAL'
>>> enderecobr.padronizar_bairros("NSA SEN DE FATIMA")
'NOSSA SENHORA DE FATIMA'
>>> enderecobr.padronizar_bairros("ILHA DO GOV")
'ILHA DO GOVERNADOR'
Notes
Operações realizadas durante a padronização:
- Remoção de espaços em branco antes, depois e excesso entre palavras;
- Conversão para caixa alta;
- Remoção de acentos e caracteres não ASCII;
- Adição de espaços após abreviações com pontos;
- Expansão de abreviações comuns usando expressões regulares;
- Correção de pequenos erros ortográficos.
As expressões regulares são compiladas na primeira chamada, portanto a primeira execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_bairros(valor: str) -> str:
"""
Padroniza uma string representando bairros de municípios brasileiros.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_bairros("PRQ IND")
'PARQUE INDUSTRIAL'
>>> enderecobr.padronizar_bairros("NSA SEN DE FATIMA")
'NOSSA SENHORA DE FATIMA'
>>> enderecobr.padronizar_bairros("ILHA DO GOV")
'ILHA DO GOVERNADOR'
Notes
-----
Operações realizadas durante a padronização:
- Remoção de espaços em branco antes, depois e excesso entre palavras;
- Conversão para caixa alta;
- Remoção de acentos e caracteres não ASCII;
- Adição de espaços após abreviações com pontos;
- Expansão de abreviações comuns usando expressões regulares;
- Correção de pequenos erros ortográficos.
As expressões regulares são compiladas na primeira chamada, portanto a primeira
execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
"""
...
padronizar_cep
padronizar_cep(valor: str) -> str
Padroniza CEPs em formato textual para uma string formatada.
Completa com zeros à esquerda quando necessário e retorna erro se o valor contiver caracteres inválidos ou exceder o tamanho permitido de CEP.
| Parameters: |
|
|---|
| Returns: |
|
|---|
| Raises: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_cep('12345-6')
'00123-456'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_cep(valor: str) -> str:
"""
Padroniza CEPs em formato textual para uma string formatada.
Completa com zeros à esquerda quando necessário e retorna erro se o valor
contiver caracteres inválidos ou exceder o tamanho permitido de CEP.
Parameters
----------
valor : str
CEP em formato textual (ex: 12345-6, a123b45 6 sem os inválidos).
Returns
-------
str
CEP padronizado no formato XXXXX-XXX.
Raises
------
ValueError
Se o CEP tiver caracteres inválidos ou muitos dígitos.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_cep('12345-6')
'00123-456'
"""
...
padronizar_cep_leniente
padronizar_cep_leniente(valor: str) -> str
Padroniza CEPs em formato textual para uma string formatada, tentando corrigir possíveis erros.
Esta função ignora quaisquer caracteres não numéricos, além de remover números extras e completar com zeros à esquerda quando necessário.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_cep_leniente("a123b45 6")
'00123-456'
Notes
- São extraídos apenas os dígitos numéricos da entrada.
- Se mais de 8 dígitos forem fornecidos, apenas os 8 primeiros são considerados.
- Se menos de 8 dígitos forem fornecidos, zeros são adicionados à esquerda.
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_cep_leniente(valor: str) -> str:
"""
Padroniza CEPs em formato textual para uma string formatada, tentando corrigir possíveis erros.
Esta função ignora quaisquer caracteres não numéricos, além de remover números
extras e completar com zeros à esquerda quando necessário.
Parameters
----------
valor : str
CEP em formato textual, que pode conter caracteres não numéricos e formatação irregular.
Returns
-------
str
CEP padronizado no formato XXXXX-XXX (com 8 dígitos, separados por hífen, completado com zeros à esquerda se necessário).
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_cep_leniente("a123b45 6")
'00123-456'
Notes
-----
- São extraídos apenas os dígitos numéricos da entrada.
- Se mais de 8 dígitos forem fornecidos, apenas os 8 primeiros são considerados.
- Se menos de 8 dígitos forem fornecidos, zeros são adicionados à esquerda.
"""
...
padronizar_cep_numerico
padronizar_cep_numerico(valor: int) -> str
Padroniza um CEP numérico para uma string formatada.
Completa com zeros à esquerda quando necessário e retorna erro se o valor exceder o tamanho permitido de CEP.
| Parameters: |
|
|---|
| Returns: |
|
|---|
| Raises: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_cep_numerico(123456)
'00123-456'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_cep_numerico(valor: int) -> str:
"""
Padroniza um CEP numérico para uma string formatada.
Completa com zeros à esquerda quando necessário e retorna erro se o valor
exceder o tamanho permitido de CEP.
Parameters
----------
valor : int
CEP em formato numérico (ex: 123456).
Returns
-------
str
CEP padronizado no formato XXXXX-XXX.
Raises
------
ValueError
Se o CEP tiver muitos dígitos.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_cep_numerico(123456)
'00123-456'
"""
...
padronizar_complementos
padronizar_complementos(valor: str) -> str
Padroniza uma string representando complementos de logradouros.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_complementos("QD1 LT2 CS3")
'QUADRA 1 LOTE 2 CASA 3'
>>> enderecobr.padronizar_complementos("APTO. 405")
'APARTAMENTO 405'
Notes
As seguintes operações são aplicadas:
- Remoção de espaços extras no início, fim e entre palavras;
- Conversão para maiúsculas;
- Remoção de acentos e caracteres não ASCII;
- Normalização de pontos em abreviações (ex: 'APTO.' → 'APARTAMENTO');
- Expansão de abreviações comuns (ex: 'QD' → 'QUADRA', 'LT' → 'LOTE', 'CS' → 'CASA');
- Correção de erros ortográficos ou variações comuns.
As expressões regulares são compiladas na primeira chamada, portanto a primeira execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_complementos(valor: str) -> str:
"""
Padroniza uma string representando complementos de logradouros.
Parameters
----------
valor : str
Texto bruto representando um complemento (ex: 'APTO. 405', 'QD1 LT2 CS3').
Returns
-------
str
Texto padronizado em caixa alta, sem acentos, com abreviações expandidas
e formatação consistente.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_complementos("QD1 LT2 CS3")
'QUADRA 1 LOTE 2 CASA 3'
>>> enderecobr.padronizar_complementos("APTO. 405")
'APARTAMENTO 405'
Notes
-----
As seguintes operações são aplicadas:
- Remoção de espaços extras no início, fim e entre palavras;
- Conversão para maiúsculas;
- Remoção de acentos e caracteres não ASCII;
- Normalização de pontos em abreviações (ex: 'APTO.' → 'APARTAMENTO');
- Expansão de abreviações comuns (ex: 'QD' → 'QUADRA', 'LT' → 'LOTE', 'CS' → 'CASA');
- Correção de erros ortográficos ou variações comuns.
As expressões regulares são compiladas na primeira chamada, portanto a primeira
execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
"""
...
padronizar_estados_para_codigo
padronizar_estados_para_codigo(valor: str) -> str
Padroniza uma string representando estados brasileiros para o código do IBGE.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_estados_para_codigo('21')
'21'
>>> enderecobr.padronizar_estados_para_codigo('021')
'21'
>>> enderecobr.padronizar_estados_para_codigo('MA')
'21'
>>> enderecobr.padronizar_estados_para_codigo('')
''
>>> enderecobr.padronizar_estados_para_codigo('me')
''
>>> enderecobr.padronizar_estados_para_codigo('maranhao')
'21'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_estados_para_codigo(valor: str) -> str:
"""
Padroniza uma string representando estados brasileiros para o código do IBGE.
Parameters
----------
valor : str
Código numérico (ex: 21, 021), sigla (ex: MA, ma) ou nome de
um estado brasileiro.
Returns
-------
str
Código do IBGE do estado (ex: 21), em caixa alta. Retorna string vazia
se o valor for inválido, vazio ou não corresponder a um estado.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_estados_para_codigo('21')
'21'
>>> enderecobr.padronizar_estados_para_codigo('021')
'21'
>>> enderecobr.padronizar_estados_para_codigo('MA')
'21'
>>> enderecobr.padronizar_estados_para_codigo('')
''
>>> enderecobr.padronizar_estados_para_codigo('me')
''
>>> enderecobr.padronizar_estados_para_codigo('maranhao')
'21'
"""
...
padronizar_estados_para_nome
padronizar_estados_para_nome(valor: str) -> str
Padroniza uma string representando estados brasileiros para seu nome por extenso, porém sem diacríticos.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Operações realizadas durante a padronização:
- Remoção de espaços em branco no início e fim, e espaços extras internos;
- Conversão para caixa alta;
- Remoção de zeros à esquerda (em códigos numéricos);
- Mapeamento partir do código numérico ou da abreviação da UF, do nome completo de cada estado.
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_estados_para_nome("21")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("021")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("MA")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome(" 21")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome(" MA ")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("ma")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("")
''
>>> enderecobr.padronizar_estados_para_nome("me")
''
>>> enderecobr.padronizar_estados_para_nome("maranhao")
'MARANHAO'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_estados_para_nome(valor: str) -> str:
"""
Padroniza uma string representando estados brasileiros para seu nome por extenso,
porém sem diacríticos.
Parameters
----------
valor : str
String contendo o código numérico (ex: '21', '021'), sigla (ex: 'MA', 'ma') ou nome
de um estado brasileiro. Pode conter espaços extras ou formatação irregular.
Returns
-------
str
Nome por extenso do estado em caixa alta e sem diacríticos (ex: 'MARANHAO').
Retorna string vazia se o valor for inválido, vazio ou não corresponder a um estado.
Notes
-----
Operações realizadas durante a padronização:
- Remoção de espaços em branco no início e fim, e espaços extras internos;
- Conversão para caixa alta;
- Remoção de zeros à esquerda (em códigos numéricos);
- Mapeamento partir do código numérico ou da abreviação da UF, do nome completo de cada estado.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_estados_para_nome("21")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("021")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("MA")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome(" 21")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome(" MA ")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("ma")
'MARANHAO'
>>> enderecobr.padronizar_estados_para_nome("")
''
>>> enderecobr.padronizar_estados_para_nome("me")
''
>>> enderecobr.padronizar_estados_para_nome("maranhao")
'MARANHAO'
"""
...
padronizar_estados_para_sigla
padronizar_estados_para_sigla(valor: str) -> str
Padroniza uma string representando estados brasileiros para sua sigla de duas letras.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_estados_para_sigla('21')
'MA'
>>> enderecobr.padronizar_estados_para_sigla('021')
'MA'
>>> enderecobr.padronizar_estados_para_sigla('MA')
'MA'
>>> enderecobr.padronizar_estados_para_sigla('')
''
>>> enderecobr.padronizar_estados_para_sigla('me')
''
>>> enderecobr.padronizar_estados_para_sigla('maranhao')
'MA'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_estados_para_sigla(valor: str) -> str:
"""
Padroniza uma string representando estados brasileiros para sua sigla de duas letras.
Parameters
----------
valor : str
Código numérico (ex: 21, 021), sigla (ex: MA, ma) ou nome de
um estado brasileiro.
Returns
-------
str
Sigla da UF em caixa alta (ex: MA). Retorna string vazia se o valor for
inválido, vazio ou não corresponder a um estado.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_estados_para_sigla('21')
'MA'
>>> enderecobr.padronizar_estados_para_sigla('021')
'MA'
>>> enderecobr.padronizar_estados_para_sigla('MA')
'MA'
>>> enderecobr.padronizar_estados_para_sigla('')
''
>>> enderecobr.padronizar_estados_para_sigla('me')
''
>>> enderecobr.padronizar_estados_para_sigla('maranhao')
'MA'
"""
...
padronizar_logradouros
padronizar_logradouros(valor: str) -> str
Padroniza uma string representando logradouros de municípios brasileiros.
Realiza uma série de transformações para normalizar nomes de ruas, avenidas e outros tipos de logradouros segundo convenções comuns em bases de endereços no Brasil.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_logradouros("r. gen.. glicério")
'RUA GENERAL GLICERIO'
Notes
As seguintes operações são aplicadas sequencialmente:
- Remoção de espaços extras no início, fim e entre palavras;
- Conversão para maiúsculas;
- Remoção de acentos e conversão de caracteres não-ASCII;
- Normalização de pontos em abreviações (ex: 'gen..' → 'GEN');
- Inserção de espaços após abreviações com pontos (ex: 'R.JOSE' → 'R. JOSE');
- Expansão de abreviações comuns (ex: 'R.' → 'RUA', 'AV.' → 'AVENIDA');
- Correção de erros ortográficos frequentes (ex: 'GLICERIO' em vez de 'GLICÉRIO').
As expressões regulares são compiladas na primeira chamada, portanto a primeira execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_logradouros(valor: str) -> str:
"""
Padroniza uma string representando logradouros de municípios brasileiros.
Realiza uma série de transformações para normalizar nomes de ruas, avenidas e
outros tipos de logradouros segundo convenções comuns em bases de endereços no Brasil.
Parameters
----------
valor : str
Texto bruto representando um logradouro (ex: 'r. gen.. glicério').
Returns
-------
str
Texto padronizado em caixa alta, sem acentos, com abreviações expandidas
e formatação consistente.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_logradouros("r. gen.. glicério")
'RUA GENERAL GLICERIO'
Notes
-----
As seguintes operações são aplicadas sequencialmente:
- Remoção de espaços extras no início, fim e entre palavras;
- Conversão para maiúsculas;
- Remoção de acentos e conversão de caracteres não-ASCII;
- Normalização de pontos em abreviações (ex: 'gen..' → 'GEN');
- Inserção de espaços após abreviações com pontos (ex: 'R.JOSE' → 'R. JOSE');
- Expansão de abreviações comuns (ex: 'R.' → 'RUA', 'AV.' → 'AVENIDA');
- Correção de erros ortográficos frequentes (ex: 'GLICERIO' em vez de 'GLICÉRIO').
As expressões regulares são compiladas na primeira chamada, portanto a primeira
execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
"""
...
padronizar_municipios
padronizar_municipios(valor: str) -> str
Padroniza uma string representando municípios brasileiros.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_municipios("3304557")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("003304557")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios(" 3304557 ")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("RIO DE JANEIRO")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("rio de janeiro")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("SÃO PAULO")
'SAO PAULO'
>>> enderecobr.padronizar_municipios("PARATI")
'PARATY'
>>> enderecobr.padronizar_municipios("AUGUSTO SEVERO")
'CAMPO GRANDE'
>>> enderecobr.padronizar_municipios("SAO VALERIO DA NATIVIDADE")
'SAO VALERIO'
>>> enderecobr.padronizar_municipios("LAGOA DANTA")
"LAGOA D'ANTA"
>>> enderecobr.padronizar_municipios("") # entrada vazia
''
>>> enderecobr.padronizar_municipios("BANANA") # irreconhecível
''
>>> enderecobr.padronizar_municipios("!!!!") # sem conteúdo útil
''
>>> enderecobr.padronizar_municipios("PARATI!!!!") # ruído descartado antes da busca
'PARATY'
Notes
As seguintes operações são realizadas:
- Remoção de espaços em branco no início/fim e excesso entre palavras.
- Conversão para caixa alta.
- Remoção de zeros à esquerda em códigos numéricos.
- Busca do nome completo do município a partir do código IBGE.
- Remoção de acentos e caracteres não ASCII.
- Correção de erros ortográficos comuns e nomes desatualizados, com base na lista oficial de municípios do IBGE (2022).
As expressões regulares são compiladas na primeira chamada, portanto a primeira execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_municipios(valor: str) -> str:
"""
Padroniza uma string representando municípios brasileiros.
Parameters
----------
valor : str
String contendo o nome ou código de um município brasileiro.
Pode ser nome (com variações de caixa, acentos, espaçamento),
código IBGE (7 ou 8 dígitos, com ou sem zeros à esquerda), ou string vazia.
Returns
-------
str
Nome canônico do município em caixa alta, sem acentos, com correções
ortográficas e atualizações conforme o IBGE 2022. **Valores que não
casem com nenhum município conhecido** (nem por grafia exata, nem por
aproximação fonética) **retornam string vazia** — trate `""` como
"município desconhecido".
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_municipios("3304557")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("003304557")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios(" 3304557 ")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("RIO DE JANEIRO")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("rio de janeiro")
'RIO DE JANEIRO'
>>> enderecobr.padronizar_municipios("SÃO PAULO")
'SAO PAULO'
>>> enderecobr.padronizar_municipios("PARATI")
'PARATY'
>>> enderecobr.padronizar_municipios("AUGUSTO SEVERO")
'CAMPO GRANDE'
>>> enderecobr.padronizar_municipios("SAO VALERIO DA NATIVIDADE")
'SAO VALERIO'
>>> enderecobr.padronizar_municipios("LAGOA DANTA")
"LAGOA D'ANTA"
>>> enderecobr.padronizar_municipios("") # entrada vazia
''
>>> enderecobr.padronizar_municipios("BANANA") # irreconhecível
''
>>> enderecobr.padronizar_municipios("!!!!") # sem conteúdo útil
''
>>> enderecobr.padronizar_municipios("PARATI!!!!") # ruído descartado antes da busca
'PARATY'
Notes
-----
As seguintes operações são realizadas:
- Remoção de espaços em branco no início/fim e excesso entre palavras.
- Conversão para caixa alta.
- Remoção de zeros à esquerda em códigos numéricos.
- Busca do nome completo do município a partir do código IBGE.
- Remoção de acentos e caracteres não ASCII.
- Correção de erros ortográficos comuns e nomes desatualizados,
com base na lista oficial de municípios do IBGE (2022).
As expressões regulares são compiladas na primeira chamada, portanto a primeira
execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
"""
...
padronizar_numero_romano_por_extenso
padronizar_numero_romano_por_extenso(valor: str) -> str
Substitui números romanos em um texto por suas representações por extenso (em palavras). Apenas sequências que formam números romanos válidos (1–3999) são convertidas.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> enderecobr.padronizar_numero_romano_por_extenso("Capítulo IX")
'Capítulo NOVE'
>>> enderecobr.padronizar_numero_romano_por_extenso("Séculos XV e XX")
'Séculos QUINZE e VINTE'
>>> enderecobr.padronizar_numero_romano_por_extenso("Rei João VI e Papa Bento XVI")
'Rei João SEIS e Papa Bento DEZESSEIS'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_numero_romano_por_extenso(valor: str) -> str:
"""
Substitui números romanos em um texto por suas representações por extenso (em palavras).
Apenas sequências que formam números romanos válidos (1–3999) são convertidas.
Parameters
----------
valor : str
Texto contendo números romanos a serem convertidos.
Returns
-------
str
Texto com números romanos substituídos por suas formas por extenso (maiúsculas).
Retorna o texto original se nenhuma substituição for necessária.
Examples
--------
>>> enderecobr.padronizar_numero_romano_por_extenso("Capítulo IX")
'Capítulo NOVE'
>>> enderecobr.padronizar_numero_romano_por_extenso("Séculos XV e XX")
'Séculos QUINZE e VINTE'
>>> enderecobr.padronizar_numero_romano_por_extenso("Rei João VI e Papa Bento XVI")
'Rei João SEIS e Papa Bento DEZESSEIS'
"""
...
padronizar_numeros
padronizar_numeros(valor: str) -> str
Padroniza uma string representando números de logradouros.
Normaliza números de endereços, removendo formatações inconsistentes e tratando casos especiais como ausência de número (ex: "SN", "S/N", etc).
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_numeros("0210")
'210'
>>> enderecobr.padronizar_numeros(" S. N. ")
'S/N'
Notes
As seguintes operações são aplicadas:
- Remoção de espaços extras no início, fim e entre caracteres;
- Remoção de zeros à esquerda em números;
- Detecção e substituição de variações de "sem número" (SN, S N, S./N., etc) por "S/N";
- Retorno de string vazia se a entrada for completamente inválida ou nula.
As expressões regulares são compiladas na primeira chamada, portanto a primeira execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_numeros(valor: str) -> str:
"""
Padroniza uma string representando números de logradouros.
Normaliza números de endereços, removendo formatações inconsistentes e
tratando casos especiais como ausência de número (ex: "SN", "S/N", etc).
Parameters
----------
valor : str
Texto bruto representando o número de um logradouro (ex: '0210', 'S. N. ').
Returns
-------
str
Número padronizado. Números comuns têm zeros à esquerda removidos;
valores nulos ou variações de "SN" são convertidos para "S/N".
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_numeros("0210")
'210'
>>> enderecobr.padronizar_numeros(" S. N. ")
'S/N'
Notes
-----
As seguintes operações são aplicadas:
- Remoção de espaços extras no início, fim e entre caracteres;
- Remoção de zeros à esquerda em números;
- Detecção e substituição de variações de "sem número" (SN, S N, S./N., etc) por "S/N";
- Retorno de string vazia se a entrada for completamente inválida ou nula.
As expressões regulares são compiladas na primeira chamada, portanto a primeira
execução pode ser mais lenta. Chamadas subsequentes reutilizam as regexes compiladas.
"""
...
padronizar_numeros_para_int
padronizar_numeros_para_int(valor: str) -> int | None
Padroniza uma string representando números de logradouros para um inteiro.
Remove zeros à esquerda; variações de SN (S/N, S N etc.) resultam em None. Apenas números simples (sem espaços) são convertidos.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_numeros_para_int('0210')
210
>>> enderecobr.padronizar_numeros_para_int('001')
1
>>> enderecobr.padronizar_numeros_para_int('1')
1
>>> enderecobr.padronizar_numeros_para_int('0') is None
True
>>> enderecobr.padronizar_numeros_para_int('') is None
True
>>> enderecobr.padronizar_numeros_para_int('S/N') is None
True
>>> enderecobr.padronizar_numeros_para_int('0180 0181') is None
True
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_numeros_para_int(valor: str) -> int | None:
"""
Padroniza uma string representando números de logradouros para um inteiro.
Remove zeros à esquerda; variações de SN (S/N, S N etc.) resultam em None.
Apenas números simples (sem espaços) são convertidos.
Parameters
----------
valor : str
Texto bruto representando o número de um logradouro.
Returns
-------
int or None
Número convertido, ou None caso a entrada seja inválida, vazia,
sem número ou contenha mais de um número.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_numeros_para_int('0210')
210
>>> enderecobr.padronizar_numeros_para_int('001')
1
>>> enderecobr.padronizar_numeros_para_int('1')
1
>>> enderecobr.padronizar_numeros_para_int('0') is None
True
>>> enderecobr.padronizar_numeros_para_int('') is None
True
>>> enderecobr.padronizar_numeros_para_int('S/N') is None
True
>>> enderecobr.padronizar_numeros_para_int('0180 0181') is None
True
"""
...
padronizar_numeros_para_string
padronizar_numeros_para_string(valor: float) -> str
Converte um valor numérico para a representação textual de número de logradouro.
Valores menores ou iguais a zero são convertidos para S/N; valores decimais são truncados.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_numeros_para_string(210)
'210'
>>> enderecobr.padronizar_numeros_para_string(1.1)
'1'
>>> enderecobr.padronizar_numeros_para_string(0)
'S/N'
>>> enderecobr.padronizar_numeros_para_string(-11)
'S/N'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_numeros_para_string(valor: float) -> str:
"""
Converte um valor numérico para a representação textual de número de logradouro.
Valores menores ou iguais a zero são convertidos para S/N; valores decimais
são truncados.
Parameters
----------
valor : int or float
Número a ser convertido.
Returns
-------
str
Representação textual do número, ou S/N para valores não positivos.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_numeros_para_string(210)
'210'
>>> enderecobr.padronizar_numeros_para_string(1.1)
'1'
>>> enderecobr.padronizar_numeros_para_string(0)
'S/N'
>>> enderecobr.padronizar_numeros_para_string(-11)
'S/N'
"""
...
padronizar_numeros_por_extenso
padronizar_numeros_por_extenso(valor: str) -> str
Converte sequências de dígitos em uma string para seus equivalentes por extenso em português.
A função percorre a string de entrada e, ao encontrar números inteiros (em formato ASCII),
os substitui pelo nome completo do número (ex: "2" → "dois"), utilizando a função numero_por_extenso.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
- Números muito grandes ou inválidos (ex: overflow no parse para
i32) são deixados inalterados. - Não trata números negativos ou decimais.
- Se a string de entrada não contém nenhum dígito ASCII, retorna a string original.
Examples:
>>> enderecobr.padronizar_numeros_por_extenso("RUA 2")
'RUA DOIS'
>>> enderecobr.padronizar_numeros_por_extenso("RUA -2")
'RUA -DOIS'
>>> enderecobr.padronizar_numeros_por_extenso("RUA -2.2")
'RUA -DOIS.DOIS'
>>> enderecobr.padronizar_numeros_por_extenso("Sem números")
'Sem números'
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_numeros_por_extenso(valor: str) -> str:
"""
Converte sequências de dígitos em uma string para seus equivalentes por extenso em português.
A função percorre a string de entrada e, ao encontrar números inteiros (em formato ASCII),
os substitui pelo nome completo do número (ex: "2" → "dois"), utilizando a função `numero_por_extenso`.
Parameters
----------
valor : str
String de entrada que pode conter dígitos a serem convertidos.
Returns
-------
str
Nova string com dígitos convertidos por extenso. Retorna a string original se não houver dígitos.
Notes
-----
- Números muito grandes ou inválidos (ex: overflow no parse para `i32`) são deixados inalterados.
- Não trata números negativos ou decimais.
- Se a string de entrada não contém nenhum dígito ASCII, retorna a string original.
Examples
--------
>>> enderecobr.padronizar_numeros_por_extenso("RUA 2")
'RUA DOIS'
>>> enderecobr.padronizar_numeros_por_extenso("RUA -2")
'RUA -DOIS'
>>> enderecobr.padronizar_numeros_por_extenso("RUA -2.2")
'RUA -DOIS.DOIS'
>>> enderecobr.padronizar_numeros_por_extenso("Sem números")
'Sem números'
"""
...
padronizar_tipo_logradouro
padronizar_tipo_logradouro(valor: str) -> str
Padroniza uma string representando complementos de logradouros.
Examples:
>>> import enderecobr
>>> enderecobr.padronizar_tipo_logradouro("R")
'RUA'
>>> enderecobr.padronizar_tipo_logradouro("AVE")
'AVENIDA'
>>> enderecobr.padronizar_tipo_logradouro("QDRA")
'QUADRA'
Notes
Operações realizadas durante a padronização:
- Remoção de espaços em branco antes e depois das strings e remoção de espaços em excesso entre palavras.
- Conversão de caracteres para caixa alta.
- Remoção de acentos e caracteres não ASCII.
- Adição de espaços após abreviações sinalizadas por pontos.
- Expansão de abreviações frequentemente utilizadas através de expressões regulares.
- Correção de pequenos erros ortográficos.
A primeira chamada pode ser mais lenta devido à compilação inicial das expressões regulares.
Source code in bindings/python/enderecobr/enderecobr.pyi
def padronizar_tipo_logradouro(valor: str) -> str:
"""
Padroniza uma string representando complementos de logradouros.
Examples
--------
>>> import enderecobr
>>> enderecobr.padronizar_tipo_logradouro("R")
'RUA'
>>> enderecobr.padronizar_tipo_logradouro("AVE")
'AVENIDA'
>>> enderecobr.padronizar_tipo_logradouro("QDRA")
'QUADRA'
Notes
-----
Operações realizadas durante a padronização:
- Remoção de espaços em branco antes e depois das strings e remoção de espaços em excesso entre palavras.
- Conversão de caracteres para caixa alta.
- Remoção de acentos e caracteres não ASCII.
- Adição de espaços após abreviações sinalizadas por pontos.
- Expansão de abreviações frequentemente utilizadas através de expressões regulares.
- Correção de pequenos erros ortográficos.
A primeira chamada pode ser mais lenta devido à compilação inicial das expressões regulares.
"""
romano_para_inteiro
romano_para_inteiro(valor: str) -> int
Converte um número romano em sua representação por extenso (número inteiro).
Aceita entradas em maiúsculas ou minúsculas. A conversão segue a regra padrão de números romanos, onde símbolos menores à esquerda de maiores são subtraídos. Suporta valores de 1 a 3999.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Examples:
>>> enderecobr.romano_para_inteiro("IX")
9
>>> enderecobr.romano_para_inteiro("xlII")
42
>>> enderecobr.romano_para_inteiro("MCMXC")
1990
>>> enderecobr.romano_para_inteiro("mmmcmxcix")
3999
Notes
- Caracteres inválidos são tratados como 0 e podem gerar resultados inesperados.
- A função não valida a correção gramatical da sequência romana (ex: "IIII" retorna 4).
Source code in bindings/python/enderecobr/enderecobr.pyi
def romano_para_inteiro(valor: str) -> int:
"""
Converte um número romano em sua representação por extenso (número inteiro).
Aceita entradas em maiúsculas ou minúsculas. A conversão segue a regra padrão de números romanos,
onde símbolos menores à esquerda de maiores são subtraídos. Suporta valores de 1 a 3999.
Parameters
----------
valor : str
String contendo a representação de um número romano (ex: "IX", "MCMXC").
Returns
-------
int
Valor inteiro correspondente ao número romano. Retorna resultados inesperados se a string
contiver caracteres inválidos (não tratados como erro).
Examples
--------
>>> enderecobr.romano_para_inteiro("IX")
9
>>> enderecobr.romano_para_inteiro("xlII")
42
>>> enderecobr.romano_para_inteiro("MCMXC")
1990
>>> enderecobr.romano_para_inteiro("mmmcmxcix")
3999
Notes
-----
- Caracteres inválidos são tratados como 0 e podem gerar resultados inesperados.
- A função não valida a correção gramatical da sequência romana (ex: "IIII" retorna 4).
"""
...