Skip to content

Add Linux build support (PyInstaller) / (made with Claude Code) - #28

Open
gchevignon wants to merge 2 commits into
traulab:mainfrom
gchevignon:add-linux-build
Open

Add Linux build support (PyInstaller) / (made with Claude Code)#28
gchevignon wants to merge 2 commits into
traulab:mainfrom
gchevignon:add-linux-build

Conversation

@gchevignon

Copy link
Copy Markdown

Summary

  • Adds python/build_linux.sh, a script that builds a standalone Linux binary using the existing diynafluor.spec PyInstaller config — which already has a dedicated non-macOS branch (used for the Windows build). No changes were needed to main.py or fluorometer.py: the app (Tkinter + matplotlib + pyserial + Pillow) is already fully cross-platform, and the only OS-specific code path (Windows DPI awareness) is already guarded by sys.platform == 'win32'.
  • Adds python/LINUX.md documenting two ways to use the app on Linux: running directly from source (python3 main.py), or building the standalone binary with the new script. Includes a note about adding the user to the dialout group, which is required on most distros to access the Arduino's serial port.

Why

The GUI currently only ships Windows and macOS (Apple Silicon) builds, but the underlying source was already portable. This adds the missing piece — a Linux build path — so Linux users (e.g. Raspberry Pi in field settings) can use the tool without modifying any code.

Test plan

  • Ran ./python/build_linux.sh on Linux — binary built successfully
  • Launched the resulting dist/diynafluor, confirmed the GUI opens and the DEMO port produces simulated measurements
  • Confirmed a real DIYNAFLUOR device is detected and measured correctly over serial (after adding the user to dialout)

Notes for maintainers

  • PyInstaller binaries aren't portable across arbitrary glibc versions, so building on an older LTS distro (e.g. Ubuntu 22.04) is recommended for the widest compatibility — happy to adjust the build target if you have a preferred baseline.
  • Can also update the README's software section to mention Linux support if you'd like that folded into this PR.

Add Linux build support (made by Claude code)
add linux GUI
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