Skip to content

Latest commit

 

History

History
110 lines (85 loc) · 5.35 KB

File metadata and controls

110 lines (85 loc) · 5.35 KB

PyDeskTools logo

PyDeskTools

Your everyday image and JSON utilities, in one private offline desktop app.

简体中文 · Download · Build a plugin

GitHub release CI status MIT license macOS arm64, Windows x64, Linux x64 Offline first

PyDeskTools home screen

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.

What you can do

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.

Download v0.1.0

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.AppImage

Every 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

Why it is trustworthy

  • 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.

Develop from source

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 pydesktools

Contributions are welcome. Please read CONTRIBUTING.md and the Code of Conduct before opening a change.