16 releases (5 breaking)
Uses new Rust 2024
| new 0.6.4 | Nov 8, 2025 |
|---|---|
| 0.6.1 | Oct 24, 2025 |
| 0.5.0 | Apr 25, 2025 |
| 0.1.2 | Dec 24, 2024 |
#880 in Network programming
206 downloads per month
Used in 2 crates
91KB
2K
SLoC
betfair-adapter-rs
Utilities for interacting with the Betfair API (API‑NG and Streaming) from Rust.
Features
- High‑level API‑NG client (
betfair-adapter) with typed requests and responses - API‑NG models in
betfair-types - Streaming API client with internal caching (
betfair-stream-apiandbetfair-stream-types) - Low‑level XML parser for Betfair messages (
betfair-xml-parser) - Mock RPC server for testing (
betfair-rpc-server-mock) - Code generation for API definitions (
betfair-typegen) - TLS certificate generation for streaming (
betfair-cert-gen) - Examples and
xtaskautomation for development workflows
Crate Overview
- betfair-adapter: High‑level async client for API‑NG
- betfair-types: API‑NG request/response types
- betfair-stream-types: Streaming API message types
- betfair-stream-api: Streaming client, cache, and trackers
- betfair-xml-parser: XML parser utilities
- betfair-rpc-server-mock: Mock Betfair RPC server for integration tests
- betfair-typegen: Code generator for API definitions
- betfair-cert-gen: Generate TLS certificates for streaming connections
See the examples/ directory for complete guides.
Working with Numeric Values
This library uses f64 for numeric values like Price and Size. Helper macros are provided for creating these values:
num!- Creates f64 values forPrice,Size, etc.num_ord!- CreatesF64Ordvalues (f64 with Eq/Ord/Hash traits)num_u8!- Creates u8 values for position and other small integers
use betfair_types::num;
let price = Price::new(num!(1.5))?;
let size = Size::from(num!(100.0));
Development
Clone the repository and explore available tasks:
git clone https://github.com/roberts-pumpurs/betfair-adapter-rs.git
cd betfair-adapter-rs
cargo xtask --help
Run tests, lint checks, and formatters:
cargo xtask test
cargo xtask clippy
cargo xtask fmt
Contributing
Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md for guidelines.
License
Licensed under the MIT OR Apache-2.0 license at your choice:
Dependencies
~8–27MB
~340K SLoC