API Clients (REST, WebSocket) for Tardis.dev.
tardis-rs
allows you to easily replay historical market data and stream live market data through
Tardis.dev's API.
[!WARNING]
NOTE: The featuremachine
must be enabled in order to interact with Tardis Machine Server.
Cargo.toml
```toml [package] name = "example" version = "0.1.0" edition = "2021"
[dependencies] tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tardis-rs = { version = "0.1", features = ["machine"] } ```
main.rs
```rust use tardis_rs::{Exchange, machine::{Client, Message}}; use chrono::NaiveDate;
async function main() { let client = Client::new(std::env::var("TARDISMACHINEWS_URL").unwrap());
let stream = client
.replay_normalized(vec![ReplayNormalizedRequestOptions {
exchange: Exchange::Bybit,
symbols: Some(vec!["BTCUSDT".to_string()]),
from: NaiveDate::from_ymd_opt(2022, 10, 1).unwrap(),
to: NaiveDate::from_ymd_opt(2022, 10, 2).unwrap(),
data_types: vec!["trade_bar_60m".to_string()],
with_disconnect_messages: None,
}])
.await
.unwrap();
pin_mut!(stream);
while let Some(msg) = stream.next().await {
println!("Received trade bar: {:?}", message);
}
} ```
To avoid compiling unused dependencies, tardis-rs gates certain features, some of which are disabled by default:
| Feature | Description | |------------|---------------------------------------------------------------------------------------------| | machine | Enables the client for Tardis Machine Server. |