Building Lab Software
Guides, not snippets. Where the reference pages give you a working example to adapt, these walk through building lab software — the design decisions, the trade-offs, and the structure that keeps a growing project maintainable. They build on each other, so read them in order the first time.
- Instrument Wrapper Classes — wrapping an instrument in a reusable
Deviceclass; subclassing for a specific model. - Sharing an Instrument Across Processes — a socket server that arbitrates access so multiple scripts or threads can use one bus without conflict.
- Structuring a Data-Acquisition App — organizing files, acquisition loops, and threading into a maintainable data-taking application.
- Building a GUI — a live-plotting desktop app with PySide6 + PyQtGraph (with a note on Tkinter for lighter needs).
- Architecting a Lab App (MVC) — separating View, Model, and Controller; hardware abstraction; thread-safety via signals; offline/mock mode.