aboutcode-org / scancode-analyzer

scancode-results-analyzer
4 stars 2 forks source link

GUI based Review Framework for New Scancode Rules #8

Open AyanSinhaMahapatra opened 4 years ago

AyanSinhaMahapatra commented 4 years ago

pyQT - https://doc.qt.io/qtforpython/tutorials/index.html

Use Cases -

  1. Reviewing and Editing proposed Rules/.yml Files using a GUI
  2. Reviewing and testing the Different Stages of the Analysis Pipeline

Steps -

  1. Create Loading/Storing Functions for Rules
  2. Design the GUI
  3. Add subsequent Buttons/Functions to enable editing/reviewing
  4. Add keyboard control for speed
  5. Add functionality to show the source file (when Required)
pombredanne commented 4 years ago

@AyanSinhaMahapatra Are you sure about PyQT? I would not want to use PyQT for several reasons, including licensing. If we do anything there that would be web-based for sure IMHO.

AyanSinhaMahapatra commented 4 years ago

@pombredanne If using pyqt, at https://pypi.org/project/PySide2/, under licensing it says PySide2 is available under both Open Source (LGPLv3/GPLv2) and commercial license, so I thought it's available under lgpl/gpl tho I didn't inspect properly.

But on more inspection, it could be used with open-source licenses See - https://www.qt.io/licensing/ and the comparison below.

This has a selection box at the left to see what features could be used under open source licenses, and that includes mostly everything, more than we need (I'll mainly need PySide2.QtCore and PySide2.QtGui only, and possibly something for keyboard control)

I thought this was easy because it's cross-platform and very easy to use, and generates editable GUI boxes without the browser.

The idea is we'll have the proposed rule, and it's .yml file side by side in a GUI box, every field including the rule editable, and could be done by keystrokes. I think there is browser facing libraries for qt as well, but I'm not sure and have to check for licensing of those.

Now if there's a web-based alternative for the same tasks, and that would be required for integration, that works too. Please suggest alternatives, if you know any, or I'll look them up.