新闻详情

新闻详情

首页 / 资讯中心 / 详情

uv 如何把 uv.lock 导出为 CycloneDX SBOM?uv export --format cyclonedx1.5

发布时间:2026/9/12 15:48:31来源:尧图网络
uv 如何把 uv.lock 导出为 CycloneDX SBOM?uv export --format cyclonedx1.5
uv 如何把 uv.lock 导出为 CycloneDX SBOMuv export --format cyclonedx1.5【免费下载链接】uvAn extremely fast Python package and project manager, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/uv/uv当你需要把 Python 项目的依赖清单交给安全审计、合规检查或供应链分析工具时可以用 uv 把项目锁文件uv.lock导出为 CycloneDX 格式的 SBOMSoftware Bill of Materials。执行uv export --format cyclonedx1.5后uv 会生成一个 JSON 编码的 CycloneDX v1.5 文档包含项目本身及其全部依赖。这个功能适用于已经具备uv.lock的 uv 项目需要注意的是CycloneDX 导出目前处于 preview预览状态后续版本可能随时调整。前提项目里要有 uv.lockuv export的输入是项目的锁文件。确认项目目录里已有uv.lock如果还没有或依赖声明pyproject.toml有变更可以先运行uv lock生成或更新它。uv 的锁文件机制包括uv lock、uv sync的用法见 locking and syncing 文档。导出命令在项目根目录执行$ uv export --format cyclonedx1.5命令默认把 JSON 打印到 stdout方便直接管道给下游工具。如果要落盘成文件用--output-file$ uv export --format cyclonedx1.5 --output-file sbom.jsonuv export支持三种格式requirements.txt、pylock.toml、cyclonedx1.5通过--format切换格式总览见 Exporting a lockfile。处理 preview 警告由于 CycloneDX 导出是预览功能首次运行时 stderr 会输出警告warning: uv export --formatcyclonedx1.5 is experimental and may change without warning. Pass --preview-features sbom-export to disable this warning.这不影响导出结果只是提醒格式可能变化。如果不想每次都看到它可以显式启用sbom-export这个 preview feature启用方式见 Preview features 文档$ uv export --format cyclonedx1.5 --preview-features sbom-export或者通过环境变量$ UV_PREVIEW_FEATURESsbom-export uv export --format cyclonedx1.5如果希望整个项目固定启用该特性也可以在uv.toml或pyproject.toml的[tool.uv]中写入preview-features [sbom-export]也可以直接用--preview标志或UV_PREVIEW1环境变量一次性启用全部 preview 功能但范围更大通常推荐按特性启用。验证输出内容成功时命令退出码为 0stdout或指定文件是如下结构的 JSON 文档。下面是仓库测试快照中的一个示例结果做了删节serialNumber、timestamp等值每次运行都会不同{ bomFormat: CycloneDX, specVersion: 1.5, version: 1, metadata: { tools: [ { vendor: Astral Software Inc., name: uv, version: [VERSION] } ], component: { type: library, bom-ref: project-10.1.0, name: project, version: 0.1.0 } }, components: [ { type: library, bom-ref: urllib3-22.2.0, name: urllib3, version: 2.2.0, purl: pkg:pypi/urllib32.2.0, externalReferences: [ { type: distribution, url: https://files.pythonhosted.org/packages/.../urllib3-2.2.0-py3-none-any.whl, hashes: [ { alg: SHA-256, content: ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224 } ] } ] } ], dependencies: [ { ref: project-10.1.0, dependsOn: [urllib3-22.2.0] }, { ref: urllib3-22.2.0 } ] }示例中的关键字段bomFormat与specVersion标识这是 CycloneDX 1.5 文档metadata.component是项目根CycloneDX 要求恰好一个根组件components列出各依赖带purl和分发包的 SHA-256 哈希dependencies描述依赖关系图。uv 还会在组件上附加两个自定义属性供下游工具使用uv:package:marker环境标记例如python_version 3.8uv:workspace:pathworkspace 成员的相对路径。默认情况下导出的组件会带上哈希信息如果下游工具不需要可加--no-hashes省略。限制与边界CycloneDX 导出在 preview 阶段官方文档明确提示may change in any future release即格式和字段可能在后续版本中改变。用于 CI 或归档时建议记录生成时的 uv 版本。导出内容来自uv.lock因此先保证锁文件与pyproject.toml中的依赖声明一致必要时先跑uv lock再导出。关于其他两种导出格式requirements.txt、pylock.toml的取舍export 文档中的建议是uv.lock本身比导出文件表达能力更强如果发现自己需要长期维护一份导出的requirements.txt可以考虑向项目提交 issue 讨论使用场景。【免费下载链接】uvAn extremely fast Python package and project manager, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/uv/uv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

51单片机火灾报警器:DS18B20+ADC0809+LabVIEW上位机完整设计 2026/9/12 17:09:47

51单片机火灾报警器:DS18B20+ADC0809+LabVIEW上位机完整设计

简介:基于51单片机设计的火灾报警器毕设源码包,适合计算机、通信、自动化等专业学生用于课程设计、期末大作业或毕业设计参考。项目包含完整的单片机C51程序与LabVIEW上位机虚拟仪器,能够实现温度、烟雾、光强等环境参数的采集监测与异常报警…

阅读更多 →
基于AT89C2051的DMX512主控时序设计与PWM调光实现 2026/9/12 17:09:47

基于AT89C2051的DMX512主控时序设计与PWM调光实现

简介:面向LED照明控制与嵌入式开发者的工程资料包,以低成本的八位单片机AT89C2051为核心,完整呈现脉宽调制调光与数字灯光控制协议通信的软硬件设计方案。资源压缩包共包含二十九个文件,以C语言源程序、头文件、十六进制固件、汇编…

阅读更多 →
鸿蒙PC真编译移植实战:把ImDisk devio块设备服务搬到HarmonyOS桌面 2026/9/12 17:09:47

鸿蒙PC真编译移植实战:把ImDisk devio块设备服务搬到HarmonyOS桌面

鸿蒙PC真编译移植实战:把ImDisk devio块设备服务搬到HarmonyOS桌面 欢迎加入开源鸿蒙 PC 社区:https://harmonypc.csdn.net/ 欢迎在 PC 社区平台申请新建项目:https://atomgit.com/OpenHarmonyPCDeveloper 适配开源地址:https:…

阅读更多 →
国产DSP FCP32C335开发板实战:从外设配置到电机控制 2026/9/12 17:09:47

国产DSP FCP32C335开发板实战:从外设配置到电机控制

做电机控制、数字电源、伺服驱动这些方向的朋友,肯定对DSP不陌生。以前选型基本绕不开国外那几家老牌厂商,这几年国产DSP逐渐起来之后,方芯FCP32C335就是一颗比较有代表性的芯片。这篇文章我不打算讲太多虚的,就把我从拿到这块FCP…

阅读更多 →
Java Swing宿舍管理系统课设全攻略:从数据库设计到界面开发 2026/9/12 17:09:47

Java Swing宿舍管理系统课设全攻略:从数据库设计到界面开发

简介:基于Java Swing的宿舍管理系统课程设计资料包,面向Java初学者、数据库课程设计学生及需要快速搭建管理系统的开发者。系统包含学生信息、宿舍信息、宿舍报修、离返校记录、用户信息等核心模块,管理员可增删改查住宿信息,学生…

阅读更多 →
Java继承核心拆解:extends、super、重写与多态实战指南 2026/9/12 17:06:47

Java继承核心拆解:extends、super、重写与多态实战指南

继承这东西,我在教新人的时候发现一个很普遍的现象:很多人一开始觉得它特别简单,无非就是一个extends关键字,子类就能用父类的代码了。但真正往深了问,比如为什么Java不支持多继承、构造器为什么不能被子类继承、继承跟…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞