ruvector/crates/ruvector-solver/Cargo.toml
rUv 9304568753 fix: publish-readiness for 6 solver crates + npm package
- Remove duplicate workspace members (solver/solver-wasm/solver-node)
- Add ruvector-attn-mincut to workspace members
- Switch ruvector-solver and ruvector-solver-wasm to workspace version/metadata
- Add version pin on ruvector-solver dep for solver-wasm and solver-node
- Remove stale version pins in examples/dna and examples/prime-radiant
- Fix unused assignment and unused mut warnings in neumann.rs
- Remove publish = false from ruvector-profiler, add keywords/categories
- Bump @ruvector/rvf-solver to 0.1.4
- Add Publishing section to CLAUDE.md

Published to crates.io: ruvector-solver, ruvector-solver-wasm,
ruvector-solver-node, ruvector-coherence, ruvector-attn-mincut,
ruvector-profiler (all v2.0.3)
Published to npm: @ruvector/rvf-solver v0.1.4

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-20 19:02:50 +00:00

67 lines
1.8 KiB
TOML

[package]
name = "ruvector-solver"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
description = "Sublinear-time solver for RuVector: O(log n) to O(√n) algorithms for sparse linear systems, PageRank, and spectral methods"
keywords = ["linear-algebra", "sparse-matrix", "pagerank", "solver", "sublinear"]
categories = ["mathematics", "science", "algorithms"]
[features]
default = ["neumann", "cg", "forward-push"]
nalgebra-backend = ["nalgebra"]
parallel = ["rayon", "crossbeam"]
simd = []
wasm = []
full = ["nalgebra-backend", "parallel", "all-algorithms"]
neumann = []
forward-push = []
backward-push = []
hybrid-random-walk = ["getrandom"]
true-solver = ["neumann"]
cg = []
bmssp = []
all-algorithms = ["neumann", "forward-push", "backward-push", "hybrid-random-walk", "true-solver", "cg", "bmssp"]
[dependencies]
serde = { workspace = true, features = ["derive"] }
thiserror = { workspace = true }
tracing = { workspace = true }
rand = { workspace = true }
nalgebra = { version = "0.33", default-features = false, features = ["std"], optional = true }
rayon = { workspace = true, optional = true }
crossbeam = { workspace = true, optional = true }
getrandom = { version = "0.2", optional = true }
dashmap = { workspace = true }
parking_lot = { workspace = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }
[dev-dependencies]
criterion = { workspace = true }
proptest = { workspace = true }
approx = "0.5"
[[bench]]
name = "solver_baseline"
harness = false
[[bench]]
name = "solver_neumann"
harness = false
[[bench]]
name = "solver_cg"
harness = false
[[bench]]
name = "solver_push"
harness = false
[[bench]]
name = "solver_e2e"
harness = false