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.

Installing

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](https://www.anaconda.com/) 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](https://github.com/arduino/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](https://riverbankcomputing.com/software/pyqt/intro)

#### Full

pip install -U “lantzdev[qt]”

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

  • required dependencies: [PyQt > 5](https://riverbankcomputing.com/software/pyqt/intro)

  • suggested dependencies: [arduino-cli](https://github.com/arduino/arduino-cli)

#### Install from git

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

pip install -U https://github.com/lantzproject/lantz-core/zipball/master pip install -U https://github.com/lantzproject/lantz-drivers/zipball/master pip install -U https://github.com/lantzproject/lantz-qt/zipball/master pip install -U https://github.com/lantzproject/lantz-sims/zipball/master pip install -U https://github.com/lantzproject/lantz-ino/zipball/master pip install -U https://github.com/lantzproject/lantz/zipball/master

Authors

Hernan E. Grecco <hernan.grecco@gmail.com>

Martin Masip <martinmasip@gmail.com> Pablo Jais <jaisp@df.uba.ar> Martin Caldarola <caldarolamartin@gmail.com> Federico Barabas <fede.barabas@gmail.com>

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 details)

Uploaded Source

File details

Details for the file lantzdev-0.5.2.tar.gz.

File metadata

  • Download URL: lantzdev-0.5.2.tar.gz
  • Upload date:
  • Size: 930.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for lantzdev-0.5.2.tar.gz
Algorithm Hash digest
SHA256 d13e828bccd57fb7e29e417dbf78626d2ea3dd3ecdd429440830205788376eb1
MD5 95f2f018e152f99fa351780e6110db92
BLAKE2b-256 99c32323e0ec6ba6fdb6a749ab912f88353ece8c388aa731ce2ad15bd67ad5ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page