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

GitHub Pages 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.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

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

✅

✅

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 <PSU>

2200

PI

✅

2220

PI

✅

2230

PI

✅

2231

PI

✅

2280S

PI

✅

2281S

PI

✅

SMUs <SMU>

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 <MT>

TMT4

API

✅

DMMs <DMM>

DMM6500

TSP

✅

DMM7510

TSP

✅

DMM7512

TSP

✅

DAQs <DAQ>

DAQ6510

TSP

✅

SSs <SS>

3706A

TSP

✅

Software Solution Support Levels
Software
Solution
Command
Type
Basic
Control
Python API
Validation
Status

DPOJET

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://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 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.

Credits

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

Metadata

Release files for tm-devices 1.2.2

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 1.2.2
File Size Uploaded
tm_devices-1.2.2.tar.gz 6.4 MB Details

Built distribution (wheel)

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

Total release size: 13.6 MB

Release files / tm_devices-1.2.2.tar.gz

Download URL tm_devices-1.2.2.tar.gz
Size 6.4 MB
Tags Source
SHA-256 checksum
How to use checksums
1755facb62b3eca3bccbcfa5cf3beb8645abc81c2731573cd5248d2b9d590430
BLAKE2b-256 checksum
How to use checksums
3755f02bc9f65db9b18ebb0a6cbba06a73305b4006dfc4e1d2100923eb4a5e33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

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

Download URL tm_devices-1.2.2-py3-none-any.whl
Size 7.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8e8370baa0c282be723df9f675bf6c51e9743b167ccb8a59df67f485096cc231
BLAKE2b-256 checksum
How to use checksums
8159145564aceafb79e78d73ff3794459544a7a74c4b13e88373fddbfab4a61e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

3.7.0

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

This release

1.2.2 This release

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