atelier_data 0.0.15

Data Artifacts and I/O for the atelier-rs engine
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85.0"
name = "atelier_data"
version = "0.0.15"
build = false
include = [
    "Cargo.toml",
    "README.md",
    "examples/**/*",
    "katex-header.html",
    "src/**/*",
    "tests/**/*",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Data Artifacts and I/O for the atelier-rs engine"
homepage = "https://iteralabs.xyz/atelier-rs"
documentation = "https://docs.rs/atelier_data/"
readme = "README.md"
keywords = [
    "crypto",
    "framework",
    "machine-learning",
    "math",
    "trading",
]
categories = [
    "data-structures",
    "development-tools",
    "finance",
    "simulation",
]
license = "Apache-2.0"
repository = "https://github.com/iteralabs/atelier-rs"
resolver = "2"

[package.metadata.docs.rs]
rustdoc-args = [
    "--html-in-header",
    "katex-header.html",
    "--cfg",
    "docsrs",
]
all-features = true

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

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

[[bin]]
name = "data_worker"
path = "src/bin/data_worker.rs"
doc = false

[[bin]]
name = "market_worker"
path = "src/bin/market_worker.rs"
doc = false

[[example]]
name = "bybit_markets"
path = "examples/market_sync/bybit/bybit_markets.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"

[[example]]
name = "market_fetch"
path = "examples/market_streams/market_fetch.rs"

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

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

[[example]]
name = "read_market_worker"
path = "examples/market_worker/read_market_worker.rs"

[[example]]
name = "run_data_worker"
path = "examples/data_worker/run_data_worker.rs"

[[example]]
name = "run_market_worker"
path = "examples/market_worker/run_market_worker.rs"

[[test]]
name = "test_binance_orderbook_responses"
path = "tests/sources/binance/order_books/test_orderbook_responses.rs"

[[test]]
name = "test_binance_trade_responses"
path = "tests/sources/binance/public_trades/test_trade_responses.rs"

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

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

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

[[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_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"

[[test]]
name = "test_connection_manager"
path = "tests/clients/connections/test_connection_manager.rs"

[[test]]
name = "test_data_worker_connections"
path = "tests/workers/test_data_worker_connections.rs"

[[test]]
name = "test_data_worker_markets"
path = "tests/workers/test_data_worker_markets.rs"

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

[[test]]
name = "test_http_builder"
path = "tests/clients/http/test_builder.rs"

[[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"

[[test]]
name = "test_market_aggregate"
path = "tests/types/snapshots/test_market_aggregate.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_orderbook_parquet_roundtrip"
path = "tests/types/order_books/test_orderbook_parquet_roundtrip.rs"

[[test]]
name = "test_pipeline"
path = "tests/workers/test_pipeline.rs"

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

[[test]]
name = "test_temporal_resolutions"
path = "tests/types/temporal/test_resolutions.rs"

[[test]]
name = "test_temporal_validations"
path = "tests/types/temporal/test_validations.rs"

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

[[test]]
name = "test_worker_gap_detector"
path = "tests/workers/test_worker_gap_detector.rs"

[[test]]
name = "test_wss_builder"
path = "tests/clients/wss/test_builder.rs"

[[test]]
name = "test_wss_connectivity"
path = "tests/clients/wss/test_connectivity.rs"

[[test]]
name = "test_wss_decoder"
path = "tests/clients/wss/test_decoder.rs"

[dependencies.anyhow]
version = "1.0"

[dependencies.arrow]
version = "57.2"
optional = true

[dependencies.async-rate-limiter]
version = "1.0"
features = ["rt-tokio"]

[dependencies.async-trait]
version = "0.1"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4.5"
features = ["derive"]

[dependencies.csv]
version = "1.3"

[dependencies.futures-util]
version = "0.3"

[dependencies.hex]
version = "0.4"

[dependencies.hmac]
version = "0.12"

[dependencies.parquet]
version = "57.2"
optional = true

[dependencies.rand]
version = "0.9.0"

[dependencies.reqwest]
version = "0.12"
features = ["json"]

[dependencies.rust_decimal]
version = "1.34"
features = ["serde"]

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "derive",
]

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.10"

[dependencies.tch]
version = "0.20.0"
optional = true

[dependencies.thiserror]
version = "1.0.64"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tokio-tungstenite]
version = "0.21"
features = ["native-tls"]

[dependencies.toml]
version = "0.8"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[dependencies.url]
version = "2.0"

[dependencies.uuid]
version = "1.0"
features = ["v4"]

[dev-dependencies.async-rate-limiter]
version = "1.0"
features = ["rt-tokio"]

[dev-dependencies.async-trait]
version = "0.1"

[dev-dependencies.futures-util]
version = "0.3"

[dev-dependencies.reqwest]
version = "0.12"
features = ["json"]

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
version = "1"
features = ["full"]

[dev-dependencies.tokio-tungstenite]
version = "0.21"

[dev-dependencies.url]
version = "2.0"

[lints.rust]
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unreachable_code = "deny"
unreachable_patterns = "deny"
unsafe_code = "forbid"
unused_extern_crates = "allow"
unused_variables = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(nightly)"]