Disclaimer: the library is currently in alpha phase and APIs are subject to change. I do not recommend to use this until the official release from SPDX.
SPDX YALM is a license matching library based on the SPDX License Matching Guideline.
SPDX is an open standard for communicating software bill of material information. SPDX reduces redundant work by providing common formats for organizations and communities to share important data, thereby streamlining and improving compliance, security, and dependability.
Project YALM is implemented as the matching guideline compliant library - this library provides a way to compare license documents and templates in a standardized way.
- An Interface which compares text against a license template using the license matching guidelines.
- An Interface which returns all matching SPDX listed license ID's for any license text.
- An interface which compares 2 license texts and returns a boolean indicating if the 2 licenses match per the license matching guidelines.
- When there is no match, a return value is provided to describe where and why the license does not match.
Ensure you have installed Python 3.9 or higher.
You can install this library via PyPI.
pip install yalm
Disclaimer: the library is currently in alpha phase and APIs are subject to change.
import yalm
with open('unknown_license') as f:
print(yalm.licenses.detect_license(f.read()).template.name)
Copyright (c) 2021, SPDX YALM Developers. Files in this repository are licensed under Apache License Version 2.0.
This Project is
- initially developed by @anshuldutt21 as a part of CommunityBridge Linux Foundation 2020.
- updated by @m1kit and released as a part of Google Summer of Code 2021.
- with thanks to mentors @goneall