Crate enderecobr_rs

Crate enderecobr_rs 

Source
Expand description

§enderecobr_rs

crates.io Latest Release docs.rs Rust PyPi Latest Release CI readthedocs Python codecov MIT licensed

Documentações: R Python Rust

Versão experimental!

Esta biblioteca tem por objetivo prover de funções utilizadas para padronizar endereços brasileiros, corrigindo erros comuns, expandindo abreviações etc, afim de facilitar processamentos posteriores.

Esta biblioteca é uma adaptação para Rust do enderecobr visando ganho de eficiência e expandir seu uso para demais linguagens de programação, utilizando esta implementação como base das demais.

Ela usa majoritariamente expressões regulares nas padronizações, com exceção do módulo experimental de separação de endereços, que utiliza um modelo probabilístico de Conditional Random Field já embutido na bilioteca.

§Bindings

O repositório da versão em R se mantém em enderecobr, utilizando internamente as funções desta lib. A versão em Python é feita no subdiretório bindings/python deste projeto. Algumas funções ou classes/structs da implementação em Rust podem não estar expostas em algumas linguagens. Vide documentação do Rust para identificar tais situações. Para solicitar esse tipo de mudança ou bindings em outras linguagens de programação, abrir uma Issue ou Pull request neste repositório.

§Instalação

A última versão pode ser baixada do crates com o comando:

cargo add enderecobr_rs

Ou adicionando em no seu Cargo.toml:

[dependencies]
enderecobr_rs = { version = "0.0.3" }

§Exemplo de uso

§Rust:

use enderecobr_rs::{padronizar_complementos, padronizar_logradouros};
assert_eq!(padronizar_logradouros("r. gen.. glicério"), "RUA GENERAL GLICERIO");
assert_eq!(padronizar_complementos("QD1 LT2 CS3"), "QUADRA 1 LOTE 2 CASA 3");

§Python:

import enderecobr
assert enderecobr.padronizar_logradouros("r. gen.. glicério") == "RUA GENERAL GLICERIO"
assert enderecobr.padronizar_logradouros("QD1 LT2 CS3") == "QUADRA 1 LOTE 2 CASA 3"

§Nota Ipea

enderecobr é desenvolvido por uma equipe de pesquisadores do Instituto de Pesquisa Econômica Aplicada (Ipea).

Re-exports§

pub use bairro::padronizar_bairros;
pub use cep::padronizar_cep;
pub use cep::padronizar_cep_leniente;
pub use cep::padronizar_cep_numerico;
pub use complemento::padronizar_complementos;
pub use estado::padronizar_estados_para_codigo;
pub use estado::padronizar_estados_para_nome;
pub use estado::padronizar_estados_para_sigla;
pub use logradouro::padronizar_logradouros;
pub use municipio::padronizar_municipios;
pub use numero::padronizar_numeros;
pub use numero::padronizar_numeros_para_int;
pub use numero::padronizar_numeros_para_string;
pub use tipo_logradouro::padronizar_tipo_logradouro;

Modules§

bairro
cep
complemento
estado
logradouro
metaphone
municipio
numero
numero_extenso
tipo_logradouro

Structs§

Endereco
Representa um endereço separado em seus atributos constituintes.
Padronizador
Estrutura responsável por padronizar textos de endereços com base em regras de substituição regulares condicionais.
ParSubstituicao
Representa um par de “regexp replace”. Usado internamente no Padronizador.

Functions§

normalizar
Função utilitária usada internamente para normalizar uma string para processamento posterior, removendo seus diacríticos e caracteres especiais.
obter_padronizador_por_tipo
Função utilitária utilizada nas ferramentas de CLI para selecionar um padronizador facilmente via uma string descritiva.