Skip to main content

No project description provided

Project description

license_scanner

Find all licenses needed by the package in your python environment. It will sort all package by license.

Install by pip

pip install license_scanner

Usage

license_scanner

Check within you pipeline

You can make your pipeline fail if a project does not have the correct licenses. To do so create a pyproject.toml and add underneath tool.license_scanner two lists allowed-licenses and allowed-packages. If a package does not have license in allowed-licenses AND it is not in allowed-packages it will throw an error.

[tool.license_scanner]
allowed-licenses = [
  "MIT",
  "apache software license",
  "apache software license v2",
  "apache software license v3",
  "BSD license",
  "BSD 3-clause license",
  'GNU lesser general public license',
  'GNU lesser general public license v2',
  'GNU lesser general public license v3',
  'Python software foundation license',
  'Mozilla public license 2.0 (mpl 2.0)',
  'mozilla',
]
allowed-packages = ["license_scanner"]

To run the license scanner make sure you are in the same directory as pyproject.toml and run license_scanner -m whitelist or python -m license_scanner -m whitelist. It will now throw you an error if your environment has an package with a license you did not approve of.

Example: Github actions

This github actions triggers every time you make a PR to the main branch. With pip install . it installs the current project, next it installs license_scanner, and lastly it runs the check.

Be aware, if you want to do unittest make sure you install pytest AFTER you run license_scanner. Otherwise pytest is in your environment when you check for unwanted licenses.

name: Licenses check

on:
  pull_request:
    branches:
      - main

permissions:
  contents: read

jobs:
  deploy:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Set up Python
      uses: actions/setup-python@v3
      with:
        python-version: '3.x'
    - name: Check for licenses
      run: |
        python -m pip install --upgrade pip
        pip install .
        pip install license_scanner
        python -m license_scanner -m whitelist

Supported licenses

  • Apache license
  • Apache license 1.0
  • Apache license 2.0
  • Azure License
  • BSD license
  • BSD 0-clause license
  • BSD 2-clause license
  • BSD 3-clause license
  • BSD 4-clause license
  • Creative Commons Zero, CC-0
  • Eclipse public license 1.0 (epl-1.0)
  • Eclipse public license 2.0 (epl-2.0)
  • GNU Affero general public license (apl)
  • GNU Affero general public license v3 (aplv3)
  • GNU lesser general public license
  • GNU lesser general public license v2 (lgplv2)
  • GNU lesser general public license v3 (lgplv3)
  • GNU general public license
  • GNU general public license v2 (gplv2)
  • GNU general public license v3 (gplv3)
  • Historical Permission Notice and Disclaimer (HPND)
  • ISC license (iscl)
  • MIT license
  • MIT No Attribution
  • Mozilla public license (mpl)
  • Mozilla public license 2.0 (mpl 2.0)
  • Public domain
  • Python software foundation license
  • Repoze public license
  • The Unlicense (Unlicense)
  • DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  • Zope Public License
  • Zope Public License v1
  • Zope Public License v2

Credits

  • Tom Nijhof

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

license_scanner-0.2.5.tar.gz (8.9 MB view hashes)

Uploaded Source

Built Distribution

license_scanner-0.2.5-py3-none-any.whl (8.9 kB view hashes)

Uploaded Python 3

Supported by

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