lantzdev 0.5.2
Instrumentation framework
License: BSD
Requires Python: >=3.6
Keywords: measurement control instrumentation science

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.