Skip to main content

Multi-ecosystem lockfile parser that normalizes resolved dependencies, keyed by PURL.

Project description

lockfiles

Multi-ecosystem lockfile parser that turns lockfile contents into normalized, resolved dependencies keyed by PURL.

[!WARNING] WIP: name reserved, implementation to come. This repository currently contains only the project scaffold (packaging, CI, and binding stubs). There is no parsing logic yet. The 0.0.1 placeholder releases on crates.io, PyPI, and npm exist solely to reserve the lockfiles name.

What it will be

A Rust core (library + CLI) that parses lockfiles from multiple ecosystems and emits normalized resolved dependencies. It is content-in: it consumes lockfile contents, not paths. Its boundary is facts, not verdicts: it reports what a lockfile resolves to, and leaves policy decisions to downstream tooling.

Bindings expose the same core to other ecosystems:

Layout

.                 core crate `lockfiles` (library + CLI)
bindings/python   PyO3 + maturin binding   -> PyPI: lockfiles
bindings/node     napi-rs binding          -> npm:  lockfiles

Development

cargo nextest run        # tests (or: cargo test)
cargo clippy --all-targets -- -D warnings
cargo fmt --all

Bindings are built out of band (they are excluded from the default workspace members):

# Python (uses uv)
cd bindings/python && uv run --with maturin maturin develop && uv run pytest

# Node
cd bindings/node && npm install && npm run build:debug && npm test

License

Dual-licensed under either of MIT or Apache-2.0, at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lockfiles-0.0.1.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lockfiles-0.0.1-cp39-abi3-macosx_10_12_x86_64.whl (177.5 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file lockfiles-0.0.1.tar.gz.

File metadata

  • Download URL: lockfiles-0.0.1.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for lockfiles-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1fe71e0c376cbcdc796b26f11cffb81199ad70385df24bc4713bbec0555db1c4
MD5 9dfd97101c099396936256c72390460b
BLAKE2b-256 2d1c53debc1bc05be876d9098dd900e2acb9eabc582cba7ca20ba8123bc00fdf

See more details on using hashes here.

File details

Details for the file lockfiles-0.0.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lockfiles-0.0.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7f4f50d6315ff75fb00f248ecf879042825b511e35af4ff8eb06a00121a10263
MD5 00d0186c4adb410c3d3517c802cc4edc
BLAKE2b-256 db01a14765c4d21f75c3569c11e5c6e3b98be2a729bc74dc6edfebdca028e821

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page