Scientific measurement library for instruments, experiments, and live-plotting
Bugfix release to fix ineffective python version restriction in the project metadata. This only affected Python<=3.7 environments installing via pip.
Main items of this new release:
stepu
and stepd
properties are deprecated, use the new move_raw
method instead. (@dkriegner, #938)LeCroyT3DSO1204
functionality (@RobertoRoos, #951)@waveman68, @omahs, @ileu
Full Changelog: https://github.com/pymeasure/pymeasure/compare/v0.12.0...v0.13.0
Main items of this new release:
Channel
base class has been added for easier implementation of instruments with channels.voltage_ac
, current_dc
, current_ac
, resistance
, resistance_4w
properties, use function_
and reading
properties instead.channel1_enabled
, use ch_1.enabled
property instead (equivalent for channel2). Also laser_enabled
is deprecated in favor of emission
(@bmoneke, #819).VISAAdapter
instead. VISA supports TCPIP connections. Use the resource_name TCPIP[board]::<hostname>::<port>::SOCKET
to connect to a server (@Max-Herbold, #835).host
argument, pass a resource string or adapter as Adapter
passed to Instrument
. Now communicates through the VISAAdapter
rather than deprecated TelnetAdapter
. The initializer now accepts name
as its second keyword argument so all previous initialization positional arguments (axisnames
, passwd
, query_delay
) should be switched to keyword arguments.control
, measurement
, and setting
do not accept arbitrary keyword arguments anymore. Use the v_kwargs
parameter for arguments you want to pass on to values
method, instead.control
, measurement
, and setting
do not accept command_process
anymore. Use a dynamic property or a Channel
instead, as appropriate (@bmoneke, #878).All instrument constructors are required to accept a name
argument.
Changed: read_bytes
of all Adapters by default does not stop reading on a termination character, unless the new argument break_on_termchar
is set to True
.
Channel class added. Instrument.channels
and Instrument.ch_X
(X
is any channel name) are reserved attributes for channel mechanics.
The parameters check_get_errors
and check_set_errors
enable calling methods of the same name. This enables more systematically dealing with instruments that acknowledge every "set" command.
Adds Channel feature to instruments (@bmoneke, mcdo0486, #718, #761, #852, #931)
Adds maxsplit
parameter to values
method (@bmoneke, #793)
Adds (deprecated) global preprocess reply for backward compatibility (@bmoneke, #876)
Adds fallback version for discarding the read buffer to VISAAdapter (@dkriegner, #836)
Adds flush_read_buffer
to SerialAdapter (@RobertoRoos, #865)
Adds gpib_read_timeout
to PrologixAdapter (@neuschs, #927)
Adds command line option to pass resource address for instrument tests (@bleykauf, #789)
Adds "find all instruments" and channels for testing (@bmoneke, #909, @mcdo0486, #911, #912)
Adds test that an instrument hands kwargs to the adapter (@bmoneke, #814)
Adds property docstring check (@bmoneke, #895)
Improves property factories' docstrings (@bmoneke, #843)
Improves property factories: do not allow undefined kwargs (@bmoneke, #856)
Improves property factories: check_set/get_errors argument to call methods of the same name (@bmoneke, #883)
Improves read_bytes
of Adapter (@bmoneke, #839)
Improves the ProtocolAdapter with a mock connection (@bmoneke, #782), and enable it to have empty messages in the protocol (@bmoneke, #818)
Improves Prologix adapter documentation (@bmoneke, #813) and configurable settings (@bmoneke, #845)
Improves behavior of read_bytes(-1)
for SerialAdapter
(@RobertoRoos, #866)
Improves all instruments with name kwarg (@bmoneke, #877)
Improves VisaAdapter: close manager only when using pyvisa-sim (@dkriegner, #900)
Harmonises instrument name definition pattern, consistently name the instrument connection argument "adapter" (@bmoneke, #659)
Fixes ProtocolAdapter has list in signature (@bmoneke, #901)
Fixes VISAAdapter's read_bytes
(@bmoneke, #867)
Fixes query_delay usage in VISAAdapter (@bmoneke, #765)
Fixes VisaAdapter: close resource manager only when using pyvisa-sim (@dkriegner, #900)
@JCarl-OS, @aruznieto, @scandey, @tomverbeure, @wichers, @Max-Herbold, @RobertoRoos
Full Changelog: https://github.com/pymeasure/pymeasure/compare/v0.11.1...v0.12.0
PrologixAdapter.gpib
. Due to a bug in VISAAdapter
, you could not get a second adapter with that connection (#765).Full Changelog: https://github.com/pymeasure/pymeasure/compare/v0.11.0...v0.11.1
Main items of this new release:
Instrument
and 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.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.
ask
, values
, binary_values
, use Instrument
methods of the same name instead.preprocess_reply
, override Instrument.read
instead.Adapter.query_delay
in favor of Instrument.wait_for()
.enabled
property, use output_enabled
instead.VISAAdapter
etc.) implement the actual communication.Instrument.control
getter calls Instrument.values
.Instrument.values
calls Instrument.ask
, which calls Instrument.write
, wait_for
, and read
.Instrument.write
and read
.Instrument.wait_until_read
implements waiting between writing and reading.Adapter
class itself.PrologixAdapter
is now based on VISAAdapter
.SerialAdapter
improved to be more similar to VISAAdapter
: read
/write
use strings, read/write_bytes
bytes. - Support for termination characters added.shutdown
method (@LongnoseRob, #739)@jcarbelbide, @mroeleke, @bmoneke, @garzetti, @AsafYagoda, @AidenDawn, @LastStarDust, @sansanda
Full Changelog: https://github.com/pymeasure/pymeasure/compare/v0.10.0...v0.11.0
Main items of this new release:
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)
@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
This release brings a large number of new instruments, along with improvements to adapters.
Thanks everyone who contributed to this release! Special thanks to @bilderbuchi and @CasperSchippers for maintaining the project!
This release brings a number of new features including live image plotting and measurement sequencing.
Thanks to everyone who contributed to this release!
This release provides numerous fixes and improvements, including two new instruments. Python 3.4 is no longer officially supported (since it reached end-of-life). Python 3.7 is now supported by our automated testing.
Thanks to everyone who contributed to this release!