Ticksupply Rust Client
Official Rust client for the Ticksupply market data API.
Installation
[]
= "0.1"
= { = "1", = ["macros", "rt-multi-thread"] }
Minimum Supported Rust Version: 1.75.
Quick Start
use Client;
async
Configuration
| Field | Default | How to set |
|---|---|---|
api_key |
$TICKSUPPLY_API_KEY (required) |
Client::with_api_key(...) or .api_key(...) |
base_url |
https://api.ticksupply.com/v1 |
.base_url(...) |
timeout |
30 s | .timeout(Duration::from_secs(60)) |
max_retries |
3 | .max_retries(5) |
user_agent |
ticksupply-rust/<version> |
.user_agent("my-bot/1.2") (appended to prefix) |
http_client |
internal reqwest::Client |
.http_client(custom) — for proxies / custom TLS |
use Duration;
let client = builder
.api_key
.timeout
.max_retries
.build?;
Resources
client.exchanges()— exchanges and per-exchange instrumentsclient.datastreams()— datastream catalog with filters across exchanges/instrumentsclient.subscriptions()— manage subscriptionsclient.exports()— create and download historical exportsclient.availability()— query data availabilityclient.export_schemas()— list, inspect, and delete saved output schemas. Creating or editing saved schemas is not yet in the Rust SDK; for custom columns today, pass a schema object toclient.exports().create(...).inline_schema(...). Full CRUD (including the draft → publish flow the Python client exposes) is planned for a future release.client.billing()— inspect plan, access status, usage
Error Handling
use ;
async
Feature Flags
| Feature | Default | Purpose |
|---|---|---|
chrono |
yes | Accept / produce chrono::DateTime<Utc> values. |
time |
no | Accept / produce time::OffsetDateTime values. |
rust_decimal |
no | Parse Decimal wire values into rust_decimal::Decimal losslessly. |
Disable defaults when you only need raw i64 nanoseconds:
= { = "0.1", = false }
Development
RUSTDOCFLAGS="-D warnings"
License
MIT