From c4013685bdd4677842dbf1aa3815f6f6c618808d Mon Sep 17 00:00:00 2001 From: Travis Gilbert <1travisgilbert@gmail.com> Date: Wed, 5 Aug 2026 08:52:56 -0400 Subject: [PATCH] chore(desktop): scaffold Lemma pyqtgraph LGPL pin stubs for PG-07 Add requirements.lock and QT-LGPL-COMPLIANCE.md with the verified macOS PySide6 hash; remaining OS/arch hashes stay explicitly incomplete. --- .../lemma_pyqtgraph/QT-LGPL-COMPLIANCE.md | 32 +++++++++++++++++++ .../lemma_pyqtgraph/requirements.lock | 15 +++++++++ 2 files changed, 47 insertions(+) create mode 100644 apps/desktop/sidecars/lemma_pyqtgraph/QT-LGPL-COMPLIANCE.md create mode 100644 apps/desktop/sidecars/lemma_pyqtgraph/requirements.lock diff --git a/apps/desktop/sidecars/lemma_pyqtgraph/QT-LGPL-COMPLIANCE.md b/apps/desktop/sidecars/lemma_pyqtgraph/QT-LGPL-COMPLIANCE.md new file mode 100644 index 00000000..8a57682c --- /dev/null +++ b/apps/desktop/sidecars/lemma_pyqtgraph/QT-LGPL-COMPLIANCE.md @@ -0,0 +1,32 @@ +# Qt / PySide6 LGPL-3.0 Compliance — Lemma sidecar + +CommonPlace selects the **LGPL-3.0-only** dynamic-distribution path for PySide6 +`6.11.1` used by the Lemma pyqtgraph helper. GPL and commercial Qt alternatives +are out of scope unless a later Plan decision changes the boundary. + +## Notices + +- Qt and PySide6 are copyright The Qt Company Ltd. and/or its subsidiaries. +- Distribution must retain LGPL-3.0 notices with the Lemma helper package. +- Users may replace the dynamically linked PySide6 libraries with a compatible + LGPL build; relink instructions: install an alternate PySide6 6.11.1 wheel set + into the sidecar virtualenv and restart the Lemma helper process. + +## Dynamic linking boundary + +- Theorem supplies only versioned DatasetVersion / Arrow Flight contracts. +- The Lemma helper is a separately packaged Python process under CommonPlace + desktop ownership; it must not statically link Qt into Theorem MIT crates. + +## Source offer + +- Corresponding PySide6 / Qt source for the pinned wheels is available from the + upstream PyPI / Qt Company release channels for version `6.11.1`. +- Exact wheel hashes for completed platforms live in `requirements.lock`. + +## Matrix status + +- macOS universal PySide6 meta-wheel: verified + `sha256:537682c3b7530817203e667c1f5a2f00486b37bf52c52eeab438544c7a0917f6` +- Linux / Windows (and Addons/Essentials/shiboken6 per-arch hashes): **incomplete** + — PG-07 cannot close until every declared release target is listed. diff --git a/apps/desktop/sidecars/lemma_pyqtgraph/requirements.lock b/apps/desktop/sidecars/lemma_pyqtgraph/requirements.lock new file mode 100644 index 00000000..fd80e7c2 --- /dev/null +++ b/apps/desktop/sidecars/lemma_pyqtgraph/requirements.lock @@ -0,0 +1,15 @@ +# Lemma pyqtgraph helper — pinned requirements (incomplete matrix) + +# Package pins from post-core OSS-REUSE / PG-07. +# Full OS/arch hash matrix must be completed before PG-07 claims PySide6 closure. + +pyqtgraph==0.14.0 \ + --hash=sha256:7abb7c3e17362add64f8711b474dffac5e7b0e9245abdf992e9a44119b7aa4f5 + +# PySide6 6.11.1 — verified macOS universal meta-wheel only so far. +# TODO(PG-07): add linux/windows (and arch-specific) hashes for: +# PySide6, PySide6_Addons, PySide6_Essentials, shiboken6 +PySide6==6.11.1 \ + --hash=sha256:537682c3b7530817203e667c1f5a2f00486b37bf52c52eeab438544c7a0917f6 + +# Incomplete: addons/essentials/shiboken6 platform hashes not yet enumerated.