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

Uploaded CPython 3.10+Windows x86-64

pyvisa_rs-0.1.2-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.2-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.2.tar.gz.

File metadata

  • Download URL: pyvisa_rs-0.1.2.tar.gz
  • Upload date:
  • Size: 156.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.2.tar.gz
Algorithm Hash digest
SHA256 9d859bff9556f1f534fcb616715b7b0896833137f79e548d150d6c56880425a3
MD5 8a32d8139f7e7cb94c159ccaf1cad6fe
BLAKE2b-256 8d4b23cbabe65f0453fac3e6befe6f64215393409e33c87078d9e14421ceb034

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyvisa_rs-0.1.2-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.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5e668526e5bac877880b24d144e2e4e63eb05f1775991d81d0ce1b475dffb1e0
MD5 69ebafe5ecd2f781fbb426960c5deaa2
BLAKE2b-256 4fcdfc7b3a7ce013bacba5fc3e703d01db77f0c089f04ab676fe111858d9c4ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvisa_rs-0.1.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 691478ccb9042b35d4ce9a5eb963e0ae22cc5f66a0db924b9c036622bc4a68d7
MD5 2a9270f1e55a8f5e39171c27cb4693cb
BLAKE2b-256 8c7348f17c93bbb0affd0da051395fc7ae2de689ec93c79e1f2e20c18ea75542

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvisa_rs-0.1.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6059ac44996e311d57bd1e438b1eb32649f2960f188db2dc2009f787a788402d
MD5 7f4b6e4ad030afbb3d14aaa5c4fbd12a
BLAKE2b-256 0fb741a97bef80903cd391b17de8508cd9594130f12fa8e46ff62a3304994449

See more details on using hashes here.

Provenance

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