Skip to main content

ScanCode is a tool to scan code for license, copyright, package and their documented dependencies and other interesting facts.

Project description

ScanCode Toolkit is a set of code scanning tools that detect the origin (copyrights), license and vulnerabilities of code, packages and dependencies in a codebase. ScanCode Toolkit is an AboutCode project.

Why Use ScanCode Toolkit?

ScanCode Toolkit is the leading tool in scanning depth and accuracy, used by hundreds of software teams. You can use ScanCode Toolkit as a command line tool or as a library.

Getting Started

Instructions to get you up and running on your local machine are at Getting Started

The ScanCode Toolkit documentation also provides:

  • prerequisites for installing the software.

  • instructions guiding you to start scanning code.

  • a comprehensive guide to the command line options.

  • tutorials that provide hands-on guidance to ScanCode features.

  • how to expand ScanCode Licenses and Detection Rules with your own data.

  • how to generate Attribution from a ScanCode scan.

  • guidelines for contributing to code development.

Build and tests status

We run 30,000+ tests on each commit on multiple CIs to ensure a good platform compabitility with multiple versions of Windows, Linux and macOS.

Azure

RTD Build

GitHub actions Docs

GitHub actions Release

Azure tests status (Linux, macOS, Windows)

Documentation Status

Documentation Tests

Release tests

Benefits of ScanCode

  • ScanCode is heavily tested with an automated test suite of over 30,000 tests.

  • ScanCode is used by several projects and organizations such as the Eclipse Foundation, OpenEmbedded.org, the FSFE, the FSF, OSS Review Toolkit, ClearlyDefined.io, RedHat Fabric8 analytics, and many more.

  • You can also organize and run ScanCode server-side with the companion ScanCode.io web app to organize and store multiple scan projects including scripted scanning pipelines.

  • As a standalone command-line tool, ScanCode is easy to install, run, and embed in your CI/CD processing pipeline. It runs on Windows, macOS, and Linux.

  • ScanCode detects licenses, copyrights, package manifests, direct dependencies, and more both in source code and binary files and is considered as the best-in-class and reference tool in this domain, re-used as the core tools for software composition data collection by several open source tools.

  • ScanCode provides the most accurate license detection engine and does a full comparison (also known as diff or red line comparison) between a database of license texts and your code instead of relying only on approximate regex patterns or probabilistic search, edit distance or machine learning.

  • Written in Python, ScanCode is easy to extend with plugins to contribute new and improved scanners, data summarization, package manifest parsers, and new outputs.

  • You can save your scan results as JSON, YAML, HTML, CycloneDX or SPDX or even create your own format with Jinja templates.

  • ScanCode can process packages, build manifest and lockfile formats to collect Package URLs and extract metadata. See all available package parsers for the exhaustive list.

Support

If you have a specific problem, suggestion or bug, please submit a GitHub issue.

For quick questions or socializing, join the AboutCode community discussions on Slack.

Interested in commercial suppport? Contact the AboutCode team.

License

  • Apache-2.0 is the overall license.

  • CC-BY-4.0 applies to reference datasets.

  • There are multiple secondary permissive or copyleft licenses (LGPL, MIT, BSD, GPL 2/3, etc.) for third-party components and test suite code and data.

See the NOTICE file and the .ABOUT files that document the origin and license of the third-party code used in ScanCode for more details.

Acknowledgements, Funding, Support and Sponsoring

This project is funded, supported and sponsored by:

  • Generous support and contributions from users like you!

  • the European Commission NGI programme

  • the NLnet Foundation

  • the Swiss State Secretariat for Education, Research and Innovation (SERI)

  • Google, including the Google Summer of Code and the Google Seasons of Doc programmes

  • Mercedes-Benz Group

  • Microsoft and Microsoft Azure

  • AboutCode ASBL

  • nexB Inc.

Europa logo EC DG Connect logo

NGI logo NLnet foundation logo

AboutCode logo nexB logo

This project was funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.

NGI Discovery logo https://nlnet.nl/project/vulnerabilitydatabase/

This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.

NGI Zero Entrust logo https://nlnet.nl/project/Back2source/

This project was funded through the NGI0 Core Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990.

NGI Zero Core Logo https://nlnet.nl/project/Back2source-next/

This project was funded through the NGI0 Core Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990.

NGI Zero Core Logo https://nlnet.nl/project/FastScan/

This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).

NGI Zero Commons Logo Swiss logo https://nlnet.nl/project/MassiveFOSSscan/

This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.

NGI Zero Entrust logo https://nlnet.nl/project/purl2sym/

End of ScanCode Toolkit README

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scancode_toolkit-32.5.0.tar.gz (22.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

scancode_toolkit-32.5.0-cp314-none-any.whl (126.2 MB view details)

Uploaded CPython 3.14

scancode_toolkit-32.5.0-cp313-none-any.whl (126.2 MB view details)

Uploaded CPython 3.13

scancode_toolkit-32.5.0-cp312-none-any.whl (126.2 MB view details)

Uploaded CPython 3.12

scancode_toolkit-32.5.0-cp311-none-any.whl (126.2 MB view details)

Uploaded CPython 3.11

scancode_toolkit-32.5.0-cp310-none-any.whl (126.2 MB view details)

Uploaded CPython 3.10

File details

Details for the file scancode_toolkit-32.5.0.tar.gz.

File metadata

  • Download URL: scancode_toolkit-32.5.0.tar.gz
  • Upload date:
  • Size: 22.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scancode_toolkit-32.5.0.tar.gz
Algorithm Hash digest
SHA256 5970190a4d1a46629bd54535b9df7999914700c0bd53e80345df70ed36535520
MD5 a70801689406d7dc3b378cc5d67ee644
BLAKE2b-256 ab206192a203ccf5e83e3febd1c671eb3447082ff3ea25e5311eb0237f917c9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for scancode_toolkit-32.5.0.tar.gz:

Publisher: scancode-release.yml on aboutcode-org/scancode-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scancode_toolkit-32.5.0-cp314-none-any.whl.

File metadata

File hashes

Hashes for scancode_toolkit-32.5.0-cp314-none-any.whl
Algorithm Hash digest
SHA256 84c6ef71a693a2ee3c5f5b643a3a69d191443381a97a1b7e81ed9446852d91fc
MD5 049134542f951a5046c909730597b03e
BLAKE2b-256 0a220b8d68498568a9da5570d43d82b579c6eff46192a8027c5644e4dfc518f0

See more details on using hashes here.

File details

Details for the file scancode_toolkit-32.5.0-cp313-none-any.whl.

File metadata

File hashes

Hashes for scancode_toolkit-32.5.0-cp313-none-any.whl
Algorithm Hash digest
SHA256 11c9c2118ac04754982c57015b64c9d3d7b1ccc22d5f2535502fddf876adbddb
MD5 9abff5e2f5b308fcd6008529db31fe0b
BLAKE2b-256 02bbabfa88f637b2711e0a7b3bf1bb7bb0ffc49941d4f8fe418f7be1bb47c479

See more details on using hashes here.

Provenance

The following attestation bundles were made for scancode_toolkit-32.5.0-cp313-none-any.whl:

Publisher: scancode-release.yml on aboutcode-org/scancode-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scancode_toolkit-32.5.0-cp312-none-any.whl.

File metadata

File hashes

Hashes for scancode_toolkit-32.5.0-cp312-none-any.whl
Algorithm Hash digest
SHA256 f6bc16880d495393c8475a77155ddc38a800c0b7f8f75e81a165a00fadb4ca06
MD5 b1696608a147b89ef1d35eaa04344a2f
BLAKE2b-256 533a3e9e217f2510531514d36d0f6da451ece156ac5ff938535e60ed8e5cb805

See more details on using hashes here.

Provenance

The following attestation bundles were made for scancode_toolkit-32.5.0-cp312-none-any.whl:

Publisher: scancode-release.yml on aboutcode-org/scancode-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scancode_toolkit-32.5.0-cp311-none-any.whl.

File metadata

File hashes

Hashes for scancode_toolkit-32.5.0-cp311-none-any.whl
Algorithm Hash digest
SHA256 327d20a0de71d49930d8a6919c2b6d54c2acf4dd0a1d48da9a71dd4ce7b97b78
MD5 d858b78e2a3ae51b8c1c4da1112c9955
BLAKE2b-256 be6ed4e4c2de604c4369f89d446e0b98f0e39573077edfc9f1a1afbc380b7ad8

See more details on using hashes here.

Provenance

The following attestation bundles were made for scancode_toolkit-32.5.0-cp311-none-any.whl:

Publisher: scancode-release.yml on aboutcode-org/scancode-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scancode_toolkit-32.5.0-cp310-none-any.whl.

File metadata

File hashes

Hashes for scancode_toolkit-32.5.0-cp310-none-any.whl
Algorithm Hash digest
SHA256 b73eac8ae8aecff583d8eed79e1cb4270559c99938bb29ec08c96f2f417b420b
MD5 d83222d80de258a135dec92bfe0be82f
BLAKE2b-256 4ce272cc5cd51e0a3d7a24ce41b79ec1af162a58eac5cff3cc58656a4059f88d

See more details on using hashes here.

Provenance

The following attestation bundles were made for scancode_toolkit-32.5.0-cp310-none-any.whl:

Publisher: scancode-release.yml on aboutcode-org/scancode-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page