6 releases
0.2.2 | Sep 27, 2024 |
---|---|
0.2.1 | Feb 7, 2024 |
0.2.0 | Mar 6, 2023 |
0.1.3 | Mar 6, 2023 |
0.1.1 | Sep 11, 2022 |
#968 in Web programming
194 downloads per month
45KB
601 lines
yelp-fusion-rs
A Rust library for the Yelp Fusion API.
Features
- Business Endpoints (TODO)
- Event Endpoints (TODO)
- Category Endpoints (TODO)
Examples
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.
Developers
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!
Feature Requests
Implement the rest of the features: Business, Event, Category endpoints
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 :)
Commands
make lint
- Lints the codebase via
cargo fmt
.
- Lints the codebase via
make test
- Tests the codebase via:
cargo fmt
cargo check
cargo clippy
(with insanely strict defaults)cargo test
.
- Tests the codebase via:
Credits
Made with 🤬 and 🥲 by Todd Everett Griffin.
yelp-fusion-rs
is open source under the MIT License.
Dependencies
~6–17MB
~236K SLoC