Python tool to identify license from license text or license names.
With lookup-license you can lookup licenses from:
-
text (e.g. an incorrect name such as "BSD3" or an entire license text)
-
file (e.g. "src/LICENSE.txt")
-
url (e.g. "https://github.com/hesa/lookup-license/blob/main/LICENSE")
-
repositories
-
package names
-
purls
The first lookup takes a bit of time, due to initialization, so if you want to do a number of lookups you might want to use the interactive shell.
If you do not provide an argument lookup-license assumes you want to copy/paste license information interactively. Let's say we want to lookup the license mit.
$ lookup-license
Enter license text and press Control-d.
>>> mit
MIT
In the example above:
-
Enter license text and press Control-d.is usage information -
>>>is thelookup-licenseprompt -
mitis the input the user provided -
MITis the result fromlookup-license
You want to lookup the license "MIT AND BSD3":
$ lookup-license "MIT AND BSD3"
MIT AND BSD-3-Clause
If you pass a file name without the --file option the file name is treated as an argument containing license text. So the following will not lookup the license text in LICENSE.TXT.
$ lookup-license "LICENSE.TXT"
If you want lookup-license to read the content and try to identify the license based on that, then you need to use the --file option.
$ lookup-license --file
Enter license file name and press enter.
>>> LICENSE.txt
CC-BY-4.0
$ lookup-license --file LICENSE.txt
CC-BY-4.0
Same as described earlier with file names, if you pass a URL to lookup-license it will be treated as license information. If you want to lookup the URL content you need to use the --url option.
$ lookup-license --url
Enter license URL name and press enter.
>>> https://github.com/psf/requests/blob/main/LICENSE
Apache-2.0
$ lookup-license --url https://github.com/psf/requests/blob/main/LICENSE
Apache-2.0
Here is an example session for looking up the text mit followed the URL https://github.com/psf/requests/blob/main/LICENSE:
$ lookup-license --shell
Welcome to the LookupLicense shell. Type help or ? to list commands.
>>> text
Enter license text and press Control-d.
>>> mit
['MIT']
>>> url
Enter license URL name and press enter.
>>> https://github.com/psf/requests/blob/main/LICENSE
['Apache-2.0']
With lookup-license you can lookup the license for packages and repositories using:
-
Purls (Gem, github, Pypi, Swift)
-
Gitrepo (github, gitlab, freedesktop)
-
Package names (Gem, github, Pypi, Swift)
See Purl and package managers for more information.
Lookup license is a tiny wrapper on top of the following python modules:
-
scancode and ScanCode LicenseDB used to when looking up license text. Big thanks to Nexb.
-
foss-licenses, used when looking up license identifiers.