Qviple Desktop for macOS and Windows — the signed, notarized/signed Qviple app, installable and auto-updated via pip
Project description
Qviple Desktop via pip
Install, launch, and auto-update the signed Qviple desktop app straight from PyPI — on macOS and Windows.
pip install qviple
qviple
The qviple command is a small bootstrapper: on each run it checks PyPI for a newer version, upgrades itself with pip when one exists, then extracts/installs and launches the bundled app.
- macOS — extracts the notarized
Qviple.appto~/Library/Application Support/Qviple/pypi/<version>/(one-time, ~150 MB) andopens it. - Windows — runs the signed installer once into
%LOCALAPPDATA%\Programs\Qviple\and launchesQviple.exe.
Requirements
- macOS 12.2+ (universal binary — Apple Silicon and Intel), or Windows 10/11 (x64)
- Python 3.9+
Commands
| Command | What it does |
|---|---|
qviple |
Auto-update if needed, then launch Qviple |
qviple --no-update |
Launch without checking PyPI for updates |
qviple --check-update |
Print whether a newer version is available, then exit |
qviple --version |
Print the installed version |
qviple --uninstall |
Remove the extracted/installed app copies |
Set QVIPLE_NO_AUTO_UPDATE=1 to disable the automatic update check globally. Set QVIPLE_PYPI_BASE_URL=https://test.pypi.org to target TestPyPI.
Uninstall completely
qviple --uninstall
pip uninstall qviple
How updates work
pip install qviple is the only distribution + update channel for the direct desktop app — GitHub Releases is not used anywhere.
- CI publishes a new, strictly-increasing version to PyPI on every push to
main. - The
qviplelauncher (and the app's in-app "Update" button) queryhttps://pypi.org/pypi/qviple/json, compare the installed version to the latest stable version numerically, and runpython -m pip install --upgrade qviple(using the exact interpreter that launched the app) when a newer one exists. - The app restarts through the launcher, which extracts/installs and opens the new build.
Rollback (maintainers)
- Bad wheel, good app:
pip yankthe release on PyPI (yanked versions are skipped by the default resolver but stay installable when pinned), then publish a fixed wheel asA.B.C.N.postM. - Bad app build: yank on PyPI and roll forward — bump the pubspec version and re-run the release workflow, which publishes a new PyPI version.
- PyPI never allows re-uploading a deleted version number — always roll forward with
.postNor a new version.
Release (maintainers)
Every push to main runs the PyPI Release workflow (.github/workflows/pypi_release.yml): it validates + tests, builds and signs/notarizes the desktop app, wraps it in a platform wheel via tool/pypi/scripts/build_wheel.sh <platform> <installer> <version>, and publishes to PyPI via Trusted Publishing (OIDC) — no token secrets. Windows wheels publish once the ENABLE_WINDOWS_DIRECT repo variable is set to true.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qviple-1.0.518.559-py3-none-macosx_12_0_universal2.whl.
File metadata
- Download URL: qviple-1.0.518.559-py3-none-macosx_12_0_universal2.whl
- Upload date:
- Size: 71.5 MB
- Tags: Python 3, macOS 12.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dfe63a1cafaa1399b72648e4e29f483bf11ec1cbd85cf84dbbe397bf253579c
|
|
| MD5 |
a61bcc446ee8548655b258dcadfddfac
|
|
| BLAKE2b-256 |
05a4a9c79c44a0f736c8ba74e6566ac65d55c3f68b3a6b70ee390fcda0f2178c
|
Provenance
The following attestation bundles were made for qviple-1.0.518.559-py3-none-macosx_12_0_universal2.whl:
Publisher:
pypi_release.yml on Pankajphad/qviple_desktop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qviple-1.0.518.559-py3-none-macosx_12_0_universal2.whl -
Subject digest:
0dfe63a1cafaa1399b72648e4e29f483bf11ec1cbd85cf84dbbe397bf253579c - Sigstore transparency entry: 2115202303
- Sigstore integration time:
-
Permalink:
Pankajphad/qviple_desktop@7203b89789dd4e8231a46b6f19cb1e24a7cee9cb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Pankajphad
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi_release.yml@7203b89789dd4e8231a46b6f19cb1e24a7cee9cb -
Trigger Event:
push
-
Statement type: