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.8

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.8
File Size Uploaded Provenance
pyvisa_rs-0.1.8.tar.gz 64.6 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for pyvisa-rs 0.1.8
File Interpreter ABI Platform
pyvisa_rs-0.1.8-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
pyvisa_rs-0.1.8-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.8-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 3.9 MB

Release files / pyvisa_rs-0.1.8.tar.gz

Download URL pyvisa_rs-0.1.8.tar.gz
Size 64.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cdb8264e2160c8009acec1c668b19bb4cd8aef75893a7473c9f75bf2a2615ca5
BLAKE2b-256 checksum
How to use checksums
3d968b051d92fc25ee570cd970288262b3bdf096c4a87e8feb2b4e2e4dbc4d6f
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 21, 2026.

Transparency log

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

Download URL pyvisa_rs-0.1.8-cp310-abi3-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
f761c30d06b3c803b368e57bbf18ee0436c60f946c3617ee071a0ec433dcaf45
BLAKE2b-256 checksum
How to use checksums
285db82355f6b0b2cc02207ba74012bc83feebaf18ee33e5090cd979bacbc091
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 21, 2026.

Transparency log

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

Download URL pyvisa_rs-0.1.8-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
4465bda4ff31c7b5d1eaf4abf8f7ddbe7560fb77169cb8a974ae291f5ba23667
BLAKE2b-256 checksum
How to use checksums
cd551ec0c6bfa855625d347a0783ec29ffb56f91118024093a2e2b1e06dc3e13
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 21, 2026.

Transparency log

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

Download URL pyvisa_rs-0.1.8-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
56474cea71a6ea73888916d5976ca73933a7fcdf1cc056ae933be8a335375bd2
BLAKE2b-256 checksum
How to use checksums
557f40b2dd0daae18348813a61bddc1fee717574053abe04dd4574c535145121
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 21, 2026.

Transparency log

Security for pyvisa-rs 0.1.8

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.8.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 21, 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