Skip to main content

Simple command line tool to check compatibility between two licenses, given context

Project description

Licomp Toolkit

Licomp toolkit is a license compatiblity tool using miscellaneous available compatibility resources and provides replies from all resources.

Introduction

Licomp can be used to help determine if a license is compatible with an outbound license. These compatibility checks needs context which is often missing. The context above must be provided to licomp-toolkit. In short the context is:

  • use case - how you use the licensed component
  • provisioning - how you provide the component to your user
  • modification - if you have modified the component

Licomp toolkit is using the Licomp api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:

Licomp resources

Licomp toolkit uses the following compatibility resources using the Licomp api: licomp-hermione, licomp-osadl, licomp-proprietary, licomp-reclicense, licomp-dwheeler and licomp-gnuguide.

Using Licomp Toolkit

Command line interface (brief intro)

If you want to check if the following is compatible:

  • outbound license "MIT"
  • inbound license "LGPL-2.0-or-later"
$ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
{
  "nr_valid": "1",
  "yes": {
    "count": 1,
    "percent": 100.0
  }
}

In the above example, licomp-toolkit by default chose:

  • usecase library- i.e. the licenses component is used as a library (e.g. linking to it)
  • provisioning binary-distribution
  • modification is not yet implemented

For more detailed guides to licomp-toolkit, please check out:

Python module

If you want to check if the following is compatible:

  • outbound license "MIT"
  • inbound license "LGPL-2.0-or-later"
>>> from licomp_toolkit.toolkit import LicompToolkit
>>> licomp_toolkit = LicompToolkit()
>>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
>>> print(str(compatibilities['summary']['results']))
{'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}

For a more detailed guide to the licomp-toolkit Python api, please check out: Licomp Toolkit - Python module

Installing Licomp Toolkit

From pypi.org

Licomp Toolkit is available via pypi.org at: https://pypi.org/project/licomp-toolkit/. To install, simply do the following:

$ pip install licomp-toolkit

From github

Installing from github assumes you already have pip installed.

$ git clone https://github.com/hesa/licomp-toolkit
$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt
$ pip install .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

licomp_toolkit-0.5.8.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

licomp_toolkit-0.5.8-py2.py3-none-any.whl (33.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file licomp_toolkit-0.5.8.tar.gz.

File metadata

  • Download URL: licomp_toolkit-0.5.8.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for licomp_toolkit-0.5.8.tar.gz
Algorithm Hash digest
SHA256 a5f2ee8c1b798cfd2fec86dc73130bdec77d100de03f3a0693c1e9b2aac3168d
MD5 9ab57e39919f10b90f42d89d47b37d3c
BLAKE2b-256 8e2f1ede2927fe848215d81579d0f6f6f7f3613cf7e46634762527898529e782

See more details on using hashes here.

File details

Details for the file licomp_toolkit-0.5.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for licomp_toolkit-0.5.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8b8b6de0da90a4a94d365c55bd72198a40ddf6b0d177f2fcd46c2c41c2b0841c
MD5 482fb7cced3eb4cb5a720b8624311da1
BLAKE2b-256 50f34c11a28e8dbaca0eea861333f0b8c9bacddfa40f6b5f5b4ed32d44543fb1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page