Python for the Lab is my first book summarizing what I learned developing software for research labs. It is available as an online book. I decided to write the book to help other researchers who are building their own solutions. I wanted to help them start faster, with better organized programs, more future proof and with less frustrations.
I focused mostly on showing best practices to speed up development, generating a common framework around the Model-View-Controller pattern. The book covers topics such as:
- Driver development, from low-level exchange of messages to higher-level libraries such as PyVisa and Lantz
- Separating responsibilities by adhering to the Model-View-Controller pattern
- Understanding what is the role of models for devices and for experiments
- Running a measurement automatically
- Building a user interface using PyQt, and Qt Designer.
The book is also a pretext to revise many topics about Python, including threading, object-oriented programming, and more. If you want to see what is inside, you can request a free sample.