From 4c9c9282e20f44e2a47477497570ecc10ea52ce1 Mon Sep 17 00:00:00 2001 From: barentine <31105780+barentine@users.noreply.github.com> Date: Mon, 2 Mar 2026 17:51:15 -0800 Subject: [PATCH 1/4] dummy change to test CI --- PYME/cluster/PYMERuleServer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PYME/cluster/PYMERuleServer.py b/PYME/cluster/PYMERuleServer.py index 458bbeca6..42c2ecccb 100644 --- a/PYME/cluster/PYMERuleServer.py +++ b/PYME/cluster/PYMERuleServer.py @@ -19,7 +19,7 @@ LOG_STREAMS = True - +2+2 def log_stream(stream, logger): while LOG_STREAMS: From cacd9a534e80f8e11e66ac5cfd801173877a8986 Mon Sep 17 00:00:00 2001 From: barentine <31105780+barentine@users.noreply.github.com> Date: Mon, 2 Mar 2026 18:11:07 -0800 Subject: [PATCH 2/4] capitalize the s in Scripts directory --- PYME/Acquire/meson.build | 80 ++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/PYME/Acquire/meson.build b/PYME/Acquire/meson.build index 4152b41c0..92aaf4d4b 100644 --- a/PYME/Acquire/meson.build +++ b/PYME/Acquire/meson.build @@ -157,45 +157,45 @@ py_sources = files( py.install_sources(py_sources, subdir:'PYME/Acquire/htsms') scripts_files = files( - 'scripts/init.py', - 'scripts/init_N1_Ti_Exeter_ZIx.py', - 'scripts/init_N2_Ti_Zyla_lasers.py', - 'scripts/init_Neo.py', - 'scripts/init_NeoSim.py', - 'scripts/init_TIRF.py', - 'scripts/init_TIRF_Neo.py', - 'scripts/init_TIRF_NeoO.py', - 'scripts/init_TIRF_onecam.py', - 'scripts/init_Ti.py', - 'scripts/init_UOA_n.py', - 'scripts/init_UOA_n2.py', - 'scripts/init_Y1.py', - 'scripts/init_Zyla.py', - 'scripts/init_drift_tracking.py', - 'scripts/init_emccd_basic.py', - 'scripts/init_htsms.py', - 'scripts/init_htsms_focus_lock.py', - 'scripts/init_micrpi.py', - 'scripts/init_orca.py', - 'scripts/init_pco.py', - 'scripts/init_rev.py', - 'scripts/init_sim100.py', - 'scripts/init_sim103.py', - 'scripts/init_sim2.py', - 'scripts/init_sim50.py', - 'scripts/init_sim75.py', - 'scripts/init_sim_drift_tracking.py', - 'scripts/init_sim_htsms.py', - 'scripts/init_sim_htsms_n.py', - 'scripts/init_sim_main.py', - 'scripts/init_sim_min.py', - 'scripts/init_sim_rem.py', - 'scripts/init_smi1.py', - 'scripts/init_spectro.py', - 'scripts/init_spim.py', - 'scripts/init_thorcam.py', - 'scripts/init_twophoton.py', - 'scripts/init_uc480.py', - 'scripts/init_ueye.py', + 'Scripts/init.py', + 'Scripts/init_N1_Ti_Exeter_ZIx.py', + 'Scripts/init_N2_Ti_Zyla_lasers.py', + 'Scripts/init_Neo.py', + 'Scripts/init_NeoSim.py', + 'Scripts/init_TIRF.py', + 'Scripts/init_TIRF_Neo.py', + 'Scripts/init_TIRF_NeoO.py', + 'Scripts/init_TIRF_onecam.py', + 'Scripts/init_Ti.py', + 'Scripts/init_UOA_n.py', + 'Scripts/init_UOA_n2.py', + 'Scripts/init_Y1.py', + 'Scripts/init_Zyla.py', + 'Scripts/init_drift_tracking.py', + 'Scripts/init_emccd_basic.py', + 'Scripts/init_htsms.py', + 'Scripts/init_htsms_focus_lock.py', + 'Scripts/init_micrpi.py', + 'Scripts/init_orca.py', + 'Scripts/init_pco.py', + 'Scripts/init_rev.py', + 'Scripts/init_sim100.py', + 'Scripts/init_sim103.py', + 'Scripts/init_sim2.py', + 'Scripts/init_sim50.py', + 'Scripts/init_sim75.py', + 'Scripts/init_sim_drift_tracking.py', + 'Scripts/init_sim_htsms.py', + 'Scripts/init_sim_htsms_n.py', + 'Scripts/init_sim_main.py', + 'Scripts/init_sim_min.py', + 'Scripts/init_sim_rem.py', + 'Scripts/init_smi1.py', + 'Scripts/init_spectro.py', + 'Scripts/init_spim.py', + 'Scripts/init_thorcam.py', + 'Scripts/init_twophoton.py', + 'Scripts/init_uc480.py', + 'Scripts/init_ueye.py', ) py.install_sources(scripts_files, subdir:'PYME/Acquire/Scripts') From 62fc8ded692770653875a4edc3b5076a18b0149d Mon Sep 17 00:00:00 2001 From: barentine <31105780+barentine@users.noreply.github.com> Date: Mon, 2 Mar 2026 18:30:45 -0800 Subject: [PATCH 3/4] skip wxpython --- .github/workflows/pr_check.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml index 2eece7c25..a557963d6 100644 --- a/.github/workflows/pr_check.yml +++ b/.github/workflows/pr_check.yml @@ -35,10 +35,22 @@ jobs: # that --no-build-isolation works (avoids a redundant isolated env). pip install "meson-python" "meson" "cython" "numpy" + - name: Install runtime dependencies (excluding wxpython) + run: | + # Read deps from pyproject.toml and skip wxpython + python - <<'EOF' + import tomllib, subprocess, sys + with open('pyproject.toml', 'rb') as f: + deps = tomllib.load(f)['project']['dependencies'] + deps = [d for d in deps if not d.lower().startswith('wxpython')] + subprocess.check_call([sys.executable, '-m', 'pip', 'install'] + deps) + EOF + - name: Build and install package run: | # --no-build-isolation reuses the build deps installed above. - pip install --no-build-isolation . + # --no-deps avoids pip trying to install wxpython at this stage. + pip install --no-build-isolation --no-deps . - name: Install test dependencies run: | From 832440196e2688389bf1cc9cbc3aca1da4882d0f Mon Sep 17 00:00:00 2001 From: barentine <31105780+barentine@users.noreply.github.com> Date: Mon, 2 Mar 2026 18:41:54 -0800 Subject: [PATCH 4/4] try to give pymecompress access to numpy --- .github/workflows/pr_check.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml index a557963d6..326c04df5 100644 --- a/.github/workflows/pr_check.yml +++ b/.github/workflows/pr_check.yml @@ -37,12 +37,16 @@ jobs: - name: Install runtime dependencies (excluding wxpython) run: | - # Read deps from pyproject.toml and skip wxpython + # pymecompress must be built with --no-build-isolation to see the already-installed numpy. + pip install --no-build-isolation pymecompress + # Read remaining deps from pyproject.toml; skip wxpython (requires a display) + # and pymecompress. python - <<'EOF' import tomllib, subprocess, sys with open('pyproject.toml', 'rb') as f: deps = tomllib.load(f)['project']['dependencies'] - deps = [d for d in deps if not d.lower().startswith('wxpython')] + skip = {'wxpython', 'pymecompress'} + deps = [d for d in deps if not any(d.lower().startswith(s) for s in skip)] subprocess.check_call([sys.executable, '-m', 'pip', 'install'] + deps) EOF