Auto-discovering Keithley 2400/2450 SMU control library over serial or USB
Project description
keithley2400
Single-file Python library for Keithley 2400 and 2450 SourceMeter / SMU control.
The public API stays simple:
- one import
- one class
- auto-detect model
- auto-detect serial vs USB
- old scripts can keep using
Keithley2400(...)
What it supports
- Keithley 2400 over RS-232 / USB-serial (
ASRL...) - Keithley 2450 over USBTMC / VISA USB (
USB...) - stale configured resources with automatic fallback discovery
- one shared high-level API for common operations: source V/I, compliance, read V/I/R, sweep IV, ramp voltage
Installation
pip install keithley2400
For USB instruments when using the @py backend, also make sure the host has a USB backend library such as libusb installed.
Quick start
Auto-discover everything
from keithley2400 import Keithley2400
with Keithley2400(resource=None) as k:
print(k.idn())
print(k.model)
print(k.resource)
Old code still works
from keithley2400 import Keithley2400
k = Keithley2400(resource="ASRL/dev/cu.usbserial-FTRTKC3X::INSTR")
print(k.idn())
k.close()
If that resource is stale, the library tries it first and then falls back to auto-discovery.
Ramp to bias voltage
from keithley2400 import Keithley2400
with Keithley2400() as k:
v_meas, i_meas = k.ramp_to_voltage(
44.5,
voltage_steps=[0, 10, 20, 30, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 44.5],
compliance_amps=1e-3,
high_voltage_threshold_v=35.0,
high_compliance_amps=5e-3,
high_compliance_hold_s=5.0,
stabilize_s=3.0,
current_range_amps=0.01,
keep_output_on=True,
)
print(v_meas, i_meas)
Compatibility note
The public class name remains Keithley2400 for backward compatibility, but it now acts as a model-agnostic SMU facade. You can also import the alias KeithleySMU.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file keithley2400-0.2.0-py3-none-any.whl.
File metadata
- Download URL: keithley2400-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34cb9c65b15dc5454afc6e7dd7db960d3c2aed8e6c622a14ef355c9c68211363
|
|
| MD5 |
3026d801e8d9c0efb180c2e9038d8b17
|
|
| BLAKE2b-256 |
145b24bee27b788a3536c6158a1344782eb35bb051bf7b5ed8190eb16043f558
|