11================
2- ScanCode toolkit
2+ ScanCode Toolkit
33================
44
5- A typical software project often reuses hundreds of third-party packages.
6- License and packages, dependencies and origin information is not always easy to
7- find and not normalized: ScanCode discovers and normalizes this data for you.
5+ 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 <https://aboutcode.org >`_.
86
9- Read more about ScanCode here: https://scancode-toolkit.readthedocs.io/.
7+ Why Use ScanCode Toolkit?
8+ =========================
9+
10+ 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.
1011
11- Check out the code at https://github.com/nexB/scancode-toolkit
12+ Getting Started
13+ ===============
1214
13- Discover also:
15+ Instructions to get you up and running on your local machine are at ` Getting Started < https://scancode-toolkit.readthedocs.io/en/stable/getting-started/index.html >`_
1416
15- - The ScanCode.io server project here: https://scancodeio.readthedocs.io
16- - The ScanCode Workbench project for visualization of scancode results data:
17- https://github.com/nexB/scancode-workbench
18- - Other companion SCA projects for code origin, license and security analysis
19- here: https://aboutcode.org
17+ The ScanCode Toolkit documentation also provides:
2018
19+ - prerequisites for installing the software.
20+ - instructions guiding you to start scanning code.
21+ - a comprehensive guide to the command line options.
22+ - tutorials that provide hands-on guidance to ScanCode features.
23+ - how to expand ScanCode Licenses and Detection Rules with your own data.
24+ - how to generate Attribution from a ScanCode scan.
25+ - guidelines for contributing to code development.
2126
2227Build and tests status
2328======================
@@ -31,13 +36,10 @@ compabitility with multiple versions of Windows, Linux and macOS.
3136| |azure | | |docs-rtd | | |docs-github-actions | | |release-github-actions | |
3237+------------+--------------+-------------------------+----------------------------+
3338
39+ Benefits of ScanCode
40+ ====================
3441
35- Why use ScanCode?
36- =================
37-
38- - As a **standalone command-line tool **, ScanCode is **easy to install **, run,
39- and embed in your CI/CD processing pipeline.
40- It runs on **Windows, macOS, and Linux **.
42+ - ScanCode is heavily **tested ** with an automated test suite of over **30,000 tests **.
4143
4244- ScanCode is **used by several projects and organizations ** such as
4345 the `Eclipse Foundation <https://www.eclipse.org >`_,
@@ -49,6 +51,14 @@ Why use ScanCode?
4951 `RedHat Fabric8 analytics <https://github.com/fabric8-analytics >`_,
5052 and many more.
5153
54+ - You can also organize and run ScanCode server-side with the
55+ companion `ScanCode.io web app <https://github.com/aboutcode-org/scancode.io >`_
56+ to organize and store multiple scan projects including scripted scanning pipelines.
57+
58+ - As a **standalone command-line tool **, ScanCode is **easy to install **, run,
59+ and embed in your CI/CD processing pipeline.
60+ It runs on **Windows, macOS, and Linux **.
61+
5262- ScanCode detects licenses, copyrights, package manifests, direct dependencies,
5363 and more both in **source code ** and **binary ** files and is considered as the
5464 best-in-class and reference tool in this domain, re-used as the core tools for
@@ -66,187 +76,32 @@ Why use ScanCode?
6676- You can save your scan results as **JSON, YAML, HTML, CycloneDX or SPDX ** or
6777 even create your own format with Jinja templates.
6878
69- - You can also organize and run ScanCode server-side with the
70- companion `ScanCode.io web app <https://github.com/nexB/scancode.io >`_
71- to organize and store multiple scan projects including scripted scanning pipelines.
72-
73- - ScanCode output data can be easily visualized and analysed using the
74- `ScanCode Workbench <https://github.com/nexB/scancode-workbench >`_ desktop app.
75-
76- - ScanCode is **actively maintained **, has a **growing users and contributors
77- community **.
78-
79- - ScanCode is heavily **tested ** with an automated test suite of over **20,000 tests **.
80-
81- - ScanCode has an extensive and growing documentation.
82-
8379- ScanCode can process packages, build manifest and lockfile formats to collect
84- Package URLs and extract metadata: Alpine packages, BUCK files, ABOUT files,
85- Android apps, Autotools, Bazel, JavaScript Bower, Java Axis, MS Cab,
86- Rust Cargo, Cocoapods, Chef Chrome apps, PHP Composer and composer.lock,
87- Conda, CPAN, Debian, Apple dmg, Java EAR, WAR, JAR, FreeBSD packages,
88- Rubygems gemspec, Gemfile and Gemfile.lock, Go modules, Haxe packages,
89- InstallShield installers, iOS apps, ISO images, Apache IVY, JBoss Sar,
90- R CRAN, Apache Maven, Meteor, Mozilla extensions, MSI installers,
91- JavaScript npm packages, package-lock.json, yarn.lock, NSIS Installers,
92- NuGet, OPam, Cocoapods, Python PyPI setup.py, setup.cfg, and
93- several related lockfile formats, semi structured README
94- files such as README.android, README.chromium, README.facebook, README.google,
95- README.thirdparty, RPMs, Shell Archives, Squashfs images, Java WAR, Windows
96- executables and the Windows registry
97- and a few more. See `all available package parsers <https://scancode-toolkit.readthedocs.io/en/stable/reference/available_package_parsers.html >`_
80+ Package URLs and extract metadata. See all available `package parsers
81+ <https://scancode-toolkit.readthedocs.io/en/stable/reference/index.html> `_
9882 for the exhaustive list.
9983
100- See our `roadmap <https://scancode-toolkit.readthedocs.io/en/latest/contribute/roadmap.html >`_
101- for upcoming features.
102-
103-
104- Documentation
105- =============
106-
107- The ScanCode documentation is hosted at
108- `scancode-toolkit.readthedocs.io <https://scancode-toolkit.readthedocs.io/en/latest/ >`_.
109-
110- If you are new to visualization of scancode results data, start with our
111- `newcomer <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/newcomer.html >`_ page.
112-
113- If you want to compare output changes between different versions of ScanCode,
114- or want to look at scans generated by ScanCode, review our
115- `reference scans <https://github.com/nexB/scancode-toolkit-reference-scans >`_.
116-
117- Other Important Documentation Pages:
118-
119- - A `synopsis <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/synopsis.html >`_
120- of ScanCode command line options.
121-
122- - Tutorials on:
123-
124- - `How to run a scan <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_run_a_scan.html >`_
125- - `How to visualize scan results <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_visualize_scan_results.html >`_
126-
127- - An exhaustive list of `all available options <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/list-options.html >`_
128-
129- - Documentation on `Contributing to Code Development <https://scancode-toolkit.readthedocs.io/en/latest/contribute/contrib_dev.html >`_
130-
131- - Documentation on `Plugin Architecture <https://scancode-toolkit.readthedocs.io/en/latest/plugins/plugin-architecture.html >`_
132-
133- - `FAQ <https://scancode-toolkit.readthedocs.io/en/latest/misc/faq.html >`_
134-
135- See also https://aboutcode.org for related companion projects and tools.
136-
137-
138- Installation
139- ============
140-
141- Before installing ScanCode make sure that you have installed the prerequisites
142- properly. This means installing Python 3.13 for x86/64 architectures.
143- We support Python 3.10, 3.11, 3.12 and 3.13.
144-
145- See `prerequisites <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#prerequisites >`_
146- for detailed information on the support platforms and Python versions.
147-
148- There are a few common ways to `install ScanCode <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html >`_.
149-
150- - `**Installation as an application: Install Python 3.13, download a release archive, extract and run**.
151- <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-as-an-application-downloading-releases> `_
152- This is the recommended installation method.
153-
154- - `Development installation from source code using a git clone
155- <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-from-source-code-git-clone> `_
156-
157- - `Development installation as a library with "pip install scancode-toolkit"
158- <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#pip-install> `_
159- [Note that this is not supported on arm64 machines]
160-
161- - `Run in a Docker container with a git clone and "docker run"
162- <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-using-docker> `_
163-
164- - In Fedora 40+ you can `dnf install scancode-toolkit `
165-
166-
167- Quick Start
168- ===========
169-
170- After ScanCode is installed successfully you can run an example scan printed on screen as JSON::
171-
172- scancode -clip --json-pp - samples
173-
174- Follow the `How to Run a Scan <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_run_a_scan.html >`_
175- tutorial to perform a basic scan on the ``samples `` directory distributed by
176- default with ScanCode.
177-
178- See more command examples::
179-
180- scancode --examples
181-
182- See `How to select what will be detected in a scan
183- <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_set_what_will_be_detected_in_a_scan.html> `_
184- and `How to specify the output format <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_format_scan_output.html >`_
185- for more information.
186-
187- You can also refer to the `command line options synopsis
188- <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/synopsis.html> `_
189- and an exhaustive list of `all available command line options
190- <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/list-options.html> `_.
191-
192-
193- Archive extraction
194- ==================
195-
196- By default ScanCode does not extract files from tarballs, zip files, and
197- other archives as part of the scan. The archives that exist in a codebase
198- must be extracted before running a scan: `extractcode ` is a bundled utility
199- behaving as a mostly-universal archive extractor. For example, this command will
200- recursively extract the mytar.tar.bz2 tarball in the mytar.tar.bz2-extract
201- directory::
202-
203- ./extractcode mytar.tar.bz2
204-
205- See `all extractcode options <https://scancode-toolkit.readthedocs.io/en/latest/reference/cli-extractcode.html >`_
206- and `how to extract archives <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_extract_archives.html >`_ for details.
207-
208-
20984Support
21085=======
21186
212- If you have a problem, a suggestion or found a bug, please enter a ticket at:
213- https://github.com/nexB /scancode-toolkit/issues
87+ If you have a specific problem, suggestion or bug, please submit a
88+ ` GitHub issue < https://github.com/aboutcode-org /scancode-toolkit/issues >`_.
21489
215- For discussions and chats, we have:
90+ For quick questions or socializing, join the AboutCode community discussions on ` Slack < https://join.slack.com/t/aboutcode-org/shared_invite/zt-3li3bfs78-mmtKG0Qhv~G2dSlNCZW2pA >`_.
21691
217- * an official Gitter channel for `web-based chats
218- <https://matrix.to/#/#aboutcode-org_discuss:gitter.im> `_.
219- Gitter is now accessible through `Element <https://element.io/download >`_
220- or an `IRC bridge <https://matrix-org.github.io/matrix-appservice-irc/latest/usage.html >`_.
221- There are other AboutCode project-specific channels available there too.
222-
223- * The discussion channel for `scancode <https://matrix.to/#/#aboutcode-org_scancode:gitter.im >`_
224- specifically aimed at users and developers using scancode-toolkit.
225-
226- Source code and downloads
227- =========================
228-
229- * https://github.com/aboutcode-org/scancode-toolkit/releases
230- * https://github.com/aboutcode-org/scancode-toolkit.git
231- * https://pypi.org/project/scancode-toolkit/
232- * https://github.com/aboutcode-org/scancode-thirdparty-src.git
233- * https://github.com/aboutcode-org/scancode-plugins.git
234- * https://github.com/aboutcode-org/thirdparty-packages.git
92+ Interested in commercial suppport? Contact the `
AboutCode team <
mailto:[email protected] >`_.
23593
23694License
23795=======
23896
239- * Apache-2.0 as the overall license
240- * CC-BY-4.0 for reference datasets (initially was in the Public Domain) .
241- * Multiple other secondary permissive or copyleft licenses (LGPL, MIT,
97+ * ` Apache-2.0 < apache-2.0.LICENSE >`_ is the overall license.
98+ * ` CC-BY-4.0 < cc-by-4.0.LICENSE >`_ applies to reference datasets .
99+ * There are multiple secondary permissive or copyleft licenses (LGPL, MIT,
242100 BSD, GPL 2/3, etc.) for third-party components and test suite code and data.
243101
244-
245- See the NOTICE file and the .ABOUT files that document the origin and license of
102+ See the `NOTICE file <NOTICE >`_ and the `.ABOUT files <https://github.com/search?q=repo%3Aaboutcode-org%2Fscancode-toolkit+path%3A*.ABOUT&type=code >`_ that document the origin and license of
246103the third-party code used in ScanCode for more details.
247104
248-
249-
250105.. |azure | image :: https://dev.azure.com/nexB/scancode-toolkit/_apis/build/status/nexB.scancode-toolkit?branchName=develop
251106 :target: https://dev.azure.com/nexB/scancode-toolkit/_build/latest?definitionId=1&branchName=develop
252107 :alt: Azure tests status (Linux, macOS, Windows)
@@ -265,7 +120,7 @@ the third-party code used in ScanCode for more details.
265120
266121
267122Acknowledgements, Funding, Support and Sponsoring
268- --------------------------------------------------------
123+ =================================================
269124
270125This project is funded, supported and sponsored by:
271126
@@ -394,3 +249,5 @@ Communications Networks, Content and Technology under grant agreement No 1010695
394249 :target: https://nlnet.nl/discovery/
395250 :height: 40
396251 :alt: NGI Discovery logo
252+
253+ **End of ScanCode Toolkit README **
0 commit comments