Skip to content

The bridge server moves out, and this package starts its sunset - #16

Merged
alex1075 merged 6 commits into
mainfrom
refactor/extract-bridge-server
Aug 24, 2026
Merged

alex1075 merged 6 commits into
mainfrom
refactor/extract-bridge-server

Conversation

@alex1075

Copy link
Copy Markdown
Contributor

There was nothing QuPath-specific in the server. Grepping all fourteen modules, the only QuPath-shaped things in 3075 lines were the discovery filename, the tool label, the tool id and one function name. It now lives in flimkit-bridge and the Fiji add-on is a second client of it.

What stays here is the jar, the catalog, the Groovy scripts that drive a real QuPath, and a Python shim that re-exports the shared package so nothing importing flimkit_qupath_bridge breaks. The shim warns on import and goes in 0.7.0.

Two things changed on the Java side. Discovery reads ~/.flimkit/bridge.json and falls back to qupath-bridge.json, accepting either protocol name, so the compatibility sits in the jar rather than the server writing two files forever. And the version warning compares protocol_version rather than bridge_version against EXTENSION_VERSION, because the jar and the server version independently now and string equality would warn on every connection.

3251 lines out. 241 Python tests and 48 Java tests pass, ./gradlew build clean.

Nothing published changes meaning: PyPI's latest is 0.4.0 and 0.5.0 was never released.

🤖 Generated with Claude Code

alex1075 and others added 6 commits August 24, 2026 15:24
flimkit_qupath_bridge re-exports flimkit_bridge through sys.modules so
every existing import path still resolves. The console script and the
FLIMKit plugin entry point move to the package that owns them, since
two packages declaring either one is a coin toss.

test_plugin.py and test_headless.py moved with the server. The version
test no longer compares the jar against the server, because they version
independently now.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The jar and the server version independently since the extraction, so
comparing bridge_version against EXTENSION_VERSION would warn on every
connection and the warning would stop meaning anything. protocol_version
is what governs whether the two can talk.

EXTENSION_VERSION stays as the jar's own version. versionIn had no
callers left and goes with it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Discovery reads ~/.flimkit/bridge.json and falls back to
qupath-bridge.json, and accepts either protocol name. The compatibility
belongs on this side: once the jars in the wild are replaced, the server
can stop writing the second file and nothing on the Python side has to
carry the history.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Nothing QuPath-specific is left in it. The extension needs the jar and
pip install flimkit-bridge, and neither of those is this package. The
shim warns on import and goes in 0.7.0, which gives the jars in the wild
time to be replaced by ones that find the bridge themselves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The add-on now depends on flimkit-bridge, which is not on PyPI yet, so
pip could not resolve it and the package was never installed. Taking it
from git matches how flimkit itself is installed here, and means CI
tests against the server's main rather than its last release.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@alex1075
alex1075 merged commit 6db4c3e into main Aug 24, 2026
7 checks passed
@alex1075
alex1075 deleted the refactor/extract-bridge-server branch August 24, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant