Skip to main content
Continuous integration Documentation building Keysight assisted testing Code Coverage Documentation Status PyPI - License PyPI https://joss.theoj.org/papers/10.21105/joss.05304/status.svg

A Python package for support of the “Virtual Instrument Software Architecture” (VISA), in order to control measurement devices and test equipment via GPIB, RS232, Ethernet or USB.

Description

The programming of measurement instruments can be real pain. There are many different protocols, sent over many different interfaces and bus systems (GPIB, RS232, USB). For every programming language you want to use, you have to find libraries that support both your device and its bus system.

In order to ease this unfortunate situation, the Virtual Instrument Software Architecture (VISA) specification was defined in the middle of the 90’s. Today VISA is implemented on all significant operating systems. A couple of vendors offer VISA libraries, partly with free download. These libraries work together with arbitrary peripheral devices, although they may be limited to certain interface devices, such as the vendor’s GPIB card.

The VISA specification has explicit bindings to Visual Basic, C, and G (LabVIEW’s graphical language). Python can be used to call functions from a VISA shared library (.dll, .so, .dylib) allowing to directly leverage the standard implementations. In addition, Python can be used to directly access most bus systems used by instruments which is why one can envision to implement the VISA standard directly in Python (see the PyVISA-Py project for more details). PyVISA is both a Python wrapper for VISA shared libraries but can also serve as a front-end for other VISA implementation such as PyVISA-Py.

VISA and Python

Python has a couple of features that make it very interesting for controlling instruments:

  • Python is an easy-to-learn scripting language with short development cycles.

  • It represents a high abstraction level [2], which perfectly blends with the abstraction level of measurement programs.

  • It has a 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.

Requirements

  • Python (tested with 3.10+)

  • VISA (tested with NI-VISA 17.5, Win7, from www.ni.com/visa and Keysight-VISA )

Installation

Using pip:

$ pip install pyvisa

or easy_install:

$ easy_install pyvisa

or download and unzip the source distribution file and:

$ python setup.py install

Documentation

The documentation can be read online at https://pyvisa.readthedocs.org

Citing

If you are using this package, you can cite the PyVISA publication

Grecco et al., (2023). PyVISA: the Python instrumentation package. Journal of Open Source Software, 8(84), 5304, https://doi.org/10.21105/joss.05304

Release files for PyVISA 1.16.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyVISA 1.16.2
File Size Uploaded
pyvisa-1.16.2.tar.gz 238.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PyVISA 1.16.2
File Interpreter ABI Platform
pyvisa-1.16.2-py3-none-any.whl Python 3 none any Details

Total release size: 420.1 kB

Release files / pyvisa-1.16.2.tar.gz

Download URL pyvisa-1.16.2.tar.gz
Size 238.7 kB
Tags Source
SHA-256 checksum
How to use checksums
75beb93eeafe20a50be5726fa4e3a645948c93d86819f9c1f8c542efa4085a38
BLAKE2b-256 checksum
How to use checksums
1372a50adff945e66f2161a44b243970f809de19152a2e7da0473ae8ff96d642
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 27, 2026.

Transparency log

Release files / pyvisa-1.16.2-py3-none-any.whl

Download URL pyvisa-1.16.2-py3-none-any.whl
Size 181.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54f034adafd3e8d1858d57cdafec64e920444f4b84b31c9fd17487fbad0a197a
BLAKE2b-256 checksum
How to use checksums
e4a9776da4f397003cca093659524c3526590522f81b642936838428c11274e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.16.2 This release

2 release files

1.16.1

2 release files

1.16.0

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.1

1 release file

1.10.0

1 release file

1.9.1

2 release files

1.9.0

1 release file

1.8

1 release file

1.7

1 release file

1.6.3

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

1.3

1 release file

1.2

1.1

1.0

0.9.6

0.9.4

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page