Skip to main content

pyvisa-rs

A PyVISA backend powered by rsvisa-rs, a Rust port of pyvisa-py. Select it from PyVISA with the @rs library spec.

Install

pip install pyvisa-rs

To build from a clone of this repo, with an activated virtualenv:

cd pyvisa-rs
maturin develop

This builds the Rust extension and installs the pyvisa-rs package into the current environment. PyVISA discovers it automatically via its pyvisa_* package scan.

Usage

import pyvisa

rm = pyvisa.ResourceManager("@rs")

print(rm.list_resources())

with rm.open_resource("TCPIP::192.168.1.10::INSTR") as instr:
    instr.timeout = 5000
    print(instr.query("*IDN?"))

That's it — once "@rs" is passed to ResourceManager, the rest of the PyVISA API works exactly as it does against any other backend.

Backends supported

The Rust backend mirrors pyvisa-py's transports:

  • TCPIP::...::INSTR (VXI-11)
  • TCPIP::...::SOCKET
  • TCPIP::...::HISLIP
  • USB::...::INSTR / USB::...::RAW
  • ASRL...::INSTR (serial)

USB

USB uses libusb, which pyvisa-rs gets from its libusb-package dependency (the same libusb pyvisa-py's usb-full extra installs). Without that package, a system libusb is used instead.

As with pyvisa-py, on Windows each USB instrument needs a generic WinUSB driver, for example installed with Zadig. Instruments bound to a vendor USBTMC driver (NI-VISA, Keysight IO Libraries) aren't reachable through libusb.

Comparing against pyvisa-py

examples/discovery.py runs list_resources() through both backends and diffs the results:

uv run --with pyvisa --with pyserial --with pyusb \
       --with libusb-package --with zeroconf --with pyvisa-py \
       examples/discovery.py

Pass --reinstall-package pyvisa-rs after editing Rust sources — uv's wheel cache does not invalidate on Rust source changes.

License

Licensed under the Apache License, Version 2.0. pyvisa-rs is built on a port of pyvisa-py (MIT License); see the LICENSE, LICENSE-pyvisa-py and NOTICE files shipped with this package.

Metadata

Release files for pyvisa-rs 0.1.7

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-rs 0.1.7
File Size Uploaded Provenance
pyvisa_rs-0.1.7.tar.gz 62.2 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for pyvisa-rs 0.1.7
File Interpreter ABI Platform
pyvisa_rs-0.1.7-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
pyvisa_rs-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
pyvisa_rs-0.1.7-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 3.8 MB

Release files / pyvisa_rs-0.1.7.tar.gz

Download URL pyvisa_rs-0.1.7.tar.gz
Size 62.2 kB
Tags Source
SHA-256 checksum
How to use checksums
33a040cd8cf10fbb7eadb1091691e2444abf80dd47ceb43091fede583cc434c0
BLAKE2b-256 checksum
How to use checksums
b1f6aaae3e2a5a19e6e0b37dc923f8ccda8017345e0ab2dd900677955a464c8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 20, 2026.

Transparency log

Release files / pyvisa_rs-0.1.7-cp310-abi3-win_amd64.whl

Download URL pyvisa_rs-0.1.7-cp310-abi3-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8f6d0da175b5b02139647bf96de1211599b0b02a8348a926a7d4fd57077fd037
BLAKE2b-256 checksum
How to use checksums
9978c04aa0e6cc12cc30a9b797022d69899545568da4aaae7ef4b45d42133a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 20, 2026.

Transparency log

Release files / pyvisa_rs-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyvisa_rs-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
c3e1f89be7125df5aabd5d679fbc78a699df0edbd9952b4b86a2ea8479132860
BLAKE2b-256 checksum
How to use checksums
fe15cead878f3f675a9d9776a90f7724092b181691c9c23c1c7ea238efaa67bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 20, 2026.

Transparency log

Release files / pyvisa_rs-0.1.7-cp310-abi3-macosx_11_0_arm64.whl

Download URL pyvisa_rs-0.1.7-cp310-abi3-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d1ce49fa329bd08898bb3bd511ee023eb1ea30bf49955e8f2f2731f9422d2598
BLAKE2b-256 checksum
How to use checksums
974a9fcb1127c7a9c64512b144e387038390a260d7ffb1eaeb716b36557c507a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 20, 2026.

Transparency log

Security for pyvisa-rs 0.1.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.

Full provenance

All 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for pyvisa_rs-0.1.7.tar.gz

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 Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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