Skip to main content
scanoss.py provides a Python library and command-line interface for interacting with SCANOSS APIs and engines.

Prerequisites

Before you begin, ensure you have:

Installation

Standard Installation

Install scanoss-py from PyPI:
# Install from PyPI
pip3 install scanoss

# Upgrade an existing installation
pip3 install --upgrade scanoss

Fast Winnowing

Fast winnowing is an optional extension that provides a significant performance improvement in fingerprinting. Install it separately if you require faster scanning throughput:
# Install fast winnowing support
pip3 install scanoss_winnowing
To verify that fast winnowing is active:
scanoss-py utils fast

Dependency Scanning

To enable dependency scanning from package manifests and lockfiles (such as package.json, requirements.txt, and pom.xml), install scancode-toolkit:
pip install scancode-toolkit
Note: This is only required if you intend to use the -D or --dependencies flag to scan declared dependencies. Standard file and snippet scanning does not require this package.

Installation on Externally Managed Environments

Modern Linux distributions (Ubuntu 23.04+, Fedora 38+, Debian 11+) enforce externally managed Python environments, which prevent direct pip installs into the system Python. Use pipx to install scanoss-py in an isolated environment:
# Install scanoss-py
pipx install scanoss

# Upgrade an existing installation
pipx upgrade scanoss

# Install scanoss-py with fast winnowing support
pipx install scanoss[fast_winnowing]

# Install scancode-toolkit to scan declared dependencies
pipx install scancode-toolkit