ScanCode 是一个工具,用于扫描代码以获取许可证、版权、包及其记录的依赖关系和其他有趣的事实。scancode-toolkit-mini 是一个特殊的构建,默认情况下不附带预构建的二进制依赖项。这些是 ins
项目描述
一个典型的软件项目通常会重用数百个第三方包。许可证和包、依赖项和来源信息并不总是很容易找到且未标准化:ScanCode 会为您发现并标准化这些数据。
在此处阅读有关 ScanCode 的更多信息:https ://scancode-toolkit.readthedocs.io/ 。
在https://github.com/nexB/scancode-toolkit查看代码
还发现:
ScanCode.io 服务器项目在这里:https ://scancodeio.readthedocs.io
其他用于代码来源、许可和安全分析的 SCA 配套项目:https ://aboutcode.org
构建和测试状态
我们对多个 CI 的每次提交运行 30,000 多次测试,以确保与多个版本的 Windows、Linux 和 macOS 具有良好的平台兼容性。
应用程序 |
天蓝色 |
RTD 构建 |
---|---|---|
为什么使用扫码?
作为一个独立的命令行工具,ScanCode易于安装、运行和嵌入到您的 CI/CD 处理管道中。它在Windows、macOS 和 Linux上运行。
ScanCode 被多个项目和组织使用,例如Eclipse Foundation、 OpenEmbedded.org、FSFE、FSF、 OSS Review Toolkit、 ClearlyDefined.io、 RedHat Fabric8 analytics等等。
ScanCode 检测源代码和二进制文件中的许可证、版权、包清单、直接依赖项等,被认为是该领域中同类最佳的参考工具,可重复用作软件组合数据收集的核心工具通过几个开源工具。
ScanCode 提供最准确的许可证检测引擎,并在许可证文本数据库和您的代码之间进行全面比较(也称为差异或红线比较),而不是仅依赖近似正则表达式模式或概率搜索、编辑距离或机器学习。
用 Python 编写的 ScanCode易于使用插件进行扩展,以提供新的和改进的扫描器、数据摘要、包清单解析器和新的输出。
您可以将扫描结果保存为JSON、HTML、CSV 或 SPDX,或者使用 Jinja 模板创建自己的格式。
您还可以使用配套的ScanCode.io Web 应用程序组织和运行 ScanCode 服务器端, 以组织和存储多个扫描项目,包括脚本扫描管道。
ScanCode 得到积极维护,拥有不断增长的用户和贡献者社区。
ScanCode使用包含20,000 多个测试的自动化测试套件进行了大量测试。
ScanCode 拥有大量且不断增长的文档。
ScanCode 可以处理这些包,构建清单和锁定文件格式以收集包 URL 并提取元数据:Alpine 包、BUCK 文件、ABOUT 文件、Android 应用程序、Autotools、Bazel、JavaScript Bower、Java Axis、MS Cab、Rust Cargo、Cocoapods、Chef Chrome 应用程序、PHP Composer 和 composer.lock、Conda、CPAN、Debian、Apple dmg、Java EAR、WAR、JAR、FreeBSD 包、Rubygems gemspec、Gemfile 和 Gemfile.lock、Go 模块、Haxe 包、InstallShield 安装程序、iOS 应用程序、 ISO 映像、Apache IVY、JBoss Sar、R CRAN、Apache Maven、Meteor、Mozilla 扩展、MSI 安装程序、JavaScript npm 包、package-lock.json、yarn.lock、NSIS 安装程序、NugGet、OPam、Cocoapods、Python PyPI 设置。 py、setup.cfg 和几种相关的 lockfile 格式、半结构化的 README 文件,例如 README.android、README.chromium、README.facebook、README.google、README。第三方、RPM、Shell 档案、Squashfs 图像、Java WAR、Windows 可执行文件和 Windows 注册表等等。
请参阅我们的路线图 以了解即将推出的功能。
文档
ScanCode 文档托管在 scancode-toolkit.readthedocs.io上。
如果您是 Scancode 的新手,请从我们的 新手页面开始。
如果您想比较不同版本的 Scancode 之间的输出变化,或者想查看 Scancode 生成的扫描,请查看我们的 参考扫描。
其他重要文档页面:
另请参阅https://aboutcode.org了解相关的配套项目和工具。
安装
在安装 ScanCode 之前,请确保您已正确安装了先决条件。这意味着为 x86/64 架构安装 Python 3.8。我们支持 Python 3.7、3.8、3.9 和 3.10。
有关支持平台和 Python 版本的详细信息,请参阅先决条件。
有几种常见的安装 ScanCode的方法。
作为应用程序安装:安装 Python 3.8,下载发布存档,解压并运行. 这是推荐的安装方法。
快速开始
请注意 安装方法和平台之间的命令变化。
您可以在屏幕上运行以 JSON 格式打印的示例扫描:
./scancode -clip --json-pp - samples
按照如何运行扫描教程对默认使用 Scancode 分发的示例目录 执行基本扫描。
查看更多命令示例:
./scancode --examples
有关详细信息,请参阅如何选择将在扫描中检测到的内容 和如何指定输出格式 。
档案提取
默认情况下,ScanCode 不会在扫描过程中从 tarball、zip 文件和其他存档中提取文件。必须在运行扫描之前提取代码库中存在的档案:extractcode是一个捆绑的实用程序,其行为类似于大多数通用的档案提取器。例如,此命令将递归提取 mytar.tar.bz2-extract 目录中的 mytar.tar.bz2 tarball:
./extractcode mytar.tar.bz2
支持
如果您有问题、建议或发现错误,请在以下位置输入工单: https ://github.com/nexB/scancode-toolkit/issues
对于讨论和聊天,我们有:
源代码和下载
执照
Apache-2.0 作为整体许可证
CC-BY-4.0 用于参考数据集(最初属于公共领域)。
用于第三方组件和测试套件代码和数据的多个其他二级许可或 copyleft 许可证(LGPL、MIT、BSD、GPL 2/3 等)。
有关详细信息,请参阅记录 ScanCode 中使用的第三方代码的来源和许可的 NOTICE 文件和 .ABOUT 文件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
scancode_toolkit_mini -31.1.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1feb72278493a10cd0ba16ebad727ee6d7fe42a728e9b404f2ea3a53366b1a54 |
|
MD5 | 3906ea73cce4a562c9aef9b16f3edad2 |
|
布莱克2-256 | bb7e7d9f793d6ded3b1d97c5574b6b36e59328dfc2dc6ba293aecf3b4e237af3 |