CycloneDX / CycloneDX/cyclonedx-python

feat: Support for `uv.lock` file from uv package manager

Closed
#907 5 comments 5 reactions 0 assignees Claimed by @m7mdhka View on GitHub
enhancement source: uv
Dominant language
Python
Stars
390
Forks
98
Avg merge
2d 14h
Merged PRs (30d)
1

Description

## Is your feature request related to a problem? Please describe.
The CycloneDX Python tool currently does not explicitly support the `uv.lock` file format used by the [uv](https://github.com/astral-sh/uv) package manager.

While uv’s Python virtual environments are already supported (as mentioned in the documentation), there is no native support for reading the `uv.lock` file directly. This means users must still rely on indirect workarounds to generate an SBOM, which adds unnecessary complexity.

## Describe the solution you'd like
I would like CycloneDX-Python to include native support for parsing and generating SBOMs directly from the `uv.lock` file. This would streamline the process and avoid relying on indirect methods or manually activating environments just to extract dependency metadata.

## Describe alternatives you've considered
- Activating a uv-created virtual environment and using the current environment scan, which works but isn’t as robust or declarative as lockfile-based analysis.

## Additional context
`uv` is gaining popularity as a modern, fast alternative to pip and poetry. Supporting its lockfile format would allow CycloneDX-Python to integrate more seamlessly with modern Python development workflows, and improve SBOM adoption among users of `uv`.

## Contribution

- [ ] I am willing to provide an implementation
- [x] I will wait until somebody else implements it

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.