scarfer
Source code scan report file reporter
Introduction
Scarfer outputs compliance related information from a scan report.
A scan report contain lots of information, for example Scancode has 37 entries on the top level for each file, about a file and it is sometimes cumbersome to open with an editor to extract the information wanted. Scarfer provides a quick command line access to scan reports.
Features
Scarfer can output the following information per file:
-
copyright (using
-c) -
license (using
-l) -
text that caused the license detection (
-m)
Scarfer can output the following summaries
-
license summary (using
-ls) -
copyright summary (using
-cs)
Filter
Scarfer can filter files:
-
include files with:
-
license name (
-il) using Python's regular expressions -
files (
-if) using Python's regular expressions -
files (
-iff) by reading a file, containing file names, using Python's regular expressions -
copyright (
-ec) using Python's regular expressions
-
-
exclude files with:
-
license name (
-el) using Python's regular expressions -
files (
-ef) using Python's regular expressions -
files (
-eff) by reading a file, containing file names, using Python's regular expressions -
copyright (
-ec) using Python's regular expressions
-
Note: if you're using more than one filter then filters are AND:ed together
Curate
Scarfer can curate (fix, amend) license identifications:
-
curate license (
-cml) for all files with missing license -
curate license (
-cfl) for all files matching Python's regular expressions
Configuration file
Scarfer can write and read configuration files:
-
output current (
-oc) command line options to a configuration output -
read configuration file (
--config)
Example use
Output the file names (full path) of all the files in the Scancode report example-data/cairo-1.16.0-scan.json:
$ scarfer example-data/cairo-1.16.0-scan.json
As above but output only files with path matching drm:
$ scarfer example-data/cairo-1.16.0-scan.json -if drm
Output the file names (full path) of all the files in the Scancode report example-data/cairo-1.16.0-scan.json with a license matching gpl-3:
$ scarfer example-data/cairo-1.16.0-scan.json -il gpl-3
Output the file names (full path) of all the files in the Scancode report example-data/cairo-1.16.0-scan.json with a license matching mpl and files with path matching drm. The output should also contain information (per file) about license and copyright:
$ scarfer example-data/cairo-1.16.0-scan.json -il mpl -if drm -c -l
To filter in all files containing "/*pdi" and ending with ".c":
$ scarfer example-data/cairo-1.16.0-scan.json -if "/.*pdi.*\.c$"
To filter out all files containing "/*pdi" and ending with ".c":
$ scarfer example-data/cairo-1.16.0-scan.json -ef "/.*pdi.*\.c$"
Supported scan report formats
-
Scancode Toolkit, version 21 and upwards
-
Scancode Output Format version 1.0.0, 2.0.0, 3.0, 3.2, 4.0, 4.1.0
Hints on source code scanners
Scancode 32.0*
Assuming you want to scan a directory called cairo and store the output in cairo-scan.json:
scancode -clipe \
--license-text --license-text-diagnostics \
--classify --license-clarity-score --summary \
-n $(cat /proc/cpuinfo | grep processor | wc -l) \
--json-pp cairo-scan.json cairo
Metadata
Release files for scarfer 0.5.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scarfer-0.5.11.tar.gz | 28.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scarfer-0.5.11-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 57.8 kB
Release files / scarfer-0.5.11.tar.gz
| Download URL | scarfer-0.5.11.tar.gz |
|---|---|
| Size | 28.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
13634bd9e12b8ad512021d48f1771ada15a40566c830708d2c5b3f8f5c8c4111
|
|
BLAKE2b-256 checksum How to use checksums |
b35a49e404a3f3a5415a4c7b5eaa888059c8a09fd2571886d8bffeadeeca9485
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / scarfer-0.5.11-py2.py3-none-any.whl
| Download URL | scarfer-0.5.11-py2.py3-none-any.whl |
|---|---|
| Size | 29.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
e7cf2003c2b7b992e6d9f2e0d2662fcc29834a566c9bce0ba1e585cde024752e
|
|
BLAKE2b-256 checksum How to use checksums |
1b76b24aa5ef5ce4823beb7e75ac78595eb8df43134656e9aa9e17d7604cea32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|