Crates.io | tardis-rs |
lib.rs | tardis-rs |
version | 0.1.4 |
source | src |
created_at | 2023-09-22 12:51:58.650612 |
updated_at | 2023-11-01 18:03:41.965925 |
description | A rust crate that allows you to easily replay historical market data and stream live market data through Tardis.dev's API |
homepage | https://github.com/cybotrade/tardis-rs/ |
repository | https://github.com/cybotrade/tardis-rs/ |
max_upload_size | |
id | 980533 |
size | 49,315 |
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
[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. |