Your everyday image and JSON utilities, in one private offline desktop app.
简体中文 · Download · Build a plugin
PyDeskTools keeps small, frequent file tasks fast and local. It needs no account and makes no network request at runtime. Version 0.1.0 includes two complete tools and an isolated plugin architecture for adding more.
If PyDeskTools saves you time, a GitHub star helps other people discover it.
| Tool | Capabilities |
|---|---|
| Image Compressor | Batch-compress JPEG, PNG, and WebP; preview results; resize; preserve metadata; retry only failed items. |
| JSON Tools | Format or minify without losing large integers or decimal precision; import UTF-8 files; copy and export complete results. |
Use the sidebar, search, command palette, file picker, or drag and drop. English and Simplified Chinese, light/dark appearance, plugin lifecycle controls, and a private local data directory are built in.
Closing the main window keeps PyDeskTools available from the Windows notification
area, macOS menu bar, or a supported Linux system tray. Use the tray menu or Ctrl+Q
(Command+Q on macOS) to quit the application completely.
PyDeskTools 0.1.0 is an experimental pre-release. Download only from the official GitHub Releases page.
| Platform | Artifact | Support and trust |
|---|---|---|
| macOS 14+ on Apple silicon | PyDeskTools-0.1.0-macos-arm64.dmg |
Developer ID signed beta, not notarized. Drag the app to Applications; first launch may require Open Anyway in Privacy & Security. |
| Windows 10/11 x64 | PyDeskTools-0.1.0-windows-x64-unsigned.exe |
Unsigned beta. Windows SmartScreen may warn. Verify the SHA-256/provenance before running. |
| Linux x64 | PyDeskTools-0.1.0-linux-x86_64.AppImage |
First-release support for X11 and XWayland on distributions compatible with Ubuntu 22.04. Native Wayland is not certified. |
On Linux, make the download executable before opening it:
chmod +x PyDeskTools-0.1.0-linux-x86_64.AppImage
./PyDeskTools-0.1.0-linux-x86_64.AppImageEvery release includes SHA256SUMS.txt, per-platform build manifests, third-party
license notices, and GitHub artifact attestations. Verify provenance with:
gh attestation verify PyDeskTools-0.1.0-PLATFORM -R openHacking/PyDeskTools- Offline by design: the shipped tools and their Python dependencies are bundled; documents and images stay on the device.
- Explicit plugin boundary: plugins run in separate Python processes and separate environments. This isolates dependencies and lifetime, but it is not an OS security sandbox—third-party plugins run with your user permissions and require consent.
- Auditable releases: native packages are built on their target operating systems from pinned sources, checked hashes, immutable tags, and least-privilege CI jobs.
- Plain licensing: the application is MIT licensed. Bundled dependency licenses and notices ship with every installer.
- Honest limits: 0.1.0 has no online catalog, automatic updater, screenshot tool, or certified Intel Mac/ARM Windows/ARM Linux build.
Read the security policy, architecture, and implemented API for the exact boundary.
Development requires Python 3.13+ linked to Tcl/Tk 9 and PyDeskUI 0.2.x. The packaged plugin worker uses a separate pinned CPython 3.13 runtime. Start with the development guide; release builders and signing requirements are documented in the release guide.
python -m pip install -e ../PyDeskUI \
-e packages/pydesktools-sdk \
-e packages/pydesktools-runtime \
-e plugins/json-tools \
-e plugins/image-compressor \
-e '.[dev]'
python scripts/fetch_runtime.py --target macos-arm64 --output build/plugin-runtime/macos-arm64
python scripts/build_bundles.py --target macos-arm64 \
--runtime-source build/plugin-runtime/macos-arm64/python
python -m pytest
python -m pydesktoolsContributions are welcome. Please read CONTRIBUTING.md and the Code of Conduct before opening a change.

