Moving to Lantz
Lantz is a Python automation and instrumentation toolkit that allows you to control instruments in a clean and efficient manner writing pure Python code. Since I released Lantz a few weeks ago, I have received a lot of positive e-mails about the project. Most of them can be summarized as: It looks very nice! I love Python and I have been looking for a Pythonic way to do instrumentation!
It is encouraging to receive such positive comments and also confirms that Lantz is in the right path: Not a Domain-specific language, not a do-it-my-way framework, but a complete, coherent and concise set of classes and functions for instrumentation in Python. Lantz provides base classes and functions decorators to help you write your drivers as shown in the figure (thanks Pablo Jais!). You can find more details in the documentation's overview.
Inertia is what stopping many to start using Lantz. For most of us, instrumentation is the means to an end. We need to measure, do experiments, get results ... and we are faster with the tools that we know. We cannot just stop our work while we migrate to a new set of tools. But then, when we are trying to fix some bugs or add new features we think: why I am still using this!?!?.
If you want to start using Lantz, here are a few suggestions. Find a simple, self-contained experiment that you need to perform. Lantz is a young project which means that only a few instruments are supported out of the box. It is very likely that you have to build your own driver. But that's not a problem, it is part of Lantz purpose!
It is good if you have used the required instruments before and even better if you have some other software to control them. This will allow you to test the connection to your instrument before you try with Lantz.
Choose an appropriate base class depending on the instrument interface and implement the simplest command you can find in the manual. Usually there is one command to request the instruments identification.
Target first a command line application, a simple script that talks to the instrument and write the results to screen or to a file. The focus should be first about communicating with the instrument.
For more details take a look at the tutorials.
... and tell us what are you doing and how we might help.
Project documentation: main server and GitHub mirror
Public source code repository: GitHub