GUI toolbox for the ZX Spectrum Next: SD-card/HDF image explorer, NextSync Wi-Fi file sync + Remote Explorer & HTTP bridge, and built-in software browsing via GetIt, ZXDB and zxArt
Project description
ZX-Next-Unite
Cross-platform (Windows, Linux, macOS) desktop app for ZX Spectrum Next users. It unites two great tools — Hdfm-Gooey and NextSync — in a single GUI, and adds a built-in browser to discover ZX Spectrum / Spectrum Next software across GetIt, ZXDB/ZXInfo, zxArt and itch.io.
By Julien Clauzel, based on HDFM-GOOEY by em00k and NextSync by Jari Komppa (with the Sync4 extensions by Julien Clauzel).
Co-developed with the assistance of Claude (Anthropic's AI).
The main tabs, in Retro mode: SD Card Utility · NextSync (classic sync, then the Remote Explorer) · GetIt · ZXArt.ee · ZXDB/ZXInfo.dk · Unite! · Alien Floyd's. Every tab is documented in the User Manual.
Features
- SD Card tab — mount an HDF image, copy files in/out with a built-in explorer, then launch CSpect or MAME directly. No emulator command lines to remember.
- NextSync tab — push files over Wi-Fi from your PC to a real Spectrum Next
(KS1/KS2 or clones with an ESP module) using the
.sync5dot command. - ⭐ Remote Explorer — a two-pane file manager for your Next's real
filesystem over Wi-Fi: browse, drag & drop, upload/download and manage files
(new folder, delete) directly — no SD-card swapping. Run
.sync5 -listenon the Next to connect, and launch the app with the-start-remote-explorer-listenerswitch to have the listen server running from startup with no clicks. See the Wiki. - ⭐ HTTP bridge — remote access to a Next's file system over plain HTTP:
a built-in web server (Flask) republishes the Remote Explorer's
-listensession as HTTP routes, so you can browse, download, upload and manage the Next's SD card from a browser,curl— or from another Next using the built-in.httpdot command. Enable it in the Settings tab (the port — 80 by default — is set in the box next to the toggle). See the HTTP bridge documentation. - Online libraries — search and download from GetIt, ZXDB/ZXInfo, zxArt and (optionally) itch.io.
Quick start
Windows: download the latest zx-next-unite-v9.x.x.exe from the
Releases page — no Python needed.
Linux (x86_64): download zx-next-unite-v9.x.x-linux-x86_64.tar.gz from the
same page, extract it and run the binary inside.
macOS (Apple Silicon): download zx-next-unite-v9.x.x-macos-arm64.zip,
extract it and start the app. The app is not code-signed, so the first launch
needs right-click → Open (or xattr -cr on the .app) to get past Gatekeeper.
All three packages are built by CI from the tagged source (release workflow), and the app's built-in update check offers the right package for your platform when a newer release is published.
Via pipx (any platform, from PyPI):
pipx install "zx-next-unite[full]"
installs the zx-next-unite command (plus the nextsync5 command-line sync
server) in its own isolated environment — one line, no repo checkout. Drop
[full] to skip the optional extras (retro pygame views, itch.io tab,
Recycle-Bin deletes, HTTP bridge).
From source (any platform):
git clone https://github.com/jclauzel/ZX-Next-Unite
cd ZX-Next-Unite
python -m pip install -r REQUIREMENTS.txt
python zx-next-unite.py
Requires Python 3.10 or newer (the stock Python of Ubuntu 22.04 / Debian
12 and later works out of the box; CI runs the test suite on 3.10 and 3.13).
Use python3 on Linux/macOS. Only PySide6 is required; pygame-ce,
itch-dl and flask are optional (flask powers the NextSync HTTP bridge —
the web server that lets a Next drive another Next's SD card via the .http
dot command; without it the Settings toggle is simply greyed out).
Documentation
Full setup, emulator / hdfmonkey / Mono configuration and troubleshooting are in the Wiki:
- Home / overview
- Installation
- 📖 User Manual — new: a page per tab, with screenshots, aimed at first-time users. What each tab is for, a quick start, and a reference for every control: SD Card Utility · NextSync · Unite! · GetIt · ZXArt.ee · ZXDB/ZXInfo.dk · itch.io · Favorites · Alien Floyd's · Settings · Help
License
Released under the MIT license (see LICENSE). Built on PySide6 (Qt for Python, LGPL v3) and optionally pygame-ce (LGPL v2.1), itch-dl by Dragoon Aethis (MIT), Flask by the Pallets team (BSD-3-Clause), the web server that powers the NextSync HTTP bridge, and Send2Trash by Andrew Senetar and contributors (BSD-3-Clause), which sends locally-deleted files to the system Recycle Bin / Trash.
Provenance and license details for every third-party component — including NextSync (Jari Komppa, Unlicense), HDFM-Gooey (em00k), hdfmonkey (GPL v3), CSpect and MAME — are in THIRD-PARTY-NOTICES.md.
Legal disclaimer — third-party content
The author of ZX-Next-Unite does NOT distribute any files, ROMs, games, demos, graphics, music, or any other content obtained through the GetIt, ZXDB, or zxArt integrations.
All content is served exclusively by the respective third-party services listed above. ZX-Next-Unite acts solely as a frontend client that queries their public APIs and downloads files directly from the URLs those APIs return.
It is the sole responsibility of the end user to ensure that any content they download or use through this application complies with the applicable copyright, licensing, and legal requirements in their jurisdiction.
If in doubt, consult the terms of service of the relevant platform and seek appropriate legal advice before downloading or using any content.
The first time you open the GetIt, ZXDB, or zxArt pane, the application will display this disclaimer and ask you to acknowledge it. You can dismiss the dialog to continue using the pane; the dialog will reappear on the next visit until you check "I agree and understand. Do not show this message again", at which point your acknowledgement is saved to hdfg.cfg and the dialog will not be shown again.
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
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 zx_next_unite-9.1.9.tar.gz.
File metadata
- Download URL: zx_next_unite-9.1.9.tar.gz
- Upload date:
- Size: 38.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6459d9c340dcf53f54ad8197f18a7005625ce159d8f6717c3f59fdece353e6d0
|
|
| MD5 |
c995f9af20bbeb77bf73c053976155cf
|
|
| BLAKE2b-256 |
18450cf1a64b0eb7206fa9b0fbaad752b27f96719b7bfc3ab2286edba6676baf
|
Provenance
The following attestation bundles were made for zx_next_unite-9.1.9.tar.gz:
Publisher:
publish.yml on jclauzel/ZX-Next-Unite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zx_next_unite-9.1.9.tar.gz -
Subject digest:
6459d9c340dcf53f54ad8197f18a7005625ce159d8f6717c3f59fdece353e6d0 - Sigstore transparency entry: 2272993229
- Sigstore integration time:
-
Permalink:
jclauzel/ZX-Next-Unite@6eaee3a2aea87fa218c7fc175b25ad944a53d0dc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jclauzel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6eaee3a2aea87fa218c7fc175b25ad944a53d0dc -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zx_next_unite-9.1.9-py3-none-any.whl.
File metadata
- Download URL: zx_next_unite-9.1.9-py3-none-any.whl
- Upload date:
- Size: 40.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
956d9eb0a2b77204ab2f64da235d2e4ee385bc4608105bd09f9a15f1ecc40438
|
|
| MD5 |
ba000cc8ba95a101d0a2acd284a5fc0a
|
|
| BLAKE2b-256 |
6011d63b07965f49098d8741aaf61dd9f13b547fc3ef4009ddb8585382a42a63
|
Provenance
The following attestation bundles were made for zx_next_unite-9.1.9-py3-none-any.whl:
Publisher:
publish.yml on jclauzel/ZX-Next-Unite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zx_next_unite-9.1.9-py3-none-any.whl -
Subject digest:
956d9eb0a2b77204ab2f64da235d2e4ee385bc4608105bd09f9a15f1ecc40438 - Sigstore transparency entry: 2272993291
- Sigstore integration time:
-
Permalink:
jclauzel/ZX-Next-Unite@6eaee3a2aea87fa218c7fc175b25ad944a53d0dc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jclauzel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6eaee3a2aea87fa218c7fc175b25ad944a53d0dc -
Trigger Event:
workflow_dispatch
-
Statement type: