1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//! # The Odds API Rust SDK
//!
//! A comprehensive Rust SDK for [The Odds API](https://the-odds-api.com/), providing
//! access to sports betting odds, scores, and related data from bookmakers worldwide.
//!
//! ## Features
//!
//! - Full coverage of The Odds API v4 endpoints
//! - Strongly-typed request parameters and responses
//! - Builder pattern for flexible request configuration
//! - Async/await support with `reqwest`
//! - API usage tracking via response headers
//! - Comprehensive error handling
//!
//! ## Quick Start
//!
//! ```no_run
//! use the_odds_api::{TheOddsApiClient, Region, Market};
//!
//! #[tokio::main]
//! async fn main() -> the_odds_api::Result<()> {
//! // Create a client with your API key
//! let client = TheOddsApiClient::new("your-api-key");
//!
//! // Get all in-season sports
//! let sports = client.get_sports().await?;
//! println!("Found {} sports", sports.data.len());
//!
//! // Get NFL odds from US bookmakers
//! let odds = client
//! .get_odds("americanfootball_nfl")
//! .regions(&[Region::Us])
//! .markets(&[Market::H2h, Market::Spreads])
//! .send()
//! .await?;
//!
//! // Check API usage
//! println!("Requests remaining: {:?}", odds.usage.requests_remaining);
//!
//! Ok(())
//! }
//! ```
//!
//! ## Endpoints
//!
//! | Endpoint | Method | Quota Cost |
//! |----------|--------|------------|
//! | Sports | `get_sports()` | Free |
//! | Events | `get_events(sport)` | Free |
//! | Odds | `get_odds(sport)` | markets × regions |
//! | Scores | `get_scores(sport)` | 1 (or 2 with `days_from`) |
//! | Event Odds | `get_event_odds(sport, event_id)` | markets × regions |
//! | Event Markets | `get_event_markets(sport, event_id)` | 1 |
//! | Participants | `get_participants(sport)` | 1 |
//! | Historical Odds | `get_historical_odds(sport)` | 10 × markets × regions |
//! | Historical Events | `get_historical_events(sport)` | 1 |
//! | Historical Event Odds | `get_historical_event_odds(sport, event_id)` | markets × regions |
//!
//! ## Configuration
//!
//! Use the builder pattern for advanced configuration:
//!
//! ```no_run
//! use the_odds_api::TheOddsApiClient;
//!
//! let client = TheOddsApiClient::builder("your-api-key")
//! .use_ipv6() // Use IPv6 endpoint
//! .build();
//! ```
pub use *;
pub use ;
pub use *;
pub use *;