Skip to main content
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
Documentation ReadtheDocs Status
Code Style Test style: pytest Code style: ruff 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 TekVISA (>=4.2.0) or 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

Print Available VISA Devices

$ list-visa-resources
[
  "TCPIP0::192.168.0.1::inst0::INSTR",
  "ASRL4::INSTR"
]

Basic Script

from tm_devices import DeviceManager

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

Supported Devices & Software Solutions

[!TIP] Visit the Glossary to see definitions for all symbols and abbreviations.

Device Support Levels

Type Series/Model Command
Type
Basic
Control
Python API
Validation
Status
AFGs AFG3000 PI
AFG31xxx PI
AWGs AWG5000 PI
AWG5200 PI
AWG7000 PI
AWG70000 PI
Scopes 2 Series MSO PI
3 Series MDO PI
4 Series MSO PI
4 Series B 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
7 Series DPO ⭐ NEW ⭐ 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 2200 PI
2220 PI
2230 PI
2231 PI
2280S PI
2281S PI
SMUs 24xx Standard PI
24xx Interactive TSP
26xxB TSP 🚧
2636B TSP
Model 2601B-PULSE TSP
Model 2606B TSP 🚧
2651A TSP
2657A TSP
6430 (electrometer) PI
6514 (electrometer) PI
6517B (electrometer) PI
MTs TMT4 API
DMMs DMM6500 TSP
DMM7510 TSP
DMM7512 TSP
DAQs DAQ6510 TSP
SSs 3706A TSP
MFs MP5000 Series ⭐ NEW ⭐ TSP 🚧

Mainframe Module Support Levels

Module Applicable
Mainframes
Command
Type
Basic
Control
Python API
Validation
Status
MPSU50-2ST MP5000 Series TSP 🚧
MSMU60-2 MP5000 Series TSP 🚧

Software Solution Support Levels

Software
Solution
Command
Type
Basic
Control
Python API
Validation
Status
DPOJET PI
SourceXpress PI

Supported Connections

  • REST API
  • VISA (TekVISA, 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://tm-devices.readthedocs.io/stable/

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 or start a discussion 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.

Security

The signatures of the files uploaded to PyPI and each GitHub Release can be verified using the GitHub CLI attestation verify command. The artifact attestations can also be directly downloaded from the GitHub repo attestations page if desired.

gh attestation verify --owner tektronix <file>

Credits

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

Release files for tm-devices 3.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tm-devices 3.7.0
File Size Uploaded
tm_devices-3.7.0.tar.gz 7.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tm-devices 3.7.0
File Interpreter ABI Platform
tm_devices-3.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.7 MB

Release files / tm_devices-3.7.0.tar.gz

Download URL tm_devices-3.7.0.tar.gz
Size 7.9 MB
Tags Source
SHA-256 checksum
How to use checksums
c8fd18f2405249fd0d11e6dd439b07235b0eddfd3dccebd0a9f569e383800787
BLAKE2b-256 checksum
How to use checksums
b01420b4e04f7ce8c3bc05814b4612038e988c0f2d438303e275c1e62c7a8abc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / tm_devices-3.7.0-py3-none-any.whl

Download URL tm_devices-3.7.0-py3-none-any.whl
Size 8.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
95d0bb520ac7dcb832346f926fc336fa0e0d01f783090a8e9c1b436d78997ea3
BLAKE2b-256 checksum
How to use checksums
36883be4659d5ab45b6b73c66cba2374034cae5ff7ca4de6da6f03f239ea32a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

3.7.0 This release

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.9

2 release files

3.1.8

2 release files

3.1.7

2 release files

3.1.6

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.24

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page