licensepy is a Python dependency license check library written in Rust. This package has recursive dependency checks that are not offered by many existing license check libraries. By default, the output will group packages by their licenses.
Command line arguments can be used to recursively find all the dependencies of the project (-r, --recursive), group output by packages in alphabetical order (--by-package), silence all outputs (-s, --silent), or only print fails (-f, --print-fails).
Configure the tool with a pyproject.toml file at the root directory of the project with a list of licenses to avoid. If any one the dependencies of the project use these flagged licenses, licensepy will exit with code 1. Otherwise, it will exit with code 0.
Use pip to install licensepy in your project.
pip3 install licensepy
- -r, --recursive: Recursively find all the dependencies of the project and their licences.
- -by-package: Group output by packages in alphabetical order.
- -s, silent: Silence all outputs.
- -f, print-fails: Only print the packages whose licenses are flagged to be avoided.
Licenses can be flagged to avoid in a pyproject.toml files saved in the root of the project directory. Licenses should be stored in a list.
# In the pyproject.toml file
[licensepy]
avoid = ["MIT"]
This is the output when the above configuration is used for: