atelier_data 0.0.13

Data connectors with lightweighted connectivity and integrations for the atelier-rs engine
[package]
name = "atelier_data"
version = "0.0.13"
edition = "2024"
rust-version = "1.85.0"
description = "Data connectors with lightweighted connectivity and integrations for the atelier-rs engine"
documentation = "https://docs.rs/atelier-data/"
readme = "README.md"
homepage = "https://iteralabs.xyz/atelier-rs"
repository = "https://github.com/iteralabs/atelier-rs"
license = "Apache-2.0"
keywords = ["crypto", "framework", "machine-learning", "math", "trading"]
categories = ["data-structures", "development-tools", "finance", "simulation"]
exclude = ["*.log", ".github", "Makefile.toml", "assets/*", "tags"]
include = ["../katex-header.html", "Cargo.toml", "README.md", "src/**/*"]
publish = true

[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "katex-header.html"]
private-doc = true
license = "Apache-2.0"

[lib]
name = "atelier_data"
path = "src/lib.rs"

# ── market_sync ──

[[example]]
name = "bybit_markets"
path = "examples/market_sync/bybit/bybit_markets.rs"

[[example]]
name = "bybit_markets_load"
path = "examples/market_sync/bybit/bybit_markets_load.rs"

[[example]]
name = "multi_sync_workers"
path = "examples/multi_sync/multi_sync_workers.rs"

[[example]]
name = "coinbase_markets"
path = "examples/market_sync/coinbase/coinbase_markets.rs"

[[example]]
name = "kraken_markets"
path = "examples/market_sync/kraken/kraken_markets.rs"

# ── bybit tests ──

[[test]]
name = "test_bybit_orderbook_responses"
path = "tests/sources/bybit/order_books/test_orderbook_responses.rs"

[[test]]
name = "test_bybit_trade_responses"
path = "tests/sources/bybit/public_trades/test_public_trades_responses.rs"

[[test]]
name = "test_bybit_funding_rates_responses"
path = "tests/sources/bybit/funding_rates/test_funding_rates_responses.rs"

[[test]]
name = "test_bybit_open_interests_responses"
path = "tests/sources/bybit/open_interests/test_open_interests_responses.rs"

[[test]]
name = "test_bybit_liquidations_responses"
path = "tests/sources/bybit/liquidations/test_liquidations_responses.rs"

# ── coinbase tests ──

[[test]]
name = "test_coinbase_orderbook_responses"
path = "tests/sources/coinbase/order_books/test_orderbook_responses.rs"

[[test]]
name = "test_coinbase_trade_responses"
path = "tests/sources/coinbase/public_trades/test_trade_responses.rs"

# ── kraken tests ──

[[test]]
name = "test_kraken_orderbook_responses"
path = "tests/sources/kraken/order_books/test_orderbook_responses.rs"

[[test]]
name = "test_kraken_trade_responses"
path = "tests/sources/kraken/public_trades/test_trade_responses.rs"

# ── type tests ──

[[test]]
name = "test_sync"
path = "tests/types/order_books/test_sync.rs"

[[test]]
name = "test_event_sync"
path = "tests/types/synchronizers/test_event_sync.rs"

[[test]]
name = "test_market_snapshot"
path = "tests/types/snapshots/test_market_snapshot.rs"

[[test]]
name = "test_market_sync"
path = "tests/types/synchronizers/test_market_sync.rs"

[[test]]
name = "test_market_aggregate"
path = "tests/types/snapshots/test_market_aggregate.rs"

# ── parquet round-trip tests ──

[[test]]
name = "test_orderbook_parquet_roundtrip"
path = "tests/types/order_books/test_orderbook_parquet_roundtrip.rs"

[[test]]
name = "test_trades_parquet_roundtrip"
path = "tests/types/trades/test_trades_parquet_roundtrip.rs"

[dependencies]
anyhow = { version = "1.0" }
arrow = { version = "57.2", optional = true }
async-rate-limiter = { version = "1.0", features = ["rt-tokio"] }
async-trait = { version = "0.1" }
chrono = { version = "0.4", features = ["serde"] }
config = { version = "0.13" }
csv = { workspace = true }
futures-util = { version = "0.3" }
hex = { version = "0.4" }
hmac = { version = "0.12" }
parquet = { version = "57.2", optional = true }
rand = { workspace = true }
reqwest = { workspace = true }
rust_decimal = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
sha2 = { version = "0.10" }
tch = { version = "0.20.0", optional = true }
thiserror = { workspace = true }
tokio = { workspace = true }
tokio-tungstenite = { version = "0.21", features = ["native-tls"] }
toml = { workspace = true }
tracing = { version = "0.1" }
tracing-subscriber = { version = "0.3" }
url = { version = "2.0" }
uuid = { version = "1.0", features = ["v4"] }

[dev-dependencies]
tempfile = "3"

[features]
default = []
parquet = ["dep:arrow", "dep:parquet"]
torch = ["dep:tch"]

[lints.rust]
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(nightly)"] }
unreachable_code = "deny"
unreachable_patterns = "deny"
unsafe_code = "forbid"
unused_extern_crates = "allow"
unused_variables = "warn"