Crates.io | yelp-fusion-rs |
lib.rs | yelp-fusion-rs |
version | 0.2.2 |
source | src |
created_at | 2022-09-08 06:46:41.844693 |
updated_at | 2024-09-27 05:12:25.420694 |
description | A Rust library for the Yelp Fusion API. |
homepage | https://www.toddgriffin.me/ |
repository | https://github.com/goddtriffin/yelp-fusion-rs |
max_upload_size | |
id | 660882 |
size | 87,004 |
A Rust library for the Yelp Fusion API.
Search for businesses based on custom criteria!
YELP_FUSION_API_KEY=<api_key> cargo run --example business_search
#[tokio::main]
async fn main() -> Result<(), Error> {
let yelp_fusion_api_key = env::var("YELP_FUSION_API_KEY").expect("no Yelp Fusion API key");
let yelp_fusion_client: YelpFusion = YelpFusion::new(yelp_fusion_api_key, None);
let business_search_payload: BusinessSearchPayload = BusinessSearchPayload::builder()
.coordinates(Coordinates::new(37.772_484, -122.396_68))
.radius(1609)
.categories(vec![String::from("mexican"), String::from("sandwiches")])
.limit(50)
.price(HashSet::from([
PriceType::OneDollar,
PriceType::TwoDollar,
PriceType::ThreeDollar,
PriceType::FourDollar,
]))
.open_now(false)
.build()
.unwrap();
let business_search_response: BusinessSearchResponse = yelp_fusion_client
.business_search(business_search_payload)
.await?;
println!(
"{}",
serde_json::to_string(&business_search_response).unwrap()
);
Ok(())
}
For more examples, check out the examples directory.
Built with: Rust 1.65
.
Project is under active maintenance - even if there are no recent commits! Please submit an issue / bug request if you the library needs updating for any reason!
Currently, I only have a use-case for Yelp Fusion API's Business Search endpoint, so I haven't prioritized developing the rest of the Business, Event, and Category endpoints.
I fully intend to implement all of those features so that this library can do everything the Yelp Fusion API allows.
If you have a dire need for any of those endpoints, please ping me via an issue on Github and I'll know to prioritize that work. If you're feeling extra adventurous and/or REALLY need those endpoints implemented, please send a pull request :)
make lint
cargo fmt
.make test
cargo fmt
cargo check
cargo clippy
(with insanely strict defaults)cargo test
.Made with 🤬 and 🥲 by Todd Everett Griffin.
yelp-fusion-rs
is open source under the MIT License.