Python for the Lab

Website, workshops, a community, and a book. This is an effort to bring Python closer to scientists working in a lab and willing to automatize or improve the control of their setups.
Screenshot from 2019-12-29 14-32-11.png

Python for the Lab started as a side project while developing software for scientists. The idea started as a blog to collect information which may be useful for researchers building software. It slowly evolved into a community for people to ask the questions they have. Over time I wrote a book and started offering courses for young scientists who wanted to learn how to develop the same software I was developing.

The situation in research labs and scientific equipment companies is very diverse, and when it comes to software development, there are almost no standards. Since there are no clear tools to develop software for lab equipment, every group has taken different approaches. It is frequent to find institutes developing solutions using C#. Many companies and labs focused into the microscopy world default to uManager. And, of course, there is the overall default choice: LabView.

Without entering into an eternal discussion of programming languages and their advantages, it is clear that most scientists now a days are feeling more and more comfortable with programming. Therefore, having a simple approach to work with software in the lab became a need. However, resources to get started are scarce. This lead to different labs developing complimentary solutions with no clear package dominating the field.

In many cases, developing software for the lab requires knowing about best practices more than having available packages. Structuring code in a consistent way that will ensure long-term sustainability of the programs is more important than having out-of-the-box frameworks that solves all the problems. Python for the Lab focuses in teaching the tools that anyone needs to get started.

I have developed a course that makes intensive use of a small acquisition card based on Arduino, to generate a hands-on learning experience. No more getting stuck in the semantic of a programming language, the Python for the Lab course gives real insight into the workflow of developing software in labs. With the experienced gained through giving those workshops, I developed two more courses: Python for Scientists, which focuses on teaching how to get started with Python to analyze data. From reading a file to making a figure that could be used in a paper. And Advanced Python for the Lab, the natural follow-up course to help researchers bring their code to the next level.