Skip to content
Open
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
53 changes: 53 additions & 0 deletions .config/rail.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# cargo-rail configuration for helix-db fork
# Documentation: https://github.com/loadingalias/cargo-rail

# Targets
targets = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
]

[unify]
include_paths = true
include_renamed = false

pin_transitives = false # enable for hakari/workspace-hack users
transitive_host = "root" # only used if pin_transitives = true

strict_version_compat = true
exact_pin_handling = "warn"
major_version_conflict = "warn" # warn = skip, bump = force highest

msrv = true
msrv_source = "workspace" # deps | workspace | max
enforce_msrv_inheritance = false # Ensure members inherit workspace rust-version

detect_unused = true
remove_unused = true # requires detect_unused = true

prune_dead_features = true
preserve_features = [] # glob patterns to keep from pruning
detect_undeclared_features = true
fix_undeclared_features = true # requires detect_undeclared_features = true
skip_undeclared_patterns = [
"default",
"std",
"alloc",
"*_backend",
"*_impl",
]

exclude = [] # excluding one workspace member excludes its whole member cohort
include = [] # workspace-member cohorts are auto-included
max_backups = 3
sort_dependencies = false # false to preserve existing order


[release]

[change-detection]

[run]
26 changes: 26 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,32 @@ members = [
]
resolver = "2"

[workspace.dependencies]
serde_json = "^1.0.143" #unified
reqwest = { version = "^0.12.23", features = ["blocking", "json"] } #unified
helix-metrics = { path = "metrics", version = "^0.1.1" } #unified
clap = { version = "^4.5.53", features = ["derive"] } #unified
helix-db = { path = "helix-db", version = "^1.2.8" } #unified
serial_test = "^3.2.0" #unified
sha2 = "^0.10.8" #unified
dotenvy = "^0.15.7" #unified
chrono = { version = "^0.4.42", features = ["serde"] } #unified
bumpalo = { version = "^3.19.0", features = ["boxed", "collections", "serde"] } #unified
tracing = "^0.1.41" #unified
flume = { version = "^0.12.0", default-features = false, features = ["async", "select"] } #unified
tokio = { version = "^1.47.1", features = ["full"] } #unified
helix-macros = { path = "helix-macros", version = "^0.1.7" } #unified
rand = "^0.9.1" #unified
heed3 = "^0.22.0" #unified
inventory = "^0.3.19" #unified
tempfile = "^3.23.0" #unified
num_cpus = "^1.17.0" #unified
serde = { version = "^1.0.228", features = ["derive"] } #unified
uuid = { version = "^1.18.1", features = ["fast-rng"] } #unified

[workspace.package]
rust-version = "1.88.0"

[profile.release]
opt-level = 2
codegen-units = 1
Expand Down
28 changes: 14 additions & 14 deletions helix-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,39 @@ version = "2.2.8"
edition = "2024"

[dependencies]
helix-metrics = { path = "../metrics" }
helix-db = { path = "../helix-db" }
clap = { version = "4.5.53", features = ["derive"] }
serde = { version = "1.0.228", features = ["derive"] }
tokio = { version = "1.47.1", features = ["full"] }
helix-metrics = { workspace = true } #unified
helix-db = { workspace = true } #unified
clap = { workspace = true } #unified
serde = { workspace = true } #unified
tokio = { workspace = true } #unified
eyre = "0.6.12"
toml = "0.9.5"
dirs = "6.0.0"
reqwest = { version = "0.12.23", features = ["json"] }
serde_json = "1.0.143"
reqwest = { workspace = true, features = ["blocking"] } #unified
serde_json = { workspace = true } #unified
color-eyre = "0.6.5"
cliclack = "0.3.7"
async-trait = "0.1.89"
iota = "0.2.3"
self_update = "0.42.0"
uuid = { version = "1.18.1", features = ["v4", "v6", "fast-rng"] }
chrono = "0.4.42"
flume = { version = "0.12.0",default-features = false, features = ["async", "select"] }
dotenvy = "0.15.7"
uuid = { workspace = true, features = ["serde", "v4", "v6", "v7"] } #unified
chrono = { workspace = true, features = ["serde"] } #unified
flume = { workspace = true } #unified
dotenvy = { workspace = true } #unified
tokio-tungstenite = "0.28.0"
futures-util = "0.3.31"
regex = "1.11.2"
reqwest-eventsource = "0.6"
indicatif = "0.18.3"
webbrowser = "1.0"
heed3 = "0.22.0"
heed3 = { workspace = true } #unified
open = "5.3"
ratatui = "0.29"
crossterm = "0.28"

[dev-dependencies]
tempfile = "3.23.0"
serial_test = "3.2"
tempfile = { workspace = true } #unified
serial_test = { workspace = true } #unified

[lib]
name = "helix_cli"
Expand Down
27 changes: 13 additions & 14 deletions helix-container/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,23 @@ version = "0.1.0"
edition = "2024"

[dependencies]
helix-db = { path = "../helix-db" }
helix-macros = { path = "../helix-macros" }

inventory = "0.3.16"
rand = "0.9.1"
helix-db = { workspace = true } #unified
helix-macros = { workspace = true } #unified
inventory = { workspace = true } #unified
rand = { workspace = true } #unified
dirs = "5.0.1"
chrono = { version = "0.4.41", features = ["serde"] }
serde = { version = "1.0.219", features = ["derive"] }
chrono = { workspace = true } #unified
serde = { workspace = true } #unified
sonic-rs = "0.5.0"
tokio = { version = "1.44.2", features = ["full"] }
serde_json = "1.0.140"
uuid = { version = "1.12.1", features = ["std", "v4", "v6", "fast-rng"] }
heed3 = "0.22.0"
tokio = { workspace = true } #unified
serde_json = { workspace = true } #unified
uuid = { workspace = true, features = ["serde", "std", "v4", "v6", "v7"] } #unified
heed3 = { workspace = true } #unified
async-trait = "0.1"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
tracing = "0.1.41"
dotenvy = "0.15.7"
bumpalo = "3.19.0"
tracing = { workspace = true } #unified
dotenvy = { workspace = true } #unified
bumpalo = { workspace = true, features = ["boxed", "collections", "serde"] } #unified

[features]
dev = ["helix-db/dev-instance"]
Expand Down
47 changes: 18 additions & 29 deletions helix-db/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,48 +8,37 @@ authors = ["HelixDB Team"]
repository = "https://github.com/HelixDB/helix-db"

[dependencies]
# HelixDB dependencies
helix-macros = { path = "../helix-macros" }
helix-metrics = { path = "../metrics" }

# external dependencies
tokio = { version = "1.44.2", features = ["full"] }
serde = { version = "1.0.217", features = ["derive"] }
helix-macros = { workspace = true } #unified
helix-metrics = { workspace = true } #unified
tokio = { workspace = true } #unified
serde = { workspace = true } #unified
bincode = "1.3.3" # TODO: Figure out bincode 2 impl with current serde impl
sonic-rs = "0.5.0"
inventory = "0.3.16"
inventory = { workspace = true } #unified
twox-hash = "2.1.0"
heed3 = "0.22.0"
uuid = { version = "1.12.1", features = ["serde", "v4", "v6", "fast-rng"] }
rand = "0.9.0"
chrono = "0.4.39"
flume = { version = "0.12.0", default-features = false, features = [
"async",
"select",
] }
heed3 = { workspace = true } #unified
uuid = { workspace = true, features = ["serde", "v4", "v6", "v7"] } #unified
rand = { workspace = true } #unified
chrono = { workspace = true, features = ["serde"] } #unified
flume = { workspace = true } #unified
itertools = "0.14.0"
tempfile = "3.20.0"
tempfile = { workspace = true } #unified
paste = "1.0.15"
rayon = "1.11.0"
mimalloc = "0.1.48"
bumpalo = { version = "3.19.0", features = ["collections", "boxed", "serde"] }
bumpalo = { workspace = true } #unified
bytemuck = "1.24.0"
indexmap = { version = "2.7", features = ["serde"] }

# compiler dependencies
pest = { version = "2.7", optional = true }
pest_derive = { version = "2.7", optional = true }
ariadne = { version = "0.5", optional = true }

# embedding dependencies
reqwest = { version = "0.12.15", features = [
"json",
"blocking",
], optional = true }
reqwest = { workspace = true, optional = true } #unified
url = { version = "2.5", optional = true }
tokio-util = { version = "0.7.15", features = ["compat"] }
axum = "0.8.4"
tracing = "0.1.41"
tracing = { workspace = true } #unified
core_affinity = "0.8.3"
async-trait = "0.1.88"
thiserror = "2.0.12"
Expand All @@ -58,18 +47,18 @@ polars = { version = "0.46.0", features = [
"lazy",
"json",
], optional = true }
sha2 = "0.10"
sha2 = { workspace = true } #unified
subtle = "2.5"

[dev-dependencies]
rand = "0.9.0"
rand = { workspace = true } #unified
lazy_static = "1.4.0"
num_cpus = "1.17" # TODO: write ourselves
num_cpus = { workspace = true } #unified
proptest = "1.4"
criterion = "0.5"
loom = "0.7" # Concurrency model checking
tokio-test = "0.4" # Tokio testing utilities
serial_test = "3.2" # Serialize LMDB stress tests to avoid interference
serial_test = { workspace = true } #unified

[features]
debug-output = ["helix-macros/debug-output"]
Expand Down
10 changes: 5 additions & 5 deletions hql-tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ name = "test"
path = "src/main.rs"

[dependencies]
tokio = { version = "1.0", features = ["full"] }
clap = { version = "4.0", features = ["derive"] }
tokio = { workspace = true } #unified
clap = { workspace = true } #unified
anyhow = "1.0"
futures = "0.3"
octocrab = "0.44.1"
serde = { version = "1.0", features = ["derive"] }
sha2 = "0.10"
base64 = "0.22"
serde = { workspace = true } #unified
sha2 = { workspace = true } #unified
base64 = "0.22"
14 changes: 7 additions & 7 deletions metrics/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ license = "AGPL-3.0"
description = "Metrics for HelixDB"

[dependencies]
reqwest = "0.12.11"
serde = { version = "1.0", features = ["derive"] }
reqwest = { workspace = true, features = ["blocking", "json"] } #unified
serde = { workspace = true } #unified
sonic-rs = "0.5.3"
chrono = "0.4"
uuid = { version = "1.18.0", features = ["v7", "fast-rng"] }
tokio = { version = "1.39", features = ["full"] }
chrono = { workspace = true, features = ["serde"] } #unified
uuid = { workspace = true, features = ["serde", "v4", "v6", "v7"] } #unified
tokio = { workspace = true } #unified
async-trait = "0.1.88"
flume = { version = "0.12.0", default-features = false, features = ["async", "select"] }
num_cpus = "1.17.0"
flume = { workspace = true } #unified
num_cpus = { workspace = true } #unified