Skip to main content

ScanCode 是一个工具,用于扫描代码以获取许可证、版权、包及其记录的依赖关系和其他有趣的事实。scancode-toolkit-mini 是一个特殊的构建,默认情况下不附带预构建的二进制依赖项。这些是 ins

项目描述

一个典型的软件项目通常会重用数百个第三方包。许可证和包、依赖项和来源信息并不总是很容易找到且未标准化:ScanCode 会为您发现并标准化这些数据。

在此处阅读有关 ScanCode 的更多信息:https ://scancode-toolkit.readthedocs.io/ 。

在https://github.com/nexB/scancode-toolkit查看代码

还发现:

构建和测试状态

我们对多个 CI 的每次提交运行 30,000 多次测试,以确保与多个版本的 Windows、Linux 和 macOS 具有良好的平台兼容性。

应用程序

天蓝色

RTD 构建

Appveyor 测试状态 (Windows)

Azure 测试状态(Linux、macOS、Windows)

文件状态

为什么使用扫码?

  • 作为一个独立的命令行工具,ScanCode易于安装、运行和嵌入到您的 CI/CD 处理管道中。它在Windows、macOS 和 Linux上运行。

  • ScanCode 被多个项目和组织使用,例如Eclipse FoundationOpenEmbedded.orgFSFEFSFOSS Review ToolkitClearlyDefined.ioRedHat 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的方法。

快速开始

请注意 安装方法和平台之间的命令变化。

您可以在屏幕上运行以 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

对于讨论和聊天,我们有:

  • 基于 Web 聊天的官方 Gitter 频道。Gitter 也可以通过IRC 桥接器访问。那里还有其他 AboutCode 项目特定的频道。

  • liberachat(服务器 web.libera.chat)上的官方#aboutcode IRC 频道。此通道接收构建和提交通知,并且可能很嘈杂。您可以使用您最喜欢的 IRC 客户端或使用网络聊天

源代码和下载

执照

  • Apache-2.0 作为整体许可证

  • CC-BY-4.0 用于参考数据集(最初属于公共领域)。

  • 用于第三方组件和测试套件代码和数据的多个其他二级许可或 copyleft 许可证(LGPL、MIT、BSD、GPL 2/3 等)。

有关详细信息,请参阅记录 ScanCode 中使用的第三方代码的来源和许可的 NOTICE 文件和 .ABOUT 文件。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

scancode-toolkit-mini-31.1.1.tar.gz (85.0 MB 查看哈希

已上传 source

内置分布

scancode_toolkit_mini-31.1.1-py3-none-any.whl (102.9 MB 查看哈希

已上传 py3