PyDM 1.5
PyDM 1.5 Release Notes
Today we're releasing PyDM 1.5. No huge user-facing features this time - this release is focused on the inner workings. The two most notable changes are enhancements to PyDMTimePlot, and the switch from our home-built PyQt compatibility layer (which has mostly been useless since we removed PyQt4 support) to QtPy. Besides those, there are all the usual bug fixes and minor improvements to widgets.
New Features
- PyDM now uses QtPy as the compatibility layer, which lets us support both PyQt5, and PySide2. Note that right now, we are still only developing and testing using PyQt5, and so PySide2 should be considered experimental, and may be unstable. (Thanks @tacaswell for the work on this - the process must have been incredibly tedious!)
- All Plot Widgets now support an optional right axis. For now, changing the scale of the right axis can only be done programmatically, but expect this to eventually be changeable in Designer. (Thanks @hmbui)
- There have been many behind-the-scenes enhancements to the PyDMTimePlot widget to support TimeChart, our general purpose, standalone signal vs. time plotting tool. TimeChart hasn't had an official release yet, but expect to see one pretty soon. Many of these enhancements will eventually be exposed as properties in Designer, so stay tuned. (Thanks @hmbui)
- Environment variables are now expanded when used to specify file paths (Thanks @hhslepicka)
- Another EPICS data plugin has been added for the caproto client library. To use it, set the
PYDM_EPICS_LIB
environment variable:export PYDM_EPICS_LIB=CAPROTO
(Thanks @hhslepicka)
Bug Fixes
- Macro replacement is now done in-memory, rather than in a temporary file. This reduces disk thrashing. (Thanks @klauer)
- Fixed a crash in Designer due to the PyDM Extensions system (Thanks @klauer)
- Macros now correctly propagate to files opened using related display buttons (Thanks @klauer)
- The X and Y axes on PyDMScatterPlots are no longer reversed (Thanks @klauer)
- PyDMByteIndicators now work with values with more than 8-bits (You guessed it: Thanks @klauer)
- Fixed a bug that could prevent PyDMWaveformPlot from triggering (Thanks @fernandohds564)
- Updated the list of PyDM contributors on the 'About' screen
- All plot widgets now only redraw if the data has changed, significantly reducing CPU usage
- Minor errors corrected in docstrings for widgets, like parameters being listed as 'returns' (Thanks @KurtJacobson)
- Fixed PyDMLineEdit's handling of PVs without units (Thanks @teddyrendahl)
- Fix default stylesheet problem with pen width definition (Thanks @hhslepicka)