Metadata-Version: 2.4
Name: secbench-vxi11
Version: 0.10
Summary: Python VXI-11 driver for controlling instruments over Ethernet
Author-email: Alex Forencich <alex@alexforencich.com>
License: MIT License
Project-URL: Homepage, http://alexforencich.com/wiki/en/python-vxi11/start
Project-URL: Download, http://github.com/python-ivi/python-vxi11/tarball/master
Project-URL: Repository, https://github.com/python-ivi/python-vxi11
Keywords: VXI,LXI,measurement,instrument
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Classifier: Topic :: System :: Networking
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: COPYING
License-File: AUTHORS
Requires-Dist: py-xdrlib>=4.0.2; python_version >= "3.13"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: ruff; extra == "test"
Dynamic: license-file

# Python VXI-11 Readme

**IMPORTANT**: this is a fork of [python-vxi11](https://github.com/python-ivi/python-vxi11) package which is not maintained anymore.
It was modified to support Python>=3.13, removed compatibility with Python 2 and modernized the packaging a little bit.

For more information and updates:
http://alexforencich.com/wiki/en/python-vxi11/start

GitHub repository:
https://github.com/python-ivi/python-vxi11

Google group:
https://groups.google.com/d/forum/python-ivi

## Introduction

Python VXI-11 provides a pure Python VXI-11 driver for controlling instruments
over Ethernet.

## Requirements

* Python 3.9 or newer
* Python 3.13 and newer require the packaged `py-xdrlib` dependency

## Installation

Extract and run

    python -m pip install .

For development and tests, use:

    .venv/bin/python -m pip install -e ".[test]"
    .venv/bin/python -m pytest

## Usage examples

Connecting to Agilent MSO7104A via LXI:

    import vxi11
    instr =  vxi11.Instrument("192.168.1.104")
    print(instr.ask("*IDN?"))
    # returns 'AGILENT TECHNOLOGIES,MSO7104A,MY********,06.16.0001'

Connecting to Agilent E3649A on GPIB address 5 via HP 2050A GPIB bridge:

    import vxi11
    instr = vxi11.Instrument("192.168.1.105", "gpib,5")
    print(instr.ask("*IDN?"))
    # returns 'Agilent Technologies,E3649A,0,1.4-5.0-1.0'

Connecting to Agilent MSO-X 3014A via USBTMC via Agilent E5810 GPIB bridge:

    import vxi11
    instr = vxi11.Instrument("192.168.1.201", "usb0[2391::6056::MY********::0]")
    print(instr.ask("*IDN?"))
    # returns 'AGILENT TECHNOLOGIES,MSO-X 3014A,MY********,02.35.2013061800'

It is also possible to connect with VISA resource strings like so:

    import vxi11
    instr =  vxi11.Instrument("TCPIP::192.168.1.104::INSTR")
    print(instr.ask("*IDN?"))
    # returns 'AGILENT TECHNOLOGIES,MSO7104A,MY********,06.16.0001'

and:

    import vxi11
    instr = vxi11.Instrument("TCPIP::192.168.1.105::gpib,5::INSTR")
    print(instr.ask("*IDN?"))
    # returns 'Agilent Technologies,E3649A,0,1.4-5.0-1.0'

and:

    import vxi11
    instr = vxi11.Instrument("TCPIP::192.168.1.201::usb0[2391::6056::MY********::0]::INSTR")
    print(instr.ask("*IDN?"))
    # returns 'AGILENT TECHNOLOGIES,MSO-X 3014A,MY********,02.35.2013061800'
