• Updated parameter database.
  • Add support for devices with multiple channels.
  • Add support for automatically reopening serial port.
  • Add support for callback on read and write parameters of instrument instances.
  • Update string handling.


  • Fix database json loading using deprecated keyword encoding.


  • Add support for externally provides serial class, this enables solutions that do not use a pySerial compatible serial port. The given serial class must support in_waiting, read, write, open, close.
  • Fix issue that write would modify parameter type of passed parameters.


  • Fix issues with write chaining.
  • Support receiving strings that exceed MAX_PP_PARM_LEN.


  • Add IP Address parameters to database.
  • Added mechanism to reduce CPU load with the new serial port handling.


  • Fixed dump mode (broken due to new serial port handling).
  • Fixed bug in string handling.
  • Return parameters now contain the requested type when they are custom types (PP_TYPE_FLOAT, PP_TYPE_SINT16, PP_TYPE_BSINT16).
  • Changed database to return copy of dict, so modifcations to a parameter won’t influence ‘new’ request of that parameter.


  • Added support for propar broadcast messages (using master.broadcast_callback).
  • Improved database performance upto 400 times.
  • Data will now be read from serial port in chunks, when there is more data available. This speeds up the processing and keeps buffers clear.
  • Support for unchained multiple parameter propar read messages.


  • Added __version__ attribute.
  • Added dde_nr and parm_name fields to output parameters of read_parameters, when they are present in the request parameters.
  • Added experimental support for Propar ASCII. Can be enabled with master.propar.mode = propar.PP_MODE_ASCII (mode is set to propar.PP_MODE_BINARY by default).
  • Changed formatting for debug messages to: TX/RX (Length): Data.
  • Fixed bug in reading strings from response message (in a chained read).
  • Fixed bug in request/response matching where when re-using a master after aborting a running action (for example CTRL+C in an interactive python session), sometimes the old response to that action would match the new request.


  • Reduced CPU load (set timeout of serial port in propar provider).


  • Fixed issue with matching requests to responses in master. Improved compatibility for master.get_nodes.


  • Changed debug message to only show when flag is set.


  • Compatibility improved in master.get_nodes function on propar master.


  • Improved propar performance, added additional dump mode.


  • Fix some errors in the project description and examples.


  • Initial public release.