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.3.tar.gz (174.1 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.3-cp310-abi3-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10+Windows x86-64

pyvisa_rs-0.1.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: pyvisa_rs-0.1.3.tar.gz
  • Upload date:
  • Size: 174.1 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.3.tar.gz
Algorithm Hash digest
SHA256 64a4f8167d3c153994653bec023376fefea579accb1604c554d6b797b76a11ec
MD5 29512482102592c6f41320d88c6dfeab
BLAKE2b-256 b26d89b2e2832332eae0f53578acb194bfee48e2bbb5f0b5fd7e4f42ffab989f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.3.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.3-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: pyvisa_rs-0.1.3-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.3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 343f00fb87239b08ca2848d01fb4184e54a781ce40df378ab60445973e8a27d2
MD5 cc59939beb0f125dcc3470e2151ad22c
BLAKE2b-256 3132f85436ac04eccf6d803c79b734228cbe0c94ba20ab39e271905c83273115

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.3-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.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvisa_rs-0.1.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3894b00599be6417b137129b916054dc1c296f17f19ba79efe8c0ac18462244f
MD5 eac0d117c0431b8afdadf907067a6068
BLAKE2b-256 fe58c9bd2d594b4fc7d4b1f5fcd19fb93d809bb07cd18ba7cb116016cb929bd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.3-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.3-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvisa_rs-0.1.3-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a76703f72ee4a2a0e2bc1a00ee20fa8336d86315ea456c0a9e34b04cb98c1d3
MD5 138872e57d154b101b84c3bab9a706b4
BLAKE2b-256 33864456f530bbc07168669ae3460a66033c90d0fc7126b015beb3a3e87b8671

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvisa_rs-0.1.3-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