5 releases
0.1.3 | Apr 19, 2023 |
---|---|
0.1.2 | Apr 11, 2023 |
0.1.1 | Apr 11, 2023 |
0.1.0 | Apr 10, 2023 |
0.0.1 | Apr 3, 2023 |
#15 in #sport
37KB
621 lines
pinnacle
Rust Wrapper for Pinnacle Sports API
Note Not all of the API is currently wrapped, but it should be relatively easy to add missing endpoints. All you need to do is implement the corresponding request and probably a response. Don't hesitate to make a PR if you do.
Here are all the currently wrapped requests
.
Usage
use pinnacle::prelude::*;
let client = PinnacleClient::new("pinnacle_user", "pinnacle_password");
let req = GetStraightOdds {
sport_id: 29,
..Default::default()
};
let odds = client.get(&req).await?;
You can also use a client that caches responses, which is helpful for development purposes:
use pinnacle::prelude::*;
use std::time::Duration;
let client = PinnacleCachingClient::new(
"pinnacle_user",
"pinnacle_password",
"cache-folder",
Duration::from_secs(60 * 5),
);
let balance = client.get(&GetClientBalance).await?;
// Now, if you repeat the request within 5 minutes, the cached version will be used
// instead of making a new request.
let cached_balance = client.get(&GetClientBalance).await?;
Contributing
We appreciate all kinds of contributions, thank you!
Note on README
Most of the readme is automatically copied from the crate documentation by cargo-sync-readme. This way the readme is always in sync with the docs and examples are tested.
So if you find a part of the readme you'd like to change between <!-- cargo-sync-readme start -->
and <!-- cargo-sync-readme end -->
markers, don't edit README.md
directly, but rather change
the documentation on top of src/lib.rs
and then synchronize the readme with:
cargo sync-readme
(make sure the cargo command is installed):
cargo install cargo-sync-readme
If you have rusty-hook installed the changes will apply automatically on commit.
License
This project is licensed under the MIT license.
Dependencies
~5–16MB
~241K SLoC