[workspace.package] version = "0.3.0" edition = "2024" rust-version = "1.88" license = "MIT" homepage = "https://github.com/factordynamics/paracas" repository = "https://github.com/factordynamics/paracas" documentation = "https://docs.rs/paracas" authors = ["Factor Dynamics"] keywords = ["dukascopy", "forex", "tick-data", "trading", "historical-data"] categories = ["finance", "command-line-utilities", "encoding"] [workspace] resolver = "2" members = ["crates/*", "bin", "benches"] default-members = ["bin"] [workspace.lints.rust] missing-debug-implementations = "warn" missing-docs = "warn" unreachable-pub = "warn" unused-must-use = "deny" rust-2018-idioms = "deny" unnameable-types = "warn" [workspace.lints.rustdoc] all = "warn" [workspace.lints.clippy] all = { level = "warn", priority = -1 } missing-const-for-fn = "warn" use-self = "warn" option-if-let-else = "warn" redundant-clone = "warn" [profile.dev] debug = "line-tables-only" [profile.release] opt-level = 3 lto = "thin" debug = "none" strip = "symbols" codegen-units = 16 [workspace.dependencies] # Internal crates paracas-lib = { path = "crates/paracas-lib", version = "0.3.0" } paracas-types = { path = "crates/paracas-types", version = "0.3.0" } paracas-instruments = { path = "crates/paracas-instruments", version = "0.3.0" } paracas-fetch = { path = "crates/paracas-fetch", version = "0.3.0" } paracas-aggregate = { path = "crates/paracas-aggregate", version = "0.3.0" } paracas-format = { path = "crates/paracas-format", version = "0.3.0" } paracas-estimate = { path = "crates/paracas-estimate", version = "0.3.0" } paracas-daemon = { path = "crates/paracas-daemon", version = "0.3.0" } # Async runtime futures = "0.3" async-trait = "0.1" tokio = { version = "1.42", features = ["full"] } # HTTP client bytes = "1.9" reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "gzip", "stream"] } # Compression lzma-rs = "0.3" # Serialization serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } csv-async = { version = "1.3", features = ["tokio"] } # Arrow/Parquet arrow = { version = "54", features = ["chrono-tz"] } parquet = { version = "54", features = ["async", "arrow"] } # Date/Time chrono = { version = "0.4", features = ["serde"] } # CLI inquire = "0.7" indicatif = "0.17" clap = { version = "4.5", features = ["derive"] } # Error handling anyhow = "1.0" thiserror = "2.0" # Binary parsing byteorder = "1.5" # Utilities derive_more = { version = "1.0", default-features = false, features = ["display", "from", "into"] } # Testing approx = "0.5" # Benchmarking which = "7.0" tempfile = "3.14" criterion = { version = "0.5", features = ["async_tokio", "html_reports"] } # UUID uuid = { version = "1.0", features = ["v4", "serde"] } # Directories directories = "5.0"