Log License
Project description
Log License
A tool for helping developers staying compliant within their software projects. The tool crawls dependencies and logs their licenses, allowing to document and restrict certain licenses within a software project.
DISCLAIMER: There is no guarentee that all sublicenses or licenses will be identified and reported. For highest ensurance, use lock files to also catch sub-dependencies. However, this only looks within the given package manager, meaning C libraries and alike will not be reported here.
Features
- Report and save log of licenses included in project
- Check coverage of packages supported accepted licenses
- Supporting pre-commits with coverage thresholds and allowing manual validation of unknown license types
Supported dependency files
Though the tool supports multiple file types, it is highly recommended to use lock files or do a ´pip freeze > requirements.txt´ in order to ensure all sub-dependencies are also evaluated for their license.
- poetry.lock
- uv.lock
- pyproject.toml (traditional and poetry)
- requirements.txt (--develop adds search for requirements_dev.txt)
Supported package managers
- pypi
Installation
You can install Log License via pip from PyPI:
$ pip install loglicense
or using Poetry
$ poetry add loglicense
Quick example
Please see the Command-line Reference for details.
$ loglicense report path_to/poetry.lock
Example output:
| Name | License |
|:-------------------|:-----------------------------------|
| click | BSD-3-Clause |
| colorama | BSD |
| importlib-metadata | Apache Software License |
| pathlib | MIT License |
| tabulate | MIT |
| toml | MIT |
| typer | MIT License |
| typing-extensions | Python Software Foundation License |
| zipp | MIT License |
Alternatively you can let it search the executed directory for any supported file
$ loglicense report
Features to implement
- Support npmjs package manager (and package.json/package-lock.json)
- Support Pipfile, Pipfile.lock, conda.yaml, pip freeze
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the Apache 2.0 license, Log License is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Credits
This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.
This project is greatly inspired by dep-license created by Abdulelah Bin Mahfoodh.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file loglicense-0.1.12.tar.gz.
File metadata
- Download URL: loglicense-0.1.12.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0d9e2bf0550c6785c0d58c034bd98a0e741fa3cfebf84330b6014fd05ed9731
|
|
| MD5 |
8472d80f35dd9404db8177632d88b51a
|
|
| BLAKE2b-256 |
207f05cc63b6346659498e6f2fdb3f0321c9377d9cb8145933862ec9afe9a001
|
Provenance
The following attestation bundles were made for loglicense-0.1.12.tar.gz:
Publisher:
release.yml on martincjespersen/loglicense
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loglicense-0.1.12.tar.gz -
Subject digest:
c0d9e2bf0550c6785c0d58c034bd98a0e741fa3cfebf84330b6014fd05ed9731 - Sigstore transparency entry: 1296785443
- Sigstore integration time:
-
Permalink:
martincjespersen/loglicense@7147fa0e43b067b510f20bc21a2bd69ac242a84e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/martincjespersen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7147fa0e43b067b510f20bc21a2bd69ac242a84e -
Trigger Event:
push
-
Statement type:
File details
Details for the file loglicense-0.1.12-py3-none-any.whl.
File metadata
- Download URL: loglicense-0.1.12-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25aed3ee6fff2d0e7456a26fa66a5929f699b44b0f44f75d057e57efadd80b33
|
|
| MD5 |
7ab62a85921496f9251c5c322830e819
|
|
| BLAKE2b-256 |
c3c4cccc1a6f6d90df38dfd05e2f395110f4a7eac88ba7b8b250cc130f374c8f
|
Provenance
The following attestation bundles were made for loglicense-0.1.12-py3-none-any.whl:
Publisher:
release.yml on martincjespersen/loglicense
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loglicense-0.1.12-py3-none-any.whl -
Subject digest:
25aed3ee6fff2d0e7456a26fa66a5929f699b44b0f44f75d057e57efadd80b33 - Sigstore transparency entry: 1296785509
- Sigstore integration time:
-
Permalink:
martincjespersen/loglicense@7147fa0e43b067b510f20bc21a2bd69ac242a84e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/martincjespersen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7147fa0e43b067b510f20bc21a2bd69ac242a84e -
Trigger Event:
push
-
Statement type: