跳转到主要内容

基于Google License Classifier的Python许可证分类和版权声明检测工具

项目描述

GoLicense-Classifier

PyPI Shield MIT License Code Format


一个用于在代码库中查找许可证表达式和版权声明的Python包。

基于 Google LicenseClassifier V2,GoLicense-Classifier(或简称 glc)注重性能,同时不牺牲准确性。

安装

注意:目前,此包仅支持Linux平台。Windows和Mac的兼容工作正在进行中。

安装GoLicense-Classifier非常简单

pip install golicense-classifier

或者,您也可以从源代码构建此包

git clone https://github.com/AvishrantsSh/GoLicense-Classifier.git
make dev
make package

用法

要开始使用,从模块中导入LicenseClassifier类,如下所示

from LicenseClassifier.classifier import LicenseClassifier

注意:关于版权声明的功能仍处于beta测试阶段。可能存在一些问题,主要是与二进制文件相关

该类包含一些方便的函数,每个函数都适合不同的任务。

  1. scan_directory

    此方法用于递归遍历目录并查找许可证表达式和版权声明。它返回一个具有键headerfiles的字典对象。

    用法


    classifier = LicenseClassifier()
    res = classifier.scan_directory('PATH_TO_DIR')
    

    可选参数


    • max_size

      文件的最大大小(MB)。默认设置为10MB。将max_size < 0设置为忽略大小限制

    • use_buffer

      (实验性)将True设置为使用缓冲文件扫描。max_size将用作缓冲区大小。

    • use_scancode_mapping

      如果您想使用Scancode许可证密钥映射,请设置为True。默认设置为True

  2. scan_file

    此方法用于在单个文件中查找许可证表达式和版权声明。

    用法


    classifier = LicenseClassifier()
    res = classifier.scan_file('PATH_TO_FILE')
    

    可选参数


    • max_size

      文件的最大大小(MB)。默认设置为10MB。将max_size < 0设置为忽略大小限制

    • use_buffer

      (实验性)将True设置为使用缓冲文件扫描。max_size将用作缓冲区大小。

    • use_scancode_mapping

      如果您想使用Scancode许可证密钥映射,请设置为True。默认设置为True

进一步定制

您可以根据需求设置自定义的扫描阈值。在创建对象时,只需更改参数 threshold 即可。

classifier = LicenseClassifier(threshold = 0.9)

贡献

贡献让开源社区成为一个学习、灵感和创作的绝佳场所。您所做出的任何贡献都备受赞赏。

要开始贡献,请阅读 贡献指南

参考

  1. Google LicenseClassfifer V2 https://github.com/google/licenseclassifier/

  2. Ctypes https://docs.pythonlang.cn/3/library/ctypes.html

项目详情


下载文件

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

源代码分发

golicense_classifier-0.0.16.tar.gz (2.1 MB 查看哈希值)

上传时间 源代码

构建分发

golicense_classifier-0.0.16-py3-none-any.whl (2.4 MB 查看哈希值)

上传时间 Python 3

由以下机构支持