23 releases (7 breaking)

Uses new Rust 2024

new 0.9.3 Mar 28, 2026
0.9.0 Feb 23, 2026
0.5.2 Dec 27, 2025

#838 in Text editors


Used in deps-lsp

MIT license

360KB
7.5K SLoC

deps-cargo

Crates.io docs.rs CI codecov License: MIT

Cargo.toml support for deps-lsp.

This crate is part of the deps-lsp workspace. It provides parsing and registry integration for the Rust/Cargo ecosystem and implements deps_core::Ecosystem.

Features

  • TOML parsing — Parse Cargo.toml with byte-accurate position tracking via toml-span
  • Lock file parsing — Extract resolved versions from Cargo.lock
  • crates.io registry — Sparse index client for version lookups and package metadata
  • Semver resolution — Resolve ^, ~, *, and range specifiers against available versions
  • Workspace support — Handle workspace.dependencies inheritance and version.workspace = true

Installation

[dependencies]
deps-cargo = "0.9.3"

[!IMPORTANT] Requires Rust 1.89 or later.

Usage

use deps_cargo::{parse_cargo_toml, CratesIoRegistry};

let dependencies = parse_cargo_toml(content)?;
let registry = CratesIoRegistry::new(cache);
let versions = registry.get_versions("serde").await?;

Benchmarks

cargo bench -p deps-cargo

Parsing performance: ~4 us for small files, ~55 us for large files (100+ dependencies).

License

MIT

Dependencies

~13–22MB
~308K SLoC