Manage connections and interactions with Test & Measurement devices.
Project description
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.100::inst0::INSTR",
"ASRL4::INSTR"
]
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 & 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 | ✅ | ✅ | |
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 | ✅ |
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.
- tmdevicessupport@tektronix.com - For technical support and questions.
- opensource@tektronix.com - For open-source policy and license questions.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tm_devices-2.5.0.tar.gz
.
File metadata
- Download URL: tm_devices-2.5.0.tar.gz
- Upload date:
- Size: 7.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2855124a43e3702e39e5b6b3cb262df5ef8c51776eaae3e9b0e5f61f2f0ed164 |
|
MD5 | ae2037989950a6be7fdeadb03b4e595f |
|
BLAKE2b-256 | c80c797a10043b718b23f8ad076bb54d5769df0b0ef388a3850da82253e4fb04 |
File details
Details for the file tm_devices-2.5.0-py3-none-any.whl
.
File metadata
- Download URL: tm_devices-2.5.0-py3-none-any.whl
- Upload date:
- Size: 7.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd724de1d30005d3c2a28f097b0a6182f1565473751eea64a4aa1c89ebfe6d05 |
|
MD5 | e0319849ce5ac2d16f2c37d0411441f3 |
|
BLAKE2b-256 | 97b9deb21548fbe04459fed8044556baa01efef4380e5113c9eafa9d914d2c8f |