π§π·π ViaCEP client wrapper for Rust projects.
| Service | Status |
|---|---|
| AppVeyor CI | |
| crates.io |
Pure Rust bindings to the ViaCEP API.
viacep-rs is intended to work on all tier 1 supported Rust systems:
- macOS
- Linux
- Windows
viacep-rs requires rustc version 1.56 or higher (Rust 2021 edition).
Add the following to your Cargo.toml:
[dependencies]
viacep_rs = "0.2.0"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }Then in your lib.rs or main.rs file:
use viacep_rs::ViaCepClient;
let client = ViaCepClient::new();
// Single Zip Code lookup
match client.get_zipcode("03177010") {
Err(e) => eprintln!("{:?}", e),
Ok(data) => {
let cep = data.unwrap();
println!(
"IBGE: {} | Address: {} | Neighborhood: {} | City: {} | UF: {}",
cep.ibge, cep.address, cep.neighborhood, cep.city, cep.state_initials
);
}
}
// Search by address
match client.search("SP", "SΓ£o Paulo", "Paulista") {
Err(e) => eprintln!("{:?}", e),
Ok(data) => {
let addresses = data.unwrap();
for address in addresses {
println!(
"IBGE: {} | Address: {} | City: {} | Zip: {}",
address.ibge, address.address, address.city, address.zip
);
}
}
}Licensed under the MIT license (LICENSE or http://opensource.org/licenses/MIT).