Release History¶
v1.1.1 (2020-08-19)¶
Description¶
This is a bugfix release. Please use this instead of v1.1.0.
Compatibility / Fixes¶
Fix issue with ui files not being included in the manifest
Fix issue with profiler failing on tests submodule
v1.1.0 (2020-08-18)¶
Description¶
This is a big release with many fixes and features.
Enhancements / What’s New¶
Make Typhos aware of variety metadata and assign appropriate widgets based on the variety metadata assigned in pcdsdevices.
Split templates into three categories: core, devices, and widgets. Core templates are the main typhos display templates, e.g. detailed_tree. Devices templates are templates tailored for specific device classes. Widgets templates define special typhos widgets like tweakable, positioner, etc.
Add attenuator calculator screens. These may be moved to another repo in a future release.
Add information to loading widgets indicating timeout details.
Compatibility / fixes¶
Fix issue with comboboxes being set on mouse scroll.
Allow loading classes from cli with numbers in the name.
Fix issue with legacy codepath used in lightpath.
Fix issue with widget UnboundLocalError.
Hacky workaround for issue with newer versions of Python.
Hacky workaround for issue where positioner widget puts on startup.
Fix issue with unset _channel member.
Fix issue with typhos creating and installing a tests package separate from the main typhos package.
Docs / Testing¶
Add variety testing IOC.
Add doctr_versions_menu extension to properly render version menu.
Fix issues with failing benchmark tests
v1.0.2 (2020-07-01)¶
Description¶
A bug fix and package maintenance release.
Enhancements / What’s New¶
PositionerWidget moves set their timeouts based on expected velocity and acceleration, rather than a flat 10 seconds.
Compatibility / fixes¶
Ensure that widgets with no layout or minimum size are still displayed.
Update local conda recipe to match conda-forge.
Update CI to used shared configurations.
v1.0.1 (2020-05-20)¶
Description¶
A bug fix release with a minor addition.
Enhancements / What’s New¶
TyphosLoading now takes in a timeout value to switch the animation with a text message stating that the operation timed-out after X seconds.
Compatibility / fixes¶
Combobox widgets were appearing when switching or refreshing templates.
v1.0.0 (2020-05-18)¶
Description¶
A major new feature release with added views for complex devices and simplified configurability.
As planned, the deprecated import name typhon
and the typhon
command-line tool have been removed.
Enhancements / What’s New¶
Panels: New
TyphosCompositeSignalPanel
, which composes multipleTyphosDisplay
s in a tree-like view.Benchmarking: new profiling tools accessible in the command-line
typhos
tool, allowing for per-line profiling of standardized devices. (--benchmark
)Template discovery: templates are discovered based on screen macros and class inheritance structure, with the fallback of built-in templates.
New command-line options for testing with mock devices (
--fake-device
).Performance: Major performance improvements by way of background threading of signal description determination, display path caching, and connection status monitoring to reduce GUI thread blocking.
Display: Adds a “display switcher” tool for easy access to different screen types.
Display: Adds a “configuration” button to displays.
Filtering: Filter panel contents by kinds.
Filtering: Filter panel contents by signal names.
Setpoint history: a history of previous setpoints has been added to the context menu in
TyphosLineEdit
.Positioner widgets have been redesigned to be less magical and more fault- tolerant. Adds designable properties that allow for specification of attribute names.
Anything that inherits from
PositionerBase
will have the template as an option (EpicsMotor
,PCDSMotorBase
, etc.)Reworked default templates to remove the
miscellaneous
panel. Omitted signals may still be shown by way of panel context menus or configuration menus.
Compatibility / fixes¶
Python 3.8 is now being included in the test suite.
Happi is now completely optional.
Popped-out widgets such as plots will persist even when the parent display is closed.
Font sizes should be more consistent on various DPI displays.
Module
typhos.signal
has been renamed totyphos.panel
.TyphosTimePlot
no longer automatically adds signals to the plot.Removed internally-used
typhos.utils.grab_kind
.OSX layout of
TyphosSuite
should be improved using the unified title and toolbar.
v0.7.0 (2020-03-09)¶
Fix docs deployment
Add “loading in progress” gif
Fix sorting of signals
Automatically choose exponential format based on engineering units
Fix lazy loading in ophyd 1.4
Save images of widgets when running tests
Add a new “PopBar” which pops in the device tree in the suite
Clean up the codebase - sort all imports + fix style
Relocate SignalRO to a single spot
v0.6.0 (2020-01-09)¶
Description¶
This release is dedicated to the renaming of the package from Typhon
to Typhos
. The main reason for the renaming is a naming conflict at
PyPI that is now addressed.
Compatibility¶
This release is still compatible and will throw some DeprecationWarnings
when typhon
is used. The only incompatible piece is for Qt
Stylesheets. You will need to add the typhos
equivalents to your
custom stylesheets if you ever created one.
This is the first release with the backwards compatibility for typhon. In two releases time it will be removed.
v0.5.0 (2019-09-18)¶
Description¶
It was a long time since the latest release of Typhon
. It is time
for a new one. Next releases will have again the beautiful and
descriptive messages for enhancements, bug fixes and etc.
What’s New¶
A lot.
v0.2.1 (2018-09-28)¶
Description¶
This is a minor release of the Typhon
library. No major features
were added, but instead the library was made more stable and utilitarian
for use in other programs. This includes making sure that any calls to a
signal’s values or metadata are capable of handling disconnections. It
also moves some of the methods that were hidden in larger classes or
functions into smaller, more useful methods.
Enhancements¶
SignalPlugin
now transmits all the metadata that is guaranteed to be present from the baseSignal
object. This includesenum_strs
,precision
, andunits
(#92)DeviceDisplay
now has an optional argumentchildren
. This makes it possible to ignore aDevice
components when creating the display (#96)The following utility functions have been created to ensure that a uniform approach is taken for
Device
introspection:is_signal_ro
,grab_hints
(#98)
Maintenance¶
v0.2.0 (2018-06-27)¶
Description¶
This Typhon
release marks the transition from prototype to a stable
library. There was a variety of API breaks and deprecations after
v0.1.0
as many of the names and functions were not future-proof.
Enhancements¶
Typhon
is now available on thepcds-tag
Anaconda channel (#45)Typhon
now installs a special data plugin forPyDM
calledSignalPlugin
. This uses the genericophyd.Signal
methods to communicate information to PyDM widgets. (#63)Typhon
now supports two different stylesheets a “light” and “dark” mode. These are not activated by default, but instead can be accessed viause_stylesheet
function (#61, #89)There is now a sidebar to the
DeviceDisplay
that makes adding devices and tools easier. Theadd_subdisplay
function still works but it is preferable to use the more specificadd_tool
andadd_subdevice
. (#61)Typhon
will automaticaly create aPyDMLogDisplay
to show the output of thelogging.Logger
object attached to eachophyd.Device
(#70)Typhon
now creates aPyDMTimePlot
with the “hinted” attributes of the Device. This can be configured at runtime to have fewer or more signals (#73)
API Changes¶
All of the
Panel
objects have been moved to different files.SignalPanel
now resides intyphon.signal
while the basePanel
that is no longer used to display signals is in the generictyphon.widgets
renamed asTogglePanel
(#50)
Deprecations¶
Dependencies¶
v0.1.0 (2017-12-15)¶
The initial release of Typhon. This serves as a proof of concept for the automation of PyDM screen building as informed by the structure of an Ophyd Device.
Features¶
Generate a full
DeviceDisplay
with all of the device signals and sub-devices availableInclude methods from the ophyd Device in the User Interface, automatically parse the arguments to make a widget representation of the function
Include
png
images associated with devices and sub-devices