scanoss
Simple Python library to leverage the SCANOSS APIs
What it is and what it does
Scanoss is a Python library that scans source code to identify open-source components, their licenses, and known vulnerabilities by fingerprinting files and matching them against the SCANOSS open-source knowledge base. It works both as a command-line tool and as a library you can import into your own Python projects.
The package handles the full workflow of code analysis: fingerprinting source files, submitting them to the SCANOSS API (defaulting to the free OSS KB at api.osskb.org), and parsing results to identify components and their metadata. It supports custom API endpoints and keys, optional fast fingerprinting via an external winnowing package, and dependency decoration when scancode-toolkit is installed. The 16 runtime dependencies handle HTTP requests, protocol buffers for API communication, file introspection, and SBOM generation.
Use it for:
- Scan a codebase to generate a software bill of materials (SBOM) identifying all open-source components
- Check source code for known security vulnerabilities in dependencies before deployment
- Audit license compliance by identifying all open-source licenses present in a project
- Fingerprint and match code fragments to detect reused or derivative open-source software
- Integrate component detection into a CI/CD pipeline to block builds with unacceptable licenses or vulnerabilities
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Scanoss provides a Python library and CLI tool to fingerprint source code and scan it against the SCANOSS open-source knowledge base to identify components, licenses, and security issues.
Yes. Scanoss is actively maintained, has low install friction, carries a permissive MIT license, and solves a real problem in software supply chain security and compliance. It integrates easily into Python projects or runs standalone. No known vulnerabilities. Suitable for teams needing open-source component tracking and license auditing.
Install
scanoss on PyPI
pip
pip install scanossuv
uv add scanosspoetry
poetry add scanossInstalling scanoss
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release (24 days old) and ongoing repository activity. Requires Python 3.9 or higher.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install scanoss
from scanoss.scanner import Scanner
scanner = Scanner()
scanner.scan_folder('.')
Requires Python 3.9 or higher. Optional: install scanoss_winnowing or scancode-toolkit for enhanced fingerprinting and dependency decoration.
Verify before relying
- Accuracy and completeness of component matching against the SCANOSS knowledge base
- Performance characteristics when scanning large codebases
- API rate limits and availability guarantees for the default OSS KB endpoint
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 16 — requests, crc32c, binaryornot, progress, grpcio, protobuf, protoc-gen-openapiv2, pypac, pyOpenSSL, google-api-core, importlib_resources, packageurl-python, pathspec, jsonschema, crc, cyclonedx-python-lib |
| Maintenance | actively maintained — 24 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 102,123/month — #12,889 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: scanoss-1.54.2-py3-none-any.whl
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
trufflehog3Scans Git repositories and source code for…
unclear · top 15,000 on PyPI
bbotBBOT is a multipurpose reconnaissance and…
agpl · top 15,000 on PyPI
flawfinderFlawfinder scans C/C++ source code to identify…
copyleft · top 15,000 on PyPI
picklescanScans Python Pickle files and related…
permissive · top 15,000 on PyPI
cycodeCycode is a command-line security scanner that…
permissive · top 15,000 on PyPI
kingfisher-binKingfisher is a command-line secret scanner…
permissive · top 15,000 on PyPI
uv-secureScans uv.lock, pylock.toml, and…
permissive · top 15,000 on PyPI
safetySafety CLI scans Python project dependencies…
permissive · top 5,000 on PyPI
scancode-toolkitScanCode Toolkit detects licenses, copyrights,…
permissive · top 15,000 on PyPI
cyseqcyseq provides a Cython-optimized…
permissive · top 15,000 on PyPI