-
-
Notifications
You must be signed in to change notification settings - Fork 714
Open
Milestone
Description
The current CSV output is a mess, albeit a convenient mess. We need something and quick. I suggest these short term and long term actions
For now in v31:
- Deprecate and hide the CLI help the current
--csvoption so that we do not further the mess in r31.... drop it entirely in v32 #3047
The deprecation message should have a link to this PR.
In v32:
-
Create a new
--csv-fileoption that would only list file level details in this way:- file info columns, license expression, copyright, holder, urls, emails, "for_package".
- no line number columns, no package data
- exactly one row per file
- multiple values are joined with a line in a single cell
- long values that exceed offices tools limits are truncated
-
Create a new
--csv-packageoption that would only list package details:- one row per package instance
-
Create a new
--csv-dependencyoption that would only list dependency details:- one row per dependency instance
-
Create a new
--csv-licenseoption that would only list file level license scan information, used for debugging and hidden from the CLI help:- one row for each license match with diagnostic details for each match (rule, scores, etc)
-
Drop the hidden
--csvoption in v32 -
Add new XLSX option that creates a proper spreadsheet with multiples tabs
- files
- packages
- dependencies
- summary
- and possibly: file "package_data", file "license_detections"
where these essentially mirror the new csv-* options
For reference, we have these related issues:
- Consider breaking CSV output in multiple XLSX "tabs" or files #2839 is the key issue and would drop CSV for XLSX
- Detected package data should be shown in string format for CSV output #1551 shows that serialization in a row is always an issue
- Rework the CSV output #2249
- Show consolidation results in CSV output #1822
-
--from-jsonthrows error when trying to covert to CSV from a package id's json file #1398 - CSV output always returns at least two rows #829
- Add option for tabular output format #830
- during pyside6-essentials scan, scancode does not detect LGPL/GPL licenses in files #2936 where @yahym uses a pivot table
-
--license-textoption only works when output is json #1330 shows we have documentation issues - Combining more than 1 path in a scan does not work #1654 ... combining JSONs to create a CSV is not easy
Reactions are currently unavailable