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 feature machine
must be enabled in order to interact with Tardis Machine Server.
Cargo.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
use tardis_rs::{Exchange, machine::{Client, Message}};
use chrono::NaiveDate;
#[tokio::main]
async function main() {
let client = Client::new(std::env::var("TARDIS_MACHINE_WS_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. |