Skip to content

guibranco/viacep-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

67 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ViaCEP Rust client

πŸ‡§πŸ‡·πŸ“ViaCEP client wrapper for Rust projects.

GitHub last commit (branch) Crates.io wakatime

CodeFactor

Service Status
AppVeyor CI Build status
crates.io crates.io

Pure Rust bindings to the ViaCEP API.

Dependencies and support

viacep-rs is intended to work on all tier 1 supported Rust systems:

  • MacOSX
  • Linux
  • Windows

Minimum Compiler Version

Due to the use of certain features viacep-rs requires rustc version 1.18 or higher.

Getting Started

Add the following to your Cargo.toml

[dependencies]
viacep_rs = "0.2.0"
serde_json = "1.0"

Then in your lib.rs or main.rs file add:

extern crate viacep_rs;

let client = ViaCepClient::new();

// Single Zip Code data 
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);
    }
}

//Find by address data
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);
        }
    }
}

License

Licensed under

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •