Install & Compatibility
Where this runs
tested against v0.16.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.874s · 187.7MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 9.7s · import 0.818s · 180MB
189MB installed
● package 189MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Instrument
✓ from pymeasure.instruments import Instrument
✗ from pymeasure import Instrument
Instrument is in the instruments subpackage
ManagedWindow
✓ from pymeasure.display import ManagedWindow
✗ from pymeasure import ManagedWindow
ManagedWindow is in the display subpackage
Procedure
✓ from pymeasure.experiment import Procedure
✗ from pymeasure import Procedure
Procedure is in the experiment subpackage
Quickstart: import PyMeasure, create an instrument, define a procedure, and run it.
import pymeasure
from pymeasure.instruments.keithley import Keithley2400
from pymeasure.experiment import Procedure, Results
from pymeasure.display import ManagedWindow
# Check version
print(pymeasure.__version__)
# Example: create a Keithley 2400 instrument (simulated if no hardware)
try:
keithley = Keithley2400("GPIB0::24::INSTR")
print(keithley.id)
except Exception as e:
print(f"Could not connect: {e}")
# Define a simple procedure
class MyProcedure(Procedure):
def execute(self):
import time
for i in range(5):
self.emit('data', {'i': i})
time.sleep(0.1)
# Create and run procedure
results = Results(MyProcedure(), 'test.csv')
print('Procedure created. See framework documentation for full GUI usage.')
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'pymeasure.instruments'
PyMeasure is not installed or installed incorrectly (e.g., missing subpackage).
fixEnsure correct installation: `pip install pymeasure` (or `pip install --upgrade pymeasure`). Also check for pip conflicts (e.g., multiple environments).
AttributeError: module 'pymeasure' has no attribute 'instruments'
The top-level pymeasure package does not export subpackages; you must import from the correct subpackage.
fixUse `from pymeasure.instruments import Instrument` instead of `from pymeasure import instruments`.
VisaIOError: VI_ERROR_TMO (-1073807339) – Timeout expired before operation completed
The instrument did not respond within the default timeout. This often happens with slow instruments or incorrect connection settings.
fixIncrease the timeout: `instrument = Keithley2400("GPIB0::24::INSTR", timeout=5000)` or check the physical connection and address. Upgrade
Version history
0.16.0latest on PyPI · released May 20, 2026
Audit
Dependencies
pyvisaoptionalRequired for VISA-based instrument communication
pyserialoptionalRequired for serial port communication
numpyrequiredRequired for numeric operations
pandasrequiredRequired for data handling and experiment management