From bb208b29b21003e7a4192dfd497c0aac3470bd93 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Fri, 27 Feb 2026 20:52:06 +0100 Subject: [PATCH] fix(deps): unify workspace dependency versions and clean up CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Upgrade dashmap 6.0→6.1, tokio-tungstenite 0.21→0.24 in workspace - Upgrade rust-version 1.75→1.85 (CI uses Rust 1.89) - Remove unused arrayfire from ml crate - Unify member crates to use workspace = true (nalgebra, dashmap, tokio-tungstenite) - Fix data crate WebSocket connect calls for tungstenite 0.24 API (Url→str) - Remove redundant KUBERNETES_RUNTIME_CLASS_NAME from training templates (runner rev 34 sets nvidia runtime globally) Co-Authored-By: Claude Opus 4.6 --- .gitlab-ci.yml | 9 +- Cargo.lock | 332 ++++++------------ Cargo.toml | 6 +- crates/data/Cargo.toml | 4 +- .../providers/databento/websocket_client.rs | 2 +- .../data/src/providers/databento_streaming.rs | 2 +- crates/ml/Cargo.toml | 3 +- services/trading_agent_service/Cargo.toml | 2 +- services/trading_service/Cargo.toml | 2 +- 9 files changed, 112 insertions(+), 250 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 615bb6134..e59e96a08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -433,7 +433,7 @@ build-training: # Runner default node_selector: pool=ci-compile (L4-1-24G) # training-data-pvc + sccache-pvc mounted via runner config variables: - KUBERNETES_RUNTIME_CLASS_NAME: nvidia + # nvidia runtime provided by runner default (runtime_class_name = "nvidia") # RL is single-threaded (~1 core actual), 2000m allows 2 concurrent on L4 KUBERNETES_CPU_REQUEST: "2000m" KUBERNETES_CPU_LIMIT: "3800m" @@ -463,7 +463,7 @@ build-training: - kapsule - gpu variables: - KUBERNETES_RUNTIME_CLASS_NAME: nvidia + # nvidia runtime provided by runner default (runtime_class_name = "nvidia") # Route to L40S pool (48GB VRAM for large supervised models) # Overrides runner default pool=ci-compile KUBERNETES_NODE_SELECTOR_pool: "pool=ci-training" @@ -1254,9 +1254,8 @@ deploy: tags: - kapsule variables: - # Deploy only needs kubectl — route to services pool, not GPU nodes - # Overrides runner default pool=ci-compile - KUBERNETES_NODE_SELECTOR_pool: "pool=services" + # Deploy runs on ci-compile (nvidia runtime required by runner default). + # 200m CPU fits alongside compile since deploy runs in a later stage. KUBERNETES_CPU_REQUEST: "200m" KUBERNETES_CPU_LIMIT: "500m" KUBERNETES_MEMORY_REQUEST: "256Mi" diff --git a/Cargo.lock b/Cargo.lock index a39c81ef9..c98632a24 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -344,7 +344,7 @@ checksum = "a8798ca7447753fcb3dd98d9095335b1564812a68c6e7c3d1926e1d5cf094e37" dependencies = [ "anyhow", "cfg-if", - "num-complex 0.4.6", + "num-complex", "num-integer", "num-traits", "rand 0.8.5", @@ -363,22 +363,6 @@ dependencies = [ "password-hash", ] -[[package]] -name = "arrayfire" -version = "3.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02d832c30a1d99b71e4a6dcd5d888155ce030dd8d9b501357e60b87a60d5d3b" -dependencies = [ - "half 1.8.3", - "lazy_static", - "libc", - "num 0.2.1", - "rustc_version 0.2.3", - "serde", - "serde_derive", - "serde_json", -] - [[package]] name = "arrayvec" version = "0.7.6" @@ -435,7 +419,7 @@ dependencies = [ "arrow-data 55.2.0", "arrow-schema 55.2.0", "chrono", - "num 0.4.3", + "num", ] [[package]] @@ -449,7 +433,7 @@ dependencies = [ "arrow-data 56.2.0", "arrow-schema 56.2.0", "chrono", - "num 0.4.3", + "num", ] [[package]] @@ -463,9 +447,9 @@ dependencies = [ "arrow-data 55.2.0", "arrow-schema 55.2.0", "chrono", - "half 2.6.0", + "half", "hashbrown 0.15.5", - "num 0.4.3", + "num", ] [[package]] @@ -479,9 +463,9 @@ dependencies = [ "arrow-data 56.2.0", "arrow-schema 56.2.0", "chrono", - "half 2.6.0", + "half", "hashbrown 0.16.0", - "num 0.4.3", + "num", ] [[package]] @@ -491,8 +475,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "169b1d5d6cb390dd92ce582b06b23815c7953e9dfaaea75556e89d890d19993d" dependencies = [ "bytes", - "half 2.6.0", - "num 0.4.3", + "half", + "num", ] [[package]] @@ -502,8 +486,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e003216336f70446457e280807a73899dd822feaf02087d31febca1363e2fccc" dependencies = [ "bytes", - "half 2.6.0", - "num 0.4.3", + "half", + "num", ] [[package]] @@ -521,9 +505,9 @@ dependencies = [ "base64 0.22.1", "chrono", "comfy-table", - "half 2.6.0", + "half", "lexical-core", - "num 0.4.3", + "num", "ryu", ] @@ -541,9 +525,9 @@ dependencies = [ "atoi", "base64 0.22.1", "chrono", - "half 2.6.0", + "half", "lexical-core", - "num 0.4.3", + "num", "ryu", ] @@ -570,8 +554,8 @@ checksum = "8de1ce212d803199684b658fc4ba55fb2d7e87b213de5af415308d2fee3619c2" dependencies = [ "arrow-buffer 55.2.0", "arrow-schema 55.2.0", - "half 2.6.0", - "num 0.4.3", + "half", + "num", ] [[package]] @@ -582,8 +566,8 @@ checksum = "a5c64fff1d142f833d78897a772f2e5b55b36cb3e6320376f0961ab0db7bd6d0" dependencies = [ "arrow-buffer 56.2.0", "arrow-schema 56.2.0", - "half 2.6.0", - "num 0.4.3", + "half", + "num", ] [[package]] @@ -625,11 +609,11 @@ dependencies = [ "arrow-data 55.2.0", "arrow-schema 55.2.0", "chrono", - "half 2.6.0", + "half", "indexmap 2.11.4", "lexical-core", "memchr", - "num 0.4.3", + "num", "serde", "serde_json", "simdutf8", @@ -671,7 +655,7 @@ dependencies = [ "arrow-buffer 55.2.0", "arrow-data 55.2.0", "arrow-schema 55.2.0", - "half 2.6.0", + "half", ] [[package]] @@ -684,7 +668,7 @@ dependencies = [ "arrow-buffer 56.2.0", "arrow-data 56.2.0", "arrow-schema 56.2.0", - "half 2.6.0", + "half", ] [[package]] @@ -710,7 +694,7 @@ dependencies = [ "arrow-buffer 55.2.0", "arrow-data 55.2.0", "arrow-schema 55.2.0", - "num 0.4.3", + "num", ] [[package]] @@ -724,7 +708,7 @@ dependencies = [ "arrow-buffer 56.2.0", "arrow-data 56.2.0", "arrow-schema 56.2.0", - "num 0.4.3", + "num", ] [[package]] @@ -739,7 +723,7 @@ dependencies = [ "arrow-schema 55.2.0", "arrow-select 55.2.0", "memchr", - "num 0.4.3", + "num", "regex", "regex-syntax", ] @@ -756,7 +740,7 @@ dependencies = [ "arrow-schema 56.2.0", "arrow-select 56.2.0", "memchr", - "num 0.4.3", + "num", "regex", "regex-syntax", ] @@ -927,7 +911,7 @@ dependencies = [ "arrayvec", "log", "nom", - "num-rational 0.4.2", + "num-rational", "v_frame", ] @@ -1366,7 +1350,7 @@ dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", "aws-smithy-types", - "rustc_version 0.4.1", + "rustc_version", "tracing", ] @@ -1400,7 +1384,7 @@ dependencies = [ "sha1", "sync_wrapper 1.0.2", "tokio", - "tokio-tungstenite 0.24.0", + "tokio-tungstenite", "tower 0.5.2", "tower-layer", "tower-service", @@ -1568,7 +1552,7 @@ dependencies = [ "risk", "rust_decimal", "rustls 0.23.32", - "semver 1.0.27", + "semver", "serde", "serde_json", "serial_test", @@ -1662,7 +1646,7 @@ checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" dependencies = [ "autocfg", "libm", - "num-bigint 0.4.6", + "num-bigint", "num-integer", "num-traits", "serde", @@ -1960,7 +1944,7 @@ dependencies = [ "cudarc", "float8 0.4.2", "gemm", - "half 2.6.0", + "half", "memmap2", "num-traits", "num_cpus", @@ -1989,7 +1973,7 @@ version = "0.9.1" source = "git+https://github.com/huggingface/candle?rev=671de1db#671de1dbbac6542b3f005ed3847bba5add4ae3da" dependencies = [ "candle-core", - "half 2.6.0", + "half", "libc", "num-traits", "rayon", @@ -2129,7 +2113,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", - "half 2.6.0", + "half", ] [[package]] @@ -2786,7 +2770,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ba848ae5c6f3cb36e71eab5f268763e3fabcabe3f7bc683e16f7fa3d46281e" dependencies = [ "float8 0.3.0", - "half 2.6.0", + "half", "libloading", ] @@ -2942,13 +2926,13 @@ dependencies = [ "tokio-native-tls", "tokio-stream", "tokio-test", - "tokio-tungstenite 0.21.0", + "tokio-tungstenite", "tokio-util", "toml", "tracing", "tracing-subscriber", "trading_engine", - "tungstenite 0.21.0", + "tungstenite", "url", "uuid", "webpki-roots 0.26.11", @@ -3161,7 +3145,7 @@ dependencies = [ "asn1-rs", "displaydoc", "nom", - "num-bigint 0.4.6", + "num-bigint", "num-traits", "rusticata-macros", ] @@ -3578,7 +3562,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" dependencies = [ "bit_field", - "half 2.6.0", + "half", "lebe", "miniz_oxide", "rayon-core", @@ -3668,7 +3652,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09b6620799e7340ebd9968d2e0708eb82cf1971e9a16821e2091b6d6e475eed5" dependencies = [ "bitflags 2.9.4", - "rustc_version 0.4.1", + "rustc_version", ] [[package]] @@ -3702,7 +3686,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f498aec3b227cd892ce18967f4033d9d397d28a80a7ab67e9f6b0176a79654e" dependencies = [ - "half 2.6.0", + "half", ] [[package]] @@ -3712,7 +3696,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4203231de188ebbdfb85c11f3c20ca2b063945710de04e7b59268731e728b462" dependencies = [ "cudarc", - "half 2.6.0", + "half", "num-traits", "rand 0.9.2", "rand_distr 0.5.1", @@ -4124,7 +4108,7 @@ dependencies = [ "gemm-f16", "gemm-f32", "gemm-f64", - "num-complex 0.4.6", + "num-complex", "num-traits", "paste", "raw-cpuid", @@ -4139,7 +4123,7 @@ checksum = "f6db9fd9f40421d00eea9dd0770045a5603b8d684654816637732463f4073847" dependencies = [ "dyn-stack", "gemm-common", - "num-complex 0.4.6", + "num-complex", "num-traits", "paste", "raw-cpuid", @@ -4154,7 +4138,7 @@ checksum = "dfcad8a3d35a43758330b635d02edad980c1e143dc2f21e6fd25f9e4eada8edf" dependencies = [ "dyn-stack", "gemm-common", - "num-complex 0.4.6", + "num-complex", "num-traits", "paste", "raw-cpuid", @@ -4169,9 +4153,9 @@ checksum = "a352d4a69cbe938b9e2a9cb7a3a63b7e72f9349174a2752a558a8a563510d0f3" dependencies = [ "bytemuck", "dyn-stack", - "half 2.6.0", + "half", "libm", - "num-complex 0.4.6", + "num-complex", "num-traits", "once_cell", "paste", @@ -4191,8 +4175,8 @@ dependencies = [ "dyn-stack", "gemm-common", "gemm-f32", - "half 2.6.0", - "num-complex 0.4.6", + "half", + "num-complex", "num-traits", "paste", "raw-cpuid", @@ -4208,7 +4192,7 @@ checksum = "bc8d3d4385393304f407392f754cd2dc4b315d05063f62cf09f47b58de276864" dependencies = [ "dyn-stack", "gemm-common", - "num-complex 0.4.6", + "num-complex", "num-traits", "paste", "raw-cpuid", @@ -4223,7 +4207,7 @@ checksum = "35b2a4f76ce4b8b16eadc11ccf2e083252d8237c1b589558a49b0183545015bd" dependencies = [ "dyn-stack", "gemm-common", - "num-complex 0.4.6", + "num-complex", "num-traits", "paste", "raw-cpuid", @@ -4396,12 +4380,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "half" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" - [[package]] name = "half" version = "2.6.0" @@ -5962,7 +5940,6 @@ dependencies = [ "approx", "argmin", "argmin-math", - "arrayfire", "arrow 56.2.0", "async-trait", "aws-config", @@ -5993,7 +5970,7 @@ dependencies = [ "fs2", "futures", "futures-test", - "half 2.6.0", + "half", "hex", "hmac", "insta", @@ -6004,7 +5981,7 @@ dependencies = [ "mimalloc", "nalgebra 0.33.2", "ndarray", - "num 0.4.3", + "num", "num-traits", "num_cpus", "once_cell", @@ -6021,7 +5998,7 @@ dependencies = [ "risk", "rstest 0.22.0", "rust_decimal", - "semver 1.0.27", + "semver", "serde", "serde_json", "serde_yaml", @@ -6175,7 +6152,7 @@ dependencies = [ "common", "lru", "parking_lot 0.12.5", - "semver 1.0.27", + "semver", "serde", "serde_json", "storage", @@ -6208,8 +6185,8 @@ dependencies = [ "approx", "matrixmultiply", "nalgebra-macros", - "num-complex 0.4.6", - "num-rational 0.4.2", + "num-complex", + "num-rational", "num-traits", "rand 0.8.5", "rand_distr 0.4.3", @@ -6226,8 +6203,8 @@ dependencies = [ "approx", "matrixmultiply", "nalgebra-macros", - "num-complex 0.4.6", - "num-rational 0.4.2", + "num-complex", + "num-rational", "num-traits", "rand 0.8.5", "rand_distr 0.4.3", @@ -6271,7 +6248,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" dependencies = [ "matrixmultiply", - "num-complex 0.4.6", + "num-complex", "num-integer", "num-traits", "rawpointer", @@ -6361,42 +6338,17 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "num" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" -dependencies = [ - "num-bigint 0.2.6", - "num-complex 0.2.4", - "num-integer", - "num-iter", - "num-rational 0.2.4", - "num-traits", -] - [[package]] name = "num" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "num-bigint 0.4.6", - "num-complex 0.4.6", + "num-bigint", + "num-complex", "num-integer", "num-iter", - "num-rational 0.4.2", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", + "num-rational", "num-traits", ] @@ -6427,16 +6379,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "num-complex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" -dependencies = [ - "autocfg", - "num-traits", -] - [[package]] name = "num-complex" version = "0.4.6" @@ -6485,25 +6427,13 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "num-bigint 0.4.6", + "num-bigint", "num-integer", "num-traits", ] @@ -6918,10 +6848,10 @@ dependencies = [ "base64 0.22.1", "bytes", "chrono", - "half 2.6.0", + "half", "hashbrown 0.16.0", - "num 0.4.3", - "num-bigint 0.4.6", + "num", + "num-bigint", "paste", "seq-macro", "snap", @@ -6971,7 +6901,7 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf9027960355bf3afff9841918474a81a5f972ac6d226d518060bba758b5ad57" dependencies = [ - "rustc_version 0.4.1", + "rustc_version", ] [[package]] @@ -7343,7 +7273,7 @@ checksum = "c620a1858d6ebf10d7c60256629078b2d106968d0e6ff63b850d9ecd84008fbe" dependencies = [ "anyhow", "flate2", - "num 0.4.3", + "num", "paste", "prost 0.11.9", ] @@ -7686,7 +7616,7 @@ dependencies = [ "bytemuck", "cfg-if", "libm", - "num-complex 0.4.6", + "num-complex", "reborrow", "version_check", ] @@ -8078,7 +8008,7 @@ dependencies = [ "futures-util", "itertools 0.13.0", "itoa", - "num-bigint 0.4.6", + "num-bigint", "percent-encoding", "pin-project-lite", "ryu", @@ -8325,7 +8255,7 @@ dependencies = [ "lazy_static", "nalgebra 0.33.2", "ndarray", - "num 0.4.3", + "num", "num-traits", "prometheus", "proptest", @@ -8434,7 +8364,7 @@ dependencies = [ "futures", "futures-timer", "rstest_macros 0.18.2", - "rustc_version 0.4.1", + "rustc_version", ] [[package]] @@ -8446,7 +8376,7 @@ dependencies = [ "futures", "futures-timer", "rstest_macros 0.22.0", - "rustc_version 0.4.1", + "rustc_version", ] [[package]] @@ -8461,7 +8391,7 @@ dependencies = [ "quote", "regex", "relative-path", - "rustc_version 0.4.1", + "rustc_version", "syn 2.0.106", "unicode-ident", ] @@ -8479,7 +8409,7 @@ dependencies = [ "quote", "regex", "relative-path", - "rustc_version 0.4.1", + "rustc_version", "syn 2.0.106", "unicode-ident", ] @@ -8539,22 +8469,13 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.27", + "semver", ] [[package]] @@ -8969,15 +8890,6 @@ dependencies = [ "libc", ] -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - [[package]] name = "semver" version = "1.0.27" @@ -8988,12 +8900,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - [[package]] name = "seq-macro" version = "0.3.6" @@ -9236,7 +9142,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" dependencies = [ "approx", - "num-complex 0.4.6", + "num-complex", "num-traits", "paste", "wide", @@ -9249,7 +9155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c99284beb21666094ba2b75bbceda012e610f5479dfcc2d6e2426f53197ffd95" dependencies = [ "approx", - "num-complex 0.4.6", + "num-complex", "num-traits", "paste", "wide", @@ -9288,7 +9194,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ - "num-bigint 0.4.6", + "num-bigint", "num-traits", "thiserror 2.0.17", "time", @@ -9649,7 +9555,7 @@ dependencies = [ "log", "md-5", "memchr", - "num-bigint 0.4.6", + "num-bigint", "once_cell", "rand 0.8.5", "rust_decimal", @@ -10137,7 +10043,7 @@ dependencies = [ "jsonwebtoken", "lazy_static", "ml", - "num 0.4.3", + "num", "parking_lot 0.12.5", "perf-event", "quickcheck", @@ -10243,7 +10149,7 @@ checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" dependencies = [ "fax", "flate2", - "half 2.6.0", + "half", "quick-error 2.0.1", "weezl", "zune-jpeg", @@ -10426,17 +10332,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls 0.22.4", - "rustls-pki-types", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.26.4" @@ -10472,22 +10367,6 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "tokio-tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" -dependencies = [ - "futures-util", - "log", - "rustls 0.22.4", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.25.0", - "tungstenite 0.21.0", - "webpki-roots 0.26.11", -] - [[package]] name = "tokio-tungstenite" version = "0.24.0" @@ -10496,8 +10375,12 @@ checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" dependencies = [ "futures-util", "log", + "rustls 0.23.32", + "rustls-pki-types", "tokio", - "tungstenite 0.24.0", + "tokio-rustls 0.26.4", + "tungstenite", + "webpki-roots 0.26.11", ] [[package]] @@ -10985,7 +10868,7 @@ dependencies = [ "hyper 1.7.0", "hyper-util", "ml", - "nalgebra 0.32.6", + "nalgebra 0.33.2", "num-traits", "once_cell", "prometheus", @@ -11117,7 +11000,7 @@ dependencies = [ "risk", "rust_decimal", "secrecy 0.8.0", - "semver 1.0.27", + "semver", "serde", "serde_json", "serial_test", @@ -11128,7 +11011,7 @@ dependencies = [ "thiserror 1.0.69", "tokio", "tokio-stream", - "tokio-tungstenite 0.24.0", + "tokio-tungstenite", "tonic 0.14.2", "tonic-health", "tonic-prost", @@ -11213,27 +11096,6 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" -[[package]] -name = "tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 1.3.1", - "httparse", - "log", - "rand 0.8.5", - "rustls 0.22.4", - "rustls-pki-types", - "sha1", - "thiserror 1.0.69", - "url", - "utf-8", -] - [[package]] name = "tungstenite" version = "0.24.0" @@ -11247,6 +11109,8 @@ dependencies = [ "httparse", "log", "rand 0.8.5", + "rustls 0.23.32", + "rustls-pki-types", "sha1", "thiserror 1.0.69", "utf-8", @@ -11297,10 +11161,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76b761acf8af3494640d826a8609e2265e19778fb43306c7f15379c78c9b05b0" dependencies = [ "gemm", - "half 2.6.0", + "half", "libloading", "memmap2", - "num 0.4.3", + "num", "num-traits", "num_cpus", "rayon", @@ -11318,7 +11182,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f0a1fa748f26166778c33b8498255ebb7c6bffb472bcc0a72839e07ebb1d9b5" dependencies = [ "cudarc", - "half 2.6.0", + "half", "serde", "thiserror 1.0.69", "ug", diff --git a/Cargo.toml b/Cargo.toml index a671f57ef..644cd14a5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -148,7 +148,7 @@ exclude = [ [workspace.package] version = "1.0.0" edition = "2021" -rust-version = "1.75" +rust-version = "1.85" authors = ["Foxhunt HFT Trading System"] license = "MIT OR Apache-2.0" repository = "https://github.com/user/foxhunt" @@ -219,7 +219,7 @@ lazy_static = "1.4" memmap2 = "0.9" libc = "0.2" num_cpus = "1.16" -dashmap = { version = "6.0", features = ["serde"] } +dashmap = { version = "6.1", features = ["serde"] } bytes = "1.5" smallvec = { version = "1.11", features = ["serde", "const_generics"] } prometheus = "0.14" @@ -253,7 +253,7 @@ zeroize = { version = "1.8", features = ["std", "zeroize_derive"] } vaultrs = "0.7" # Broker connectivity -tokio-tungstenite = { version = "0.21" } +tokio-tungstenite = { version = "0.24" } xml-rs = "0.8" time = { version = "0.3", features = ["serde"] } ibapi = "1.2" diff --git a/crates/data/Cargo.toml b/crates/data/Cargo.toml index 421ef7d5d..c0f79d06e 100644 --- a/crates/data/Cargo.toml +++ b/crates/data/Cargo.toml @@ -37,8 +37,8 @@ tracing.workspace = true # Network and HTTP - USE WORKSPACE DEFAULTS reqwest.workspace = true -tokio-tungstenite = { version = "0.21", features = ["rustls-tls-webpki-roots"] } -tungstenite = "0.21" +tokio-tungstenite = { workspace = true, features = ["rustls-tls-webpki-roots"] } +tungstenite = "0.24" url.workspace = true # Market data providers - USE WORKSPACE DEFAULTS diff --git a/crates/data/src/providers/databento/websocket_client.rs b/crates/data/src/providers/databento/websocket_client.rs index 8de885320..e9f4b00a8 100644 --- a/crates/data/src/providers/databento/websocket_client.rs +++ b/crates/data/src/providers/databento/websocket_client.rs @@ -257,7 +257,7 @@ impl DatabentoWebSocketClient { // Connect with timeout - let tokio-tungstenite handle TLS internally let connect_future = tokio_connect_async_with_config( - &url, None, // WebSocketConfig + url.as_str(), None, // WebSocketConfig false, // disable_nagle ); diff --git a/crates/data/src/providers/databento_streaming.rs b/crates/data/src/providers/databento_streaming.rs index e2fee7f5e..4cad0ae4d 100644 --- a/crates/data/src/providers/databento_streaming.rs +++ b/crates/data/src/providers/databento_streaming.rs @@ -206,7 +206,7 @@ impl MarketDataProvider for DatabentoStreamingProvider { let url = Url::parse(&self.endpoint) .map_err(|e| DataError::Connection(format!("Invalid Databento URL: {}", e)))?; - let (_ws_stream, _response) = connect_async(&url) + let (_ws_stream, _response) = connect_async(url.as_str()) .await .map_err(|e| DataError::Connection(format!("Failed to connect to Databento: {}", e)))?; diff --git a/crates/ml/Cargo.toml b/crates/ml/Cargo.toml index 88b27ecc4..520691789 100644 --- a/crates/ml/Cargo.toml +++ b/crates/ml/Cargo.toml @@ -99,7 +99,6 @@ candle-optimisers = { git = "https://github.com/KGrewal1/optimisers" } # Base w # TODO: Re-enable after running: sudo apt-get install -y libopenblas-dev ndarray = { workspace = true, features = ["rayon"] } nalgebra = { version = "0.33", features = ["serde-serialize"] } -arrayfire = { version = "3.8", optional = true } # MINIMAL statistics only - ALL HEAVY ML ALGORITHMS REMOVED # linfa ecosystem (linfa, linfa-clustering, linfa-linear, linfa-reduction) - REMOVED (200+ deps) @@ -140,7 +139,7 @@ databento = "0.34" # Databento API client for downloading data (includes async mimalloc = { version = "0.1", optional = true } # Fast memory allocator dotenv = "0.15" # Load .env files for API keys parking_lot = { version = "0.12", features = ["hardware-lock-elision"] } -dashmap = { version = "6.1", features = ["serde"] } +dashmap = { workspace = true } once_cell = "1.19" lazy_static.workspace = true flate2 = "1.0" diff --git a/services/trading_agent_service/Cargo.toml b/services/trading_agent_service/Cargo.toml index 8396c1693..c8175054a 100644 --- a/services/trading_agent_service/Cargo.toml +++ b/services/trading_agent_service/Cargo.toml @@ -60,7 +60,7 @@ ml = { path = "../../crates/ml", default-features = false, features = ["minimal- thiserror.workspace = true rust_decimal = { workspace = true, features = ["serde"] } rust_decimal_macros.workspace = true -nalgebra = "0.32" +nalgebra.workspace = true num-traits.workspace = true [build-dependencies] diff --git a/services/trading_service/Cargo.toml b/services/trading_service/Cargo.toml index 608d42582..aa4ba9328 100644 --- a/services/trading_service/Cargo.toml +++ b/services/trading_service/Cargo.toml @@ -51,7 +51,7 @@ futures-util = "0.3" async-trait.workspace = true url = "2.5" fastrand.workspace = true -tokio-tungstenite = "0.24" +tokio-tungstenite.workspace = true # Performance monitoring hdrhistogram.workspace = true