Pymeasure

Latest version: v0.15.0

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.11.0

===========================
Main items of this new release:

- 11 new instrument drivers have been added
- A method for testing instrument communication **without** hardware present has been added, see `the documentation <https://pymeasure.readthedocs.io/en/latest/dev/adding_instruments.html#protocol-tests>`__.
- The separation between :code:`Instrument` and :code:`Adapter` has been improved to make future modifications easier. Adapters now focus on the hardware communication, and the communication *protocol* should be defined in the Instruments. Details in a section below.
- The GUI is now compatible with Qt6.
- We have started to clean up our API in preparation for a future version 1.0. There will be deprecations and subsequent removals, which will be prominently listed in the changelog.

Deprecated features
-------------------
In preparation for a stable 1.0 release and a more consistent API, we have now started formally deprecating some features.
You should get warnings if those features are used.

- Adapter methods :code:`ask`, :code:`values`, :code:`binary_values`, use :code:`Instrument` methods of the same name instead.
- Adapter parameter :code:`preprocess_reply`, override :code:`Instrument.read` instead.
- :code:`Adapter.query_delay` in favor of :code:`Instrument.wait_for()`.
- Keithley 2260B: :code:`enabled` property, use :code:`output_enabled` instead.

New adapter and instrument mechanics
------------------------------------
- Nothing should have changed for users, this section is mainly interesting for instrument implementors.
- Documentation in 'Advanced communication protocols' in 'Adding instruments'.
- Adapter logs written and read messages.
- Particular adapters (`VISAAdapter` etc.) implement the actual communication.
- :code:`Instrument.control` getter calls :code:`Instrument.values`.
- :code:`Instrument.values` calls :code:`Instrument.ask`, which calls :code:`Instrument.write`, :code:`wait_for`, and :code:`read`.
- All protocol quirks of an instrument should be implemented overriding :code:`Instrument.write` and :code:`read`.
- :code:`Instrument.wait_until_read` implements waiting between writing and reading.
- reading/writing binary values is in the :code:`Adapter` class itself.
- :code:`PrologixAdapter` is now based on :code:`VISAAdapter`.
- :code:`SerialAdapter` improved to be more similar to :code:`VISAAdapter`: :code:`read`/:code:`write` use strings, :code:`read/write_bytes` bytes. - Support for termination characters added.

Instruments
-----------
- New Active Technologies AWG-401x (garzetti, 649)
- New Eurotest hpp_120_256_ieee (sansanda, 701)
- New HC Photonics crystal ovens TC038, TC038D (bmoneke, 621, 706)
- New HP 6632A/6633A/6634A power supplies (LongnoseRob, 651)
- New HP 8657B RF signal generator (LongnoseRob, 732)
- New Rohde&Schwarz HMP4040 power supply. (bleykauf, 582)
- New Siglent SPDxxxxX series Power Supplies (AidenDawn, 719)
- New Temptronic Thermostream devices (mroeleke, 368)
- New TEXIO PSW-360L30 Power Supply (LastStarDust, 698)
- New Thermostream ECO-560 (AidenDawn, 679)
- New Thermotron 3800 Oven (jcarbelbide, 606)
- Harmonize instruments' adapter argument (bmoneke, 674)
- Harmonize usage of :code:`shutdown` method (LongnoseRob, 739)
- Rework Adapter structure (bmoneke, 660)
- Add Protocol tests without hardware present (bilderbuchi, 634, bmoneke, 628, 635)
- Add Instruments and adapter protocol tests for adapter rework (bmoneke, 665)
- Add SR830 sync filter and reference source trigger (AsafYagoda, 630)
- Add Keithley6221 phase marker phase and line (AsafYagoda, 629)
- Add missing docstrings to Keithley 2306 battery simulator (AidenDawn, 720)
- Fix hcp instruments documentation (bmoneke, 671)
- Fix HPLegacyInstrument initializer API (bilderbuchi, 684)
- Fix Fwbell 5080 implementation (mcdo0486, 714)
- Fix broken documentation example. (bmoneke, 738)
- Fix typo in Keithley 2600 driver (mcdo0486, 615)
- Remove dynamic use of docstring from ATS545 and make more generic (AidenDawn, 685)

Automation
----------
- Add storing unitful experiment results (bmoneke, 642)
- Add storing conditions in file (CasperSchippers, 503)

GUI
---
- Add compatibility with Qt 6 (CasperSchippers, 688)
- Add spinbox functionality for IntegerParameter and FloatParameter (jarvas24, 656)
- Add "delete data file" button to the browser_item_menu (jarvas24, 654)
- Split windows.py into a folder with separate modules (mcdo0486, 593)
- Remove dependency on matplotlib (msmttchr, 622)
- Remove deprecated access to QtWidgets through QtGui (maederan201, 695)

Miscellaneous
-------------
- Update and extend documentation (bilderbuchi, 712, bmoneke, 655)
- Add PEP517 compatibility & dynamically obtaining a version number (bilderbuchi, 613)
- Add an example and documentation regarding using a foreign instrument (bmoneke, 647)
- Add black configuration (bleykauf, 683)
- Remove VISAAdapter.has_supported_version() as it is not needed anymore.

New Contributors
----------------
jcarbelbide, mroeleke, bmoneke, garzetti, AsafYagoda, AidenDawn, LastStarDust, sansanda

**Full Changelog**: https://github.com/pymeasure/pymeasure/compare/v0.10.0...v0.11.0

0.10.0

===========================
Main items of this new release:

- 23 new instrument drivers have been added
- New dynamic Instrument properties can change their parameters at runtime
- Communication settings can now be flexibly defined per protocol
- Python 3.10 support was added and Python 3.6 support was removed.
- Many additions, improvements and have been merged

Instruments
-----------
- New Agilent B1500 Data Formats and Documentation (moritzj29)
- New Anaheim Automation stepper motor controllers (samcondon4)
- New Andeen Hagerling capacitance bridges (dkriegner)
- New Anritsu MS9740A Optical Spectrum Analyzer (md12g12)
- New BK Precision 9130B Instrument (dennisfeng2)
- New Edwards nXDS (10i) Vacuum Pump (hududed)
- New Fluke 7341 temperature bath instrument (msmttchr)
- New Heidenhain ND287 Position Display Unit Driver (samcondon4)
- New HP 3478A (LongnoseRob)
- New HP 8116A 50 MHz Pulse/Function Generator (CodingMarco)
- New Keithley 2260B DC Power Supply (bklebel)
- New Keithley 2306 Dual Channel Battery/Charger Simulator (mfikes)
- New Keithley 2600 SourceMeter series (Daivesd)
- New Keysight N7776C Swept Laser Source (maederan201)
- New Lakeshore 421 (CasperSchippers)
- New Oxford IPS120-10 (CasperSchippers)
- New Pendulum CNT-91 frequency counter (bleykauf)
- New Rohde&Schwarz - SFM TV test transmitter (LongnoseRob)
- New Rohde&Schwarz FSL spectrum analyzer (bleykauf)
- New SR570 current amplifier driver (pyMatJ)
- New Stanford Research Systems SR510 instrument driver (samcondon4)
- New Toptica Smart Laser diode (dkriegner)
- New Yokogawa GS200 Instrument (dennisfeng2)
- Add output low grounded property to Keithley 6221 (CasperSchippers)
- Add shutdown function for Keithley 2260B (bklebel)
- Add phase control for Agilent 33500 (corna)
- Add assigning "ONCE" to auto_zero to Keithley 2400 (mfikes)
- Add line frequency controls to Keithley 2400 (mfikes)
- Add LIA and ERR status byte read properties to the SRS Sr830 driver (samcondon4)
- Add all commands to Oxford Intelligent Temperature Controller 503 (CasperSchippers)
- Fix DSP 7265 lockin amplifier (CasperSchippers)
- Fix bug in Keithley 6517B Electrometer (CasperSchippers)
- Fix Keithley2000 deprecated call to visa.config (bklebel)
- Fix bug in the Keithley 2700 (CasperSchippers)
- Fix setting of sensor flags for Thorlabs PM100D (bleykauf)
- Fix SCPI used for Keithley 2400 voltage NPLC (mfikes)
- Fix missing return statements in Tektronix AFG3152C (bleykauf)
- Fix DPSeriesMotorController bug (samcondon4)
- Fix Keithley2600 error when retrieving error code (bicarlsen)
- Fix Attocube ANC300 with new SCPI Instrument properties (dkriegner)
- Fix bug in wait_for_trigger of Agilent33220A (neal-kepler)

GUI
---
- Add time-estimator widget (CasperSchippers)
- Add management of progress bar (msmttchr)
- Remove broken errorbar feature (CasperSchippers)
- Change of pen width for pyqtgraph (maederan201)
- Make linewidth changeable (CasperSchippers)
- Generalise warning in plotter section (CasperSchippers)
- Implement visibility groups in InputsWidgets (CasperSchippers)
- Modify navigation of ManagedWindow directory widget (jarvas24)
- Improve Placeholder logic (CasperSchippers)
- Breakout widgets into separate modules (mcdo0486)
- Fix setSizePolicy bug with PySide2 (msmttchr)
- Fix managed window (msmttchr)
- Fix ListParameter for numbers (moritzj29)
- Fix incorrect columns on showing data (CasperSchippers)
- Fix procedure property issue (msmttchr)
- Fix pyside2 (msmttchr)

Miscellaneous
-------------
- Improve SCPI property support (msmttchr)
- Remove broken safeKeyword management (msmttchr)
- Add dynamic property support (msmttchr)
- Add flexible API for defining connection configuration (bilderbuchi)
- Add write_binary_values() to SerialAdapter (msmttchr)
- Change an outdated pyvisa ask() to query() (LongnoseRob)
- Fix ZMQ bug (bilderbuchi)

- Documentation for passing tuples to control property (bklebel)
- Documentation bugfix (CasperSchippers)
- Fixed broken links in documentation. (samcondon4)
- Updated widget documentation (mcdo0486)
- Fix typo SCIP->SCPI (mfikes)

- Remove Python 3.6, add Python 3.10 testing (bilderbuchi)
- Modernise the code base to use Python 3.7 features (bilderbuchi)
- Added image data generation to Mock Instrument class (samcondon4)
- Add autodoc warnings to the problem matcher (bilderbuchi)
- Update CI & annotations (bilderbuchi)
- Test workers (mcdo0486)
- Change copyright date to 2022 (LongnoseRob)
- Removed unused code (msmttchr)

New Contributors
----------------
LongnoseRob, neal, hududed, corna, Daivesd, samcondon4, maederan201, bleykauf, mfikes, bicarlsen, md12g12, CodingMarco, jarvas24, mcdo0486!

**Full Changelog**: https://github.com/pymeasure/pymeasure/compare/v0.9...v0.10.0

0.9

==============================
- PyMeasure is now officially at github.com/pymeasure/pymeasure
- Python 3.9 is now supported, Python 3.5 removed due to EOL
- Move to GitHub Actions from TravisCI and Appveyor for CI (bilderbuchi)
- New additions to Oxford Instruments ITC 503 (CasperSchippers)
- New Agilent 34450A and Keysight DSOX1102G instruments (theMashUp, jlarochelle)
- Improvements to NI VirtualBench (moritzj29)
- New Agilent B1500 instrument (moritzj29)
- New Keithley 6517B instrument (wehlgrundspitze)
- Major improvements to PyVISA compatbility (bilderbuchi, msmttchr, CasperSchippers, cjermain)
- New Anapico APSIN12G instrument (StePhanino)
- Improvements to Thorelabs Pro 8000 and SR830 (Mike-HubGit)
- New SR860 instrument (StevenSiegl, bklebel)
- Fix to escape sequences (tirkarthi)
- New directory input for ManagedWindow (paulgoulain)
- New TelnetAdapter and Attocube ANC300 Piezo controller (dkriegner)
- New Agilent 34450A (theMashUp)
- New Razorbill RP100 strain cell controller (pheowl)
- Fixes to precision and default value of ScientificInput and FloatParameter (moritzj29)
- Fixes for Keithly 2400 and 2450 controls (pyMatJ)
- Improvments to Inputs and open_file_externally (msmttchr)
- Fixes to Agilent 8722ES (alexmcnabb)
- Fixes to QThread cleanup (neal-kepler, msmttchr)
- Fixes to Keyboard interrupt, and parameters (CasperSchippers)

0.8

===============================
- Python 3.8 is now supported
- New Measurement Sequencer allows for running over a large parameter space (CasperSchippers)
- New image plotting feature for live image measurements (jmittelstaedt)
- Improvements to VISA adapter (moritzj29)
- Added Tektronix AFG 3000, Keithley 2750 (StePhanino, dennisfeng2)
- Documentation improvements (mivade)
- Fix to ScientificInput for float strings (moritzj29)
- New validator: strict_discrete_range (moritzj29)
- Improvements to Recorder thread joining
- Migrating the ReadtheDocs configuration to version 2
- National Instruments Virtual Bench initial support (moritzj29)

0.7

==============================
- Dropped support for Python 3.4, adding support for Python 3.7
- Significant improvements to CI, dependencies, and conda environment (bilderbuchi, cjermain)
- Fix for PyQT issue in ResultsDialog (CasperSchippers)
- Fix for wire validator in Keithley 2400 (Fattotora)
- Addition of source_enabled control for Keithley 2400 (dennisfeng2)
- Time constant fix and input controls for SR830 (dennisfeng2)
- Added Keithley 2450 and Agilent 33521A (hlgirard, Endever42)
- Proper escaping support in CSV headers (feph)
- Minor updates (dvase)

0.6.1

=================================
- Added Elektronica SM70-45D, Agilent 33220A, and Keysight N5767A instruments
(CasperSchippers, sumatrae)
- Fixes for Prologix adapter and Keithley 2400 (hlgirard, ronan-sensome)
- Improved support for SRS SR830 (CasperSchippers)

Page 2 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.