Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sinipelto/repo-license-crawler
Collects and summarizes license information on Python and NPM packages into output files.
https://github.com/sinipelto/repo-license-crawler
crawler crawler-python license license-checker license-checking license-crawler license-management licenses licensing nodejs npm npm-license-crawler npm-license-tracker npm-licenses python python-script python3
Last synced: 22 days ago
JSON representation
Collects and summarizes license information on Python and NPM packages into output files.
- Host: GitHub
- URL: https://github.com/sinipelto/repo-license-crawler
- Owner: sinipelto
- License: mit
- Created: 2022-01-13T16:57:46.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-15T13:43:34.000Z (over 1 year ago)
- Last Synced: 2023-08-15T15:00:41.680Z (over 1 year ago)
- Topics: crawler, crawler-python, license, license-checker, license-checking, license-crawler, license-management, licenses, licensing, nodejs, npm, npm-license-crawler, npm-license-tracker, npm-licenses, python, python-script, python3
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# (Universal) Repository License Crawler
License collector tool for Python PIP and NodeJS NPM package licenses.
The aim is to get a complete collection of what kind of licenses are being used in the given repository (path), in any form, as parts of the application or individual libraries.
This helps identify the legitimacy of the current software project, especially in larger repos with dozens of libraries or dependencies.
This tool collects the licenses into human and machine-readable JSON files. From there it should be relatively easy to detect any conflicting licenses and take actions based on that information.
# Getting Started
Install / ensure installed the following:
- [Python 3.8+](https://www.python.org/downloads/)
- [Node.js](https://nodejs.org/en/) (or Node Package Manager (NPM) at minimum)After installation, ensure both `python` and `npm` are available through `PATH` directly.
Ensure pip is up-to-date:
```bash
pip -V
pip install -U pip
pip -V
```Or through python if pip is not globally available
```bash
python -m pip -V
python -m pip install -U pip
python -m pip -V
```Ensure NPM is globally up-to-date:
```bash
npm -v
npm install -g npm@latest
npm -v
```Create an empty Python Virtual Environment (VENV) for the tool:
```bash
python -m venv C:\path\to\venv
```Activate the newly created VENV:
```bash
.\venv\Scripts\activate
```Ensure pip is up-to-date (inside VENV):
```bash
pip -V
pip install -U pip
pip -V
```Or through python if pip is not globally available (inside VENV):
```bash
python -m pip -V
python -m pip install -U pip
python -m pip -V
```Install the required dependencies for the tool into the VENV (if applicable):
```bash
pip install -r requirements.txt
```
OR
```bash
python -m pip install -r requirements.txt
```Run the main file
```bash
python main.py
```Once successfully finished, check the output file for results (default: `./out/output.json`)