Skip to main content

Rust-backed VISA backend for PyVISA, powered by rsvisa-rs.

Project description

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

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)

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.

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_rs-0.1.1.tar.gz (147.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyvisa_rs-0.1.1-cp310-abi3-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10+Windows x86-64

pyvisa_rs-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

pyvisa_rs-0.1.1-cp310-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file pyvisa_rs-0.1.1.tar.gz.

File metadata

  • Download URL: pyvisa_rs-0.1.1.tar.gz
  • Upload date:
  • Size: 147.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyvisa_rs-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e6fa4a92b5e0e3781741bdf57debad6bd27465b0665daebff552073636e34544
MD5 c6efd192c9e99970fa3dac65256ecc82
BLAKE2b-256 77879a14d32cd64eaa0b0ac4998bbeb92649b934e914125eb114385cc93d6bbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.1.tar.gz:

Publisher: release.yml on nominal-io/rsvisa-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvisa_rs-0.1.1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: pyvisa_rs-0.1.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyvisa_rs-0.1.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 21c192ac08725c1641531a388b2123691261f1d357db6af0c834d04c61312e06
MD5 33714c8c8045fa0dedb0b0c7ee9dce9f
BLAKE2b-256 464d56c7459e5dcfe8aa32d8905469a9ca2c776dfc92bd32d226a85a360f09d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.1-cp310-abi3-win_amd64.whl:

Publisher: release.yml on nominal-io/rsvisa-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvisa_rs-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvisa_rs-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 131ae31b8d5a9e523593d2d6d13e2c332c08b7e3f14e5032f896c30a183e764c
MD5 47ae7bf999496b111f12e7b52c4b2880
BLAKE2b-256 067a4f72f0ee4cde26df649fbc6908ae739a1e75c0d84295651c4a2f1ed09a72

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on nominal-io/rsvisa-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvisa_rs-0.1.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvisa_rs-0.1.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 93eb61b96de6678cddd1d793431e18f1679bfd5a5062b1cf6fbb2b37a0072110
MD5 aae53bc449575e16b86c5a735d3eab39
BLAKE2b-256 0db1fec2bfcb33d9e619682910e94657f35ecb1fadf6a041636d8936e9a032ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on nominal-io/rsvisa-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page