A PyVISA backend that implements a large part of the "Virtual Instrument Software Architecture" (VISA) in pure Python (with the help of some nice cross platform libraries python packages!).
PyVISA started as wrapper for the IVI-VISA library and therefore you need to install a VISA library in your system (National Instruments, Keysight, etc). This works most of the time, for most people. But IVI-VISA implementations are proprietary libraries that only works on certain systems. That is when PyVISA-py jumps in.
Starting from version 1.6, PyVISA allows to use different backends. These backends can be dynamically loaded. PyVISA-py is one of such backends. It implements most of the methods for Message Based communication (Serial/USB/GPIB/Ethernet) using Python and some well developed, easy to deploy and cross platform libraries
Python has a couple of features that make it very interesting for measurement controlling:
- Python is an easy-to-learn scripting language with short development cycles.
- It represents a high abstraction level, which perfectly blends with the abstraction level of measurement programs.
- It has a very rich set of native libraries, including numerical and plotting modules for data analysis and visualisation.
- A large set of books (in many languages) and on-line publications is available.
- Python 3
- PyVISA
Optionally:
- PySerial (to interface with Serial instruments)
- PyUSB (to interface with USB instruments)
- linux-gpib (to interface with gpib instruments, only on linux)
- gpib-ctypes (to interface with GPIB instruments on Windows and Linux)
- psutil (to discover TCPIP devices across multiple interfaces)
- zeroconf (for HiSLIP and VICP devices discovery)
- pyvicp (to enable the Teledyne LeCroy proprietary VICP protocol)
Please refer to pyproject.toml for the specific version requirements.
Using pip:
$ pip install pyvisa-py
The documentation can be read online at https://pyvisa-py.readthedocs.org