Skip to main content

Instrumentation framework

Project description

Lantz: Simple yet powerful instrumentation in Python

Lantz is an automation and instrumentation toolkit with a clean, well-designed and consistent interface. It provides a core of commonly used functionalities for building applications that communicate with scientific instruments allowing rapid application prototyping, development and testing.

The package is name lantzdev (not lantz) to avoid name collision with previous package.


You can install the full version very easily:

pip install -U “lantzdev[full]”

All requirements will be automatically installed for you except PyQt.

We suggest that you use [Anaconda Python Distribution]( and use an environment

conda create –name lantz python=3.6 pyqt

conda activate lantz

Having fun

If you do not have the NI-VISA library installed, install the pure python replacement by running the following command in your terminal:

pip install pyvisa-py

and then tell Lantz to use it:

lantz config core.visa_backend @py

Then start the simulator in one terminal:

lantz sims fungen tcp

and the testpanel in another:

lantz qtdemo testpanel

Installation options

Lantz is organized ina modular way. You can install what you need.

### Minimal

If you just want to control instruments, simulate devices and create you own drivers.

pip install -U lantzdev

subpackages used: core, drivers, sims

### Arduino

If in aditional to Minimal you want to build arduino drivers.

pip install -U “lantzdev[ino]”

  • subpackages used: core, drivers, sims, ino

  • suggested dependencies: [arduino-cli](

### Qt

If in aditional to Minimal you want to build arduino drivers.

pip install -U “lantzdev[qt]”

  • subpackages used: core, drivers, sims, qt

  • required dependencies: [PyQt > 5](

#### Full

pip install -U “lantzdev[qt]”

  • subpackages used: core, drivers, sims, ino, qt

  • required dependencies: [PyQt > 5](

  • suggested dependencies: [arduino-cli](

#### Install from git

You can try the latest version by installing from git. On your terminal:

pip install -U pip install -U pip install -U pip install -U pip install -U pip install -U


Hernan E. Grecco <>

Martin Masip <> Pablo Jais <> Martin Caldarola <> Federico Barabas <>

Lantz-drivers Changelog

0.5.2 (2019-01-21)

  • Properly export symbols.

0.5.1 (2018-12-31)

  • Removed cutelog dependency.

0.5 (2018-12-31)

  • Splited repo into core, drives and qt.

  • Added multiple extra_requires entries: full, qt, ino

  • Added lantz root command line application

0.3 (2015-02-05)

  • Introduced MessageBasedDriver, a class to rule them all.

  • Moved drivers

  • Moved old base classes (serial, usb, tcp, visa) to legacy package.

  • Moved instrument drivers based on legacy classes to legacy package.

  • Migrated instrument classes to MessageBasedDriver.

  • Improved logging to avoid duplication and useless info.

  • Frontend and Backend for application development.

  • Implemented Chart block.

  • Implemented Scan block.

  • Implemented FeatScan block.

  • Implemented Loop block.

  • Implemented Layout block.

  • Online documentation now shows the drivers classes.

  • Stub classes to enable documentation building without required packages.

  • Moved simulator from script to console-script.

  • Changed sphinx theme to read the docs.

  • Introduced start_gui helper function to start an app with a ui file and an instrument or instruments.

  • Introduced start_test_app helper function to start the test panel.

  • Introduced start_gui_app takes a backend and fronted and shows the app.

  • Moved get-lantz script to a gist.

  • Removed lantz-shell, equivalent functionality was contributed to PyVISA.

  • Support simultaneous values and units in Feat. (Issue #25)

  • Use Qt import scheme from IPython.

  • Helper functions for multiple initialization: initialize_many and finalize_many.

  • GUI support for initialize_many and finalize_many.

  • New instrument drivers.

0.2 (2013-01-01)

  • first public release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lantzdev-0.5.2.tar.gz (930.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page