Skip to main content

Simulated backend for PyVISA implementing TCPIP, GPIB, RS232, and USB resources

Project description


Continuous integration Documentation building Code Coverage Documentation Status PyPI - License PyPI

PyVISA-sim is a PyVISA backend that simulates a large part of the “Virtual Instrument Software Architecture” (VISA).


PyVISA started as a wrapper for the NI-VISA library and therefore you need to install the National Instruments VISA library in your system. This works most of the time, for most people. But sometimes you need to test PyVISA without the physical devices or even without NI-VISA.

Starting from version 1.6, PyVISA allows to use different backends. These backends can be dynamically loaded. PyVISA-sim is one of such backends. It implements most of the methods for Message Based communication (Serial/USB/GPIB/Ethernet) in a simulated environment. The behaviour of simulated devices can be controlled by a simple plain text configuration file.

VISA and Python

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 (tested with 3.6 to 3.9)

  • PyVISA 1.6+


Using pip:

$ pip install -U pyvisa-sim

or install the development version:

$ pip install -U

PyVISA is automatically installed if needed.


The documentation can be read online at

pyvisa-sim is written and maintained by Hernan E. Grecco

Other contributors, listed alphabetically, are:

PyVISA-sim Changelog

0.5.1 (2022-09-08)

  • fix rendering issues in the README

0.5 (2022-09-08)

  • add support for secondary GPIB addresses

  • remove last uses of the six package and of __future__ imports

0.4 (2020-10-26)

  • Use SCM based version number PR #53

  • Work with PyVISA >= 1.11 PR #53

  • Drop support for Python 2, 3.4 and 3.5 PR #53

  • Drop support for Python 3.2 (EOL 2016-02-27)

  • Drop support for Python 3.3 (EOL 2017-09-29)

  • Add support for Python 3.7 and 3.8

  • Add tox for project setup and test automation

  • Switch from unittest to pytest

0.3 (2015-08-25)

  • Fixed bug in get_device_dict. (Issue #37)

  • Move resource name parsing to pyvisa.rname.

  • Implemented query in list_resources.

  • Add support for USB RAW.

  • Warn the user when no eom is specified for device type and use LF.

0.2 (2015-05-19)

  • Add support for channels. (Issue #9, thanks MatthieuDartiailh)

  • Add support for error queue. (Issue #26, thanks MatthieuDartiailh)

  • Add support for TCPIP SOCKET. (Issue #29, thanks MatthieuDartiailh)

  • Removed resource string parsing in favour of to pyvisa.rname.

  • Changed find_resource and find_next in favour of list_resources.

  • Implemented new loader with bases and versioning enforcing. (Issue #16)

  • Renamed is_resource to bundled in yaml files.

  • Added support for an empty response. (Issue #15, thanks famish99)

  • Several small fixes and better VISA compliance.

  • Better error reporting and debug info.

0.1 (2015-02-12)

  • First public release.

  • Basic ASRL INSTR functionality.

  • Basic USB INSTR functionality.

  • Basic TCPIP INSTR functionality.

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

PyVISA-sim-0.5.1.tar.gz (43.2 kB view hashes)

Uploaded source

Built Distribution

PyVISA_sim-0.5.1-py3-none-any.whl (27.1 kB view hashes)

Uploaded py3

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