Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 4 additions & 69 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ license = "MIT"
keywords = ["trading", "backtesting", "hyperliquid", "cryptocurrency", "defi"]
categories = ["finance", "api-bindings", "algorithms", "simulation", "mathematics"]
readme = "README.md"
autoexamples = false
exclude = [
"target/*",
".git/*",
Expand All @@ -39,79 +40,13 @@ include = [
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

# API Stability and Versioning Strategy
#
# This crate follows Semantic Versioning (SemVer):
# - MAJOR version (0.x.y → 1.0.0): Breaking API changes
# - MINOR version (0.1.x → 0.2.0): New features, backward compatible
# - PATCH version (0.1.0 → 0.1.1): Bug fixes, backward compatible
#
# Pre-1.0 Development Phase (Current: 0.1.0):
# - Public API may change between minor versions
# - Breaking changes will be documented in CHANGELOG.md
# - Migration guides provided for significant changes
#
# Post-1.0 Stability Guarantees:
# - Public API in prelude module is stable within major versions
# - Core data structures (HyperliquidData, HyperliquidBacktest) are stable
# - Error types may add variants but not remove them within major versions
# - Strategy trait interfaces are stable for implementors

[dependencies]
# Core async runtime
tokio = { version = "1.0", features = ["full"] }

# Date and time handling
chrono = { version = "0.4", features = ["serde"] }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# Error handling
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
thiserror = "1.0"
anyhow = "1.0"

# CSV handling
csv = "1.3"

# Hyperliquid SDK
hyperliquid_rust_sdk = "0.6.0"

# Backtesting framework
rs-backtester = "0.1.2"

# HTTP client
reqwest = { version = "0.11", features = ["json"] }

# Logging and debugging
log = "0.4"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }

# Random number generation
rand = "0.8"
rand_distr = "0.4"

# UUID generation
uuid = { version = "1.0", features = ["v4"] }

# Temporary file handling
tempfile = "3.8"

[dev-dependencies]
tokio-test = "0.4"
criterion = { version = "0.5", features = ["html_reports"] }
mockito = "1.2"
wiremock = "0.5"
proptest = "1.4"
memory-stats = "1.1"
sysinfo = "0.29"
futures = "0.3"
tempfile = "3.8"
tracing = "0.1"
tracing-subscriber = "0.3"
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }

[[example]]
name = "mode_reporting_example"
path = "examples/mode_reporting_example.rs"
path = "examples/mode_reporting_example.rs"
Loading