跳转到主要内容

Thoth项目的package和package stack license-solver包的许可信息

项目描述

欢迎使用Thoth的license-solver仓库!

该工具处理由PyPI提供的元数据中的许可证和分类器检测。确定许可证类型及其版本。它还指出许可证和分类器之间的差异。

license-solver的功能

从PyPI、JSON文件、包含JSON文件的文件夹和字典(通过函数detect_license())中检测许可证和分类器

  • PyPI

  • JSON文件

  • 包含JSON文件的文件夹

  • 字典(使用函数detect_license()

默认情况下,输出打印在STDOUT上(您可以在更多帮助中指定保存输出的文件)。

注意事项

  • 未知的许可证/版本/分类器被命名为UNDETECTED

  • 未标记版本的许可证在license_version中有标识符LICENSE-WITHOUT-VERSION

在本地运行求解器

通常,在本地运行license-solver以进行实验或验证您的实现更改非常有用。您可以通过运行以下命令轻松完成此操作:

$ PYTHONPATH=. python3 ./thoth-license-solver <arguments>

示例

  1. 1个文件的示例 文件

$ thoth-license-solver --file tests/examples/request_example.json -pp 4
  • 输出1。

{
   "requests": {
       "2.27.1": {
           "license": [
               "Apache License 2.0",
               "Apache-2.0",
               "Apache 2.0"
           ],
           "license_version": "2.0",
           "classifier": [
               [
                   "License :: OSI Approved :: Apache Software License",
                   "Apache Software License"
               ]
           ],
           "warning": false
       }
   }
}

  1. 2个文件示例,具有相同包但不同版本

$ thoth-license-solver --file tests/examples/request_example.json tests/examples/request_example_2.json -pp 4
  • 输出2。

{
   "requests": {
       "2.27.1": {
           "license": [
               "Apache License 2.0",
               "Apache-2.0",
               "Apache 2.0"
           ],
           "license_version": "2.0",
           "classifier": [
               [
                   "License :: OSI Approved :: Apache Software License",
                   "Apache Software License"
               ]
           ],
           "warning": false
       },
       "2.24.0": {
           "license": [
               "Apache License 2.0",
               "Apache-2.0",
               "Apache 2.0"
           ],
           "license_version": "2.0",
           "classifier": [
               [
                   "License :: OSI Approved :: Apache Software License",
                   "Apache Software License"
               ]
           ],
           "warning": false
       }
   }
}

  1. 2个文件示例,具有相同包但不同版本,以及1个不同的PyPI包

$ thoth-license-solver --file tests/examples/request_example.json tests/examples/request_example_2.json --package-name numpy -pp 4
  • 输出3。

{
   "numpy": {
       "1.22.1": {
           "license": [
               "BSD 4-Clause \"Original\" or \"Old\" License",
               "BSD-4-Clause",
               "BSD 4 Clause"
           ],
           "license_version": "4",
           "classifier": [
               [
                   "License :: OSI Approved :: BSD License",
                   "BSD License"
               ]
           ],
           "warning": false
       }
   },
   "requests": {
       "2.27.1": {
           "license": [
               "Apache License 2.0",
               "Apache-2.0",
               "Apache 2.0"
           ],
           "license_version": "2.0",
           "classifier": [
               [
                   "License :: OSI Approved :: Apache Software License",
                   "Apache Software License"
               ]
           ],
           "warning": false
       },
       "2.24.0": {
           "license": [
               "Apache License 2.0",
               "Apache-2.0",
               "Apache 2.0"
           ],
           "license_version": "2.0",
           "classifier": [
               [
                   "License :: OSI Approved :: Apache Software License",
                   "Apache Software License"
               ]
           ],
           "warning": false
       }
   }
}

安装

安装 license-solver

$ pip install thoth-license-solver

运行测试

在实现新功能后对程序进行测试是一个好习惯。您可以运行

$ pytest tests/
# or
$ pytest --cov-report term-missing --cov=thoth tests/     # coverage test

特殊别名

项目详情


下载文件

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

源代码分发

thoth-license-solver-0.1.5.tar.gz (80.7 kB 查看哈希)

上传时间 源代码

构建分发

thoth_license_solver-0.1.5-py3-none-any.whl (75.9 kB 查看哈希)

上传时间 Python 3

支持者