Skip to main content

Manage connections and interactions with Test & Measurement devices.

Project description

Testing

Code testing status Docs testing status Coverage status

Code Quality

CodeQL status CodeFactor grade pre-commit status

Package

PyPI: Package status PyPI: Latest release version PyPI: Supported Python versions PyPI: Downloads License: Apache 2.0 Package build status PyPI upload status TestPyPI upload status

Documentation

GitHub Pages status

Code Style

Test style: pytest Code style: black Imports: isort Docstring style: google

Linting

pre-commit enabled Docstring formatter: docformatter Type Checker: pyright Linter: pylint Linter: Ruff


tm_devices: Test & Measurement Device Management

tm_devices is a device management package which allows for better control and usage of Test & Measurement devices in python scripts. This is accomplished by using the PyVISA package to manage connections and communication with devices. tm_devices gives users access to a much higher level abstraction of device control by providing access to device drivers with a complete Python API.

Dependencies

tm_devices can be used without any external (non-python) dependencies on any operating system thanks to the PyVISA-py VISA backend. However, in order to use any VISA functionality that PyVISA-py does not implement, a third-party VISA backend such as NI-VISA can be installed. tm_devices will use an available VISA backend if one is found and will fall back to using PyVISA-py if no other VISA backends are installed.

Installation

pip install tm_devices

Basic Usage

Basic Script

from tm_devices import DeviceManager

with DeviceManager() as device_manager:
    scope = device_manager.add_scope("192.168.0.100")
    scope.query("*IDN?")
    print(scope)

Supported Devices

Device Support Levels
Type
Series/Model
Command
Type
Basic
Control
Python API
Validation
Status

AFGs <AFG>

AFG3000

PI

โœ…

๐Ÿšง

AFG31xxx

PI

โœ…

AWGs <AWG>

AWG5000

PI

โœ…

๐Ÿšง

AWG5200

PI

โœ…

๐Ÿšง

AWG7000

PI

โœ…

๐Ÿšง

AWG70000

PI

โœ…

๐Ÿšง

Scopes <Scope>

2 Series MSO

PI

โœ…

๐Ÿšง

3 Series MDO

PI

โœ…

๐Ÿšง

4 Series MSO

PI

โœ…

๐Ÿšง

5 Series MSO

PI

โœ…

๐Ÿšง

5 Series B MSO

PI

โœ…

๐Ÿšง

5 Series MSO (LP)

PI

โœ…

๐Ÿšง

6 Series MSO

PI

โœ…

๐Ÿšง

6 Series B MSO

PI

โœ…

๐Ÿšง

6 Series LPD

PI

โœ…

๐Ÿšง

MSO2000/B

PI

โœ…

๐Ÿšง

DPO2000/B

PI

โœ…

๐Ÿšง

MDO3000

PI

โœ…

๐Ÿšง

MDO4000/B/C

PI

โœ…

๐Ÿšง

MSO4000/B

PI

โœ…

๐Ÿšง

DPO4000/B

PI

โœ…

๐Ÿšง

MSO5000/B

PI

โœ…

๐Ÿšง

DPO5000/B

PI

โœ…

๐Ÿšง

DPO7000/C

PI

โœ…

๐Ÿšง

DPO70000/C/D/DX/SX

PI

โœ…

๐Ÿšง

DSA70000/C/D

PI

โœ…

๐Ÿšง

MSO70000/C/DX

PI

โœ…

๐Ÿšง

TSOVu

PI

โœ…

TekScope

PI

โœ…

PSUs <PSU>

2200

PI

โœ…

2220

PI

โœ…

2230

PI

โœ…

2231

PI

โœ…

2280S

PI

โœ…

2281S

PI

โœ…

SMUs <SMU>

24xx Standard

PI

โœ…

24xx Interactive

TSP

โœ…

๐Ÿšง

26xxB

TSP

โœ…

๐Ÿšง

Model 2601B-PULSE

TSP

โœ…

๐Ÿšง

Model 2606B

TSP

โœ…

๐Ÿšง

2651A

TSP

โœ…

๐Ÿšง

2657A

TSP

โœ…

๐Ÿšง

6430 (electrometer)

PI

โœ…

6514 (electrometer)

PI

โœ…

6517B (electrometer)

PI

โœ…

MTs <MT>

TMT4

API

โœ…

DMMs <DMM>

DMM6500

TSP

โœ…

๐Ÿšง

DMM7510

TSP

โœ…

๐Ÿšง

DMM7512

TSP

โœ…

DAQs <DAQ>

DAQ6510

TSP

โœ…

๐Ÿšง

SSs <SS>

3706A

TSP

โœ…

๐Ÿšง

Supported Connections

  • REST API

  • VISA (NI-VISA and PyVISA-py)

    • TCPIP

    • ASRL / Serial / RS-232 / RS-485

    • SOCKET

    • USBTMC (no PyVISA-py support)

    • GPIB (no PyVISA-py support)

Documentation

See the full documentation at https://tektronix.github.io/tm_devices/

Maintainers

Before reaching out to any maintainers directly, please first check if your issue or question is already covered by any open issues. If the issue or question you have is not already covered, please file a new issue and the maintainers will review and respond there.

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

tm_devices was created by Tektronix. It is licensed under the terms of the Apache License 2.0.

Credits

tm_devices was created with cookiecutter and the py-pkgs-cookiecutter template.

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

tm_devices-0.1.24.tar.gz (6.1 MB view details)

Uploaded Source

Built Distribution

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

tm_devices-0.1.24-py3-none-any.whl (6.9 MB view details)

Uploaded Python 3

File details

Details for the file tm_devices-0.1.24.tar.gz.

File metadata

  • Download URL: tm_devices-0.1.24.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for tm_devices-0.1.24.tar.gz
Algorithm Hash digest
SHA256 7fb9df65c1f22c86b1ed48ef49977711a7267f5b810cda853f62a06ea41849b3
MD5 b5d5f4df53042f5964bbabb30ddcabd8
BLAKE2b-256 a0013a94c9bc16cab60de3ffb2c4a033871da89661a35fa6cbc9be2a7666c779

See more details on using hashes here.

File details

Details for the file tm_devices-0.1.24-py3-none-any.whl.

File metadata

  • Download URL: tm_devices-0.1.24-py3-none-any.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for tm_devices-0.1.24-py3-none-any.whl
Algorithm Hash digest
SHA256 2cc941c76f957b640048e2a5cbc7cac22e936322618d248aa1d20a20b71b971d
MD5 89d07842bc195829bd82ad7ba26e18a7
BLAKE2b-256 bef8db572a27eb31e5c407c1257f4601fc3b1a09c9bf6d5736848d80b282a877

See more details on using hashes here.

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