build: bump anyplotlib pin to released 0.3.0#9
Merged
Conversation
anyplotlib 0.3.0 is now released on PyPI (was pinned to the 0.3.0b1 beta). Bump the dependency specifier and re-lock so CI and fresh clones resolve the release from PyPI. uv.lock now points at the released sdist/wheel (registry source, no editable path). Verified: uv sync --frozen builds a clean venv, anyplotlib 0.3.0 + spyde backend + report-builder modules import cleanly, and the full report-builder pytest suite passes (171 passed).
…n-zip) These specs were red on the feat/report-phase1 baseline, independent of the anyplotlib bump: - ipf_perf + movie_export: the backend-error audits tripped on '[spyde RENDERER-ERROR] Failed to create WebGPU Context Provider', a benign warning Chromium emits from the figure iframe whenever the runner has no usable WebGPU adapter (every hosted CI runner under xvfb). anyplotlib falls back to Canvas2D and the render is still correct. Exclude this line in backendErrorLines (_harness.cjs) and in ipf_perf's inline traceback filter — matching the existing pattern for CSP / willReadFrequently / Chromium .cc(line) noise. A real Python traceback is never this renderer line, so real errors still fail the audit (verified against the exact CI log lines). - report_sidebar #6: extracted the .spyde-report with 'tar -xf', but the container is a ZIP (PK magic) — GNU tar on the Linux runner rejects it ('does not look like a tar archive'). Use 'unzip' on Linux/macOS (bsdtar reads zip on Windows, so that branch is unchanged). Verified end-to-end: a real write_report() zip extracts to the expected report.md/figures/ assets/ layout via the exact 'unzip -o -q' command.
CSSFrancis
marked this pull request as ready for review
July 14, 2026 18:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
anyplotlib 0.3.0 is now released on PyPI. This bumps the dependency from the
0.3.0b1beta to the release and re-locks, and fixes three pre-existing e2e failures on the base branch.1. Dependency bump
pyproject.toml:anyplotlib>=0.3.0b1→>=0.3.0uv.lock: re-locked — anyplotlib resolves to0.3.0from the PyPI registry (released sdist/wheel + hashes), no editable path source.2. e2e fixes (3 pre-existing failures, unrelated to the bump)
The
feat/report-phase1e2e run (29355241537, still on0.3.0b1) was red on three specs. All were environmental / test-harness bugs, not product regressions, and none are caused by the anyplotlib bump:ipf_perf+movie_export— the backend-error audits tripped on[spyde RENDERER-ERROR] Failed to create WebGPU Context Provider, a benign warning Chromium emits from the figure iframe whenever the runner has no usable WebGPU adapter (every hosted CI runner under xvfb). anyplotlib falls back to Canvas2D and the render is still correct. Fix: exclude this line inbackendErrorLines(_harness.cjs) and inipf_perf's inline traceback filter — matching the existing exclusions for CSP /willReadFrequently/ Chromium.cc(line)noise. A real Python traceback is never this renderer line, so real errors still fail the audit.report_sidebarfix(release): publish to the repo the workflow runs in (directelectron org doesn't exist yet) #6 — extracted the.spyde-reportwithtar -xf, but the container is a ZIP (PKmagic); GNU tar on the Linux runner rejects it. Fix: useunzipon Linux/macOS (bsdtar reads zip on Windows, so that branch is unchanged).Stacked on
feat/report-phase1(the report-builder branch, PR #8) since that branch is what depends on the 0.3.0 tile/annotation features and carries these specs. This clears the "bump anyplotlib pin before merge" item.Verification
uv lock→Updated anyplotlib v0.3.0b1 -> v0.3.0;uv sync --frozenbuilds a clean venv_electron,spyde.backend.app, the tile backend, and allspyde/actions/report/*import cleanly (no API break beta→release)backendErrorLinesfed the exact failing CI log lines → WebGPU lines excluded, a realTraceback ... ValueErrorstill caught, Chromium noise still excluded. A realwrite_report().spyde-report(PK\x03\x04) reproduced thetarfailure, thenunzip -o -qextracted the expectedreport.md/figures//assets/layout (exit 0). Both edited specs are TS-syntax-clean.