Skip to main content

A pip UI tool

Project description

pip-ui-tkinter

A Tkinter desktop GUI that puts a friendly face on Python's most-used packaging tools. Instead of remembering flags across pip, pipx, build, twine, virtualenv, pip-audit, hatch, flit, pypi-server, and devpi, you click through them in a single window — with discoverable forms, live output, and guardrails on the destructive bits.

Why pip-ui-tkinter

  • One window, ten tools. Switch between pip, pipx, build, twine, virtualenv, pip-audit, hatch, flit, pypi-server, and devpi from a single tool switcher. No need to context-switch between docs, terminals, and tutorials.
  • Discoverable commands. Every subcommand and flag is laid out as a tree with a generated form. You see what's available without --help-ing your way through ten layers of subcommands.
  • Real CLI underneath. The UI doesn't reimplement anything — it constructs the exact CLI invocation and runs it. The full argv is shown before and after every run, so you can copy/paste it into a script or learn what the UI just did.
  • Safety rails. Commands are classified as read-only, environment-modifying, destructive, or risky-config. A --safe-mode flag prompts for confirmation before anything that would uninstall, purge, or rewrite configuration. Global installs are flagged. Secrets in flags are redacted in history and output.
  • Pure Python, pure stdlib UI. Tkinter ships with Python — no Electron, no browser, no npm. The app launches fast and runs anywhere Python and Tk do.

Features

Multi-tool support

Each tool is a plugin with its own command catalog, run mode, and (where relevant) custom panel:

Tool What it does in pip-ui
pip Install, uninstall, list, freeze, show, check, inspect, configure, cache, debug
pipx Install and manage CLI apps in isolated envs; pick the Python they use
build Build sdists and wheels for the current project
virtualenv Create virtual environments with a guided form
twine Upload, check, and register distributions
pip-audit Scan an env or requirements file; results render in a dedicated panel
hatch Project and environment commands with an environment panel
flit Build and publish flit-managed projects
pypi-server Run a local PyPI-compatible index for testing
devpi Drive a devpi server and client from a dedicated panel

Interpreter & environment awareness

  • Auto-discovers the system Python, the active VIRTUAL_ENV, project .venv, and python/py on PATH.
  • Switch interpreters per-run from the dropdown; the UI invokes commands via python -m <tool> against the selected interpreter so you can target any env.
  • Working-directory picker — point any command at a specific project.
  • --diagnostics mode prints a Markdown report on the selected interpreter without launching the GUI.

Forms generated from command specs

  • Every command knows its required and optional arguments, types, choices, and help text. The form is rendered from that spec, so you get the right widget (checkbox, picker, multi-value, text) for the right flag.
  • Per-command global options dialog (proxy, index URL, trusted hosts, etc.) so you don't repeat yourself.
  • Requirements-file picker, index selector, and certificate tester live alongside the form.

Live output and history

  • Stdout/stderr stream into an output panel as the command runs — no waiting for completion to see what happened.
  • Per-command output cache: re-selecting a command restores its last output instead of a blank panel.
  • Command history records every run (argv, exit code, duration). Disable with --no-history if you prefer not to write it to disk.
  • Common pip errors are intercepted and translated to a plain-language explanation.

Safety and secrets

  • --safe-mode puts a confirmation dialog in front of any destructive or config-mutating command.
  • Auto-detection of global installs warns before they're committed.
  • Tool plugins declare which flags carry secrets (tokens, passwords); those values are redacted in the output panel and history file.

Self-update check

  • The app checks for newer versions of pip-ui-tkinter in the background and surfaces an upgrade hint when one's available. Manual checks available from the menu.

Quick start

pipx install pip-ui-tkinter
pip-ui

Useful flags:

pip-ui --interpreter /path/to/python   # start with a specific interpreter selected
pip-ui --working-directory ./myproj    # start in a specific project dir
pip-ui --safe-mode                     # confirm before destructive commands
pip-ui --no-history                    # do not record history to disk
pip-ui --diagnostics                   # print env diagnostics and exit

To get the optional tools that aren't pip itself, install the matching extra (build, virtualenv, twine, pip-audit, hatch, flit, pipx, pypiserver, devpi) or all-tools for everything.

Requirements

  • Python 3.10+
  • Tkinter (bundled with python.org installers; on Linux install your distro's python3-tk package)

Links

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip_ui_tkinter-0.2.0.tar.gz (110.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pip_ui_tkinter-0.2.0-py3-none-any.whl (107.3 kB view details)

Uploaded Python 3

File details

Details for the file pip_ui_tkinter-0.2.0.tar.gz.

File metadata

  • Download URL: pip_ui_tkinter-0.2.0.tar.gz
  • Upload date:
  • Size: 110.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pip_ui_tkinter-0.2.0.tar.gz
Algorithm Hash digest
SHA256 798097331c7771b7093b2ec7e17b4187790ffda6a950aab0fcfd8430e579ff24
MD5 67d75ea0f3c35c63c34267fadc694a99
BLAKE2b-256 bd84984d4362fa53565099b02e0b51194dd2d4493c2a267c83b09c5542e19dea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pip_ui_tkinter-0.2.0.tar.gz:

Publisher: publish_to_pypi.yml on matthewdeanmartin/pip_ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pip_ui_tkinter-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pip_ui_tkinter-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 107.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pip_ui_tkinter-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ff9fdac6ff3b94f333eb7a1f8390a7ee5863e92cb5da53841563f93513c1197
MD5 559ae22036f8e42c34afb6182e9b5ef9
BLAKE2b-256 b0dcc7466cd81e2b517771e4d7af3e7a4862ff73b8c1a92c9027a74a80f0b639

See more details on using hashes here.

Provenance

The following attestation bundles were made for pip_ui_tkinter-0.2.0-py3-none-any.whl:

Publisher: publish_to_pypi.yml on matthewdeanmartin/pip_ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page