Skip to content

giving WPPM a non-Qt gui option #834

Open

Description

@stonebig

It's time to explore a non-Qt gui option for wppm, that must be small enough to fit in the ".dot"
version
options:

  • tkinter,
  • flask, (learning the rest ropes, yet to get it work, you need to add a lot of small packages)
  • PySimpleGUI
  • remi
  • ... ?

functionnalities of wppm gui:

  • show list of packages and names of a given winpython directory (or let simply to current)
  • allow to select a wheel to install. (drag & drop)
  • allow to remove a wheel from install (checkmark)
  • standalone (no internet required)
  • small would be a bonus (so can feed into a dot version)
  • is a move forward rather than a tkinter development

contributors ideas are welcomed.

Activity

  1. stonebig commented on Apr 10, 2020

    @stonebig
    ContributorAuthor

    in the process of looking at it:

    • "npm config set ignore-scripts true"
    • Typescript takeover Javascript by default mid 2020,
    • WASM allow to execute native packages in the browser.
  2. stonebig commented on Apr 17, 2020

    @stonebig
    ContributorAuthor

    thinking to use sqlite with json1 extension, now available in Python-3.9

  3. hiccup7 commented on Jul 3, 2020

    @hiccup7

    Another reason for non-Qt gui option is that wppm could then be used to change versions of PyQt or PySide2.

    I don't like Remi because it requires compatibility with all web browsers where WinPython may be installed. A very difficult thing. Also, a properly-secured web browser should be isolated from anything that can install software.

    Since WinPython is released with alpha and beta versions of Python, it would frustrating to find that a gui package doesn't work with these Python versions. For example, see https://github.com/PySimpleGUI/PySimpleGUI#python-37 It doesn't work with Python 3.7.3 or later.

    I propose that wppm use Tkinter, which is included in the standard (built-in) library. If wppm uses any package for the gui, then that package cannot be changed with wppm. Tkinter has the highest probability of working correctly in alpha and beta versions of Python.

    Translating the current wppm from Qt to Tkinter may be a good project for a student. Removing the requirement for drag-n-drop may help the project succeed for the first release.

  4. stonebig commented on Jul 4, 2020

    @stonebig
    ContributorAuthor

    It already works with pyside2.

    Tkinter problem is zero appeal/zero future: nobody sane will invest time specifically targeting it.

  5. hiccup7 commented on Jul 5, 2020

    @hiccup7

    What works for PySide2, which doesn't work for PyQt?

  6. przemororo commented on Nov 15, 2020

    @przemororo

    Perhaps option with update package via pip and checking packages updates will be good feature

  7. stonebig commented on Nov 15, 2020

    @stonebig
    ContributorAuthor

    You can use pip already, the GUI was just a basic layer over pip .

    I'm not so sure the current GUI makes much sense nowadays, and with pip new resolver it may even be harmfull.

    My hope/push is to make pip json friendly and api friendly, so it can be easily completed with an html front-end by a motivated millennial.

  8. 17 remaining items

  9. stonebig commented on Jul 3, 2022

    @stonebig
    ContributorAuthor

    Yesterday trying to click to de-install, the checkmark was not displayed, so my remark

  10. firai commented on Jul 3, 2022

    @firai
    Contributor

    Seems to be a bug/incompatibility with Pyside6 6.3.1. The checkboxes don't respond correctly on CPython (at least 3.10) either.

    Edit: And the checkboxes seem to work correctly with Pyside6 6.3.0 on PyPy.

  11. stonebig commented on Jul 3, 2022

    @stonebig
    ContributorAuthor

    Would you mind posting your discovery on gitter of pyside ?

  12. firai commented on Jul 4, 2022

    @firai
    Contributor

    I think I found a fix for PySide6 6.3 (#1083), but I haven't tested the fix against PyQt5 (or the other variants) yet. Unfortunately, I might not have time to so for several days. If you're able to test the patch against PyQt5, that would be great.

  13. stonebig commented on Jan 24, 2023

    @stonebig
    ContributorAuthor

    wppm has the basic options, in line command... still a webapi or more refinements shall be interesting over that

  14. stonebig commented on May 4, 2025

    @stonebig
    ContributorAuthor

    at the moment, still no clear solution of what a "simple" gui shall be, that won't hurt maintainance.

    • some people talk about flet
    • maybe an AI can generate a tcl/tk (non web)
    • gui are interesting when there is a big "ergonomic" benefit;
      • there must be first real ergonomic "winner" ideas (navigating the packages ? maybe in rich ?)
      • there must be an AI to code it / maintain it
      • and it must fit into a small "dot" version.
  15. chrisrodrigue commented on Aug 18, 2025

    @chrisrodrigue

    Here's a simple comparison table of 4 mature GUI libraries that I know about.

    Library Pros Cons
    tkinter Built-in library; cross-platform Outdated look; needs sv-ttk for modern UI
    nicegui Easy to use; modern UI Web only; limited offline support
    streamlit Extremely easy to use; rapid prototyping Web only; user events refresh whole app state
    flet Easy to use; supports web, desktop, and mobile; Google-backed (Flutter) Smaller community; less mature than others
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions