Taurus extensions for Sardana devices.

Objects obtained with taurus.Device() expose standard interfaces e.g., allow to interact with their attributes, check their state, etc. This module defines classes for enriched interaction with Sardana devices (also for other elements not exported as devices), e.g. synchronous move of a sardana motor with move() method instead of writing motor’s position attribute and then waiting for its state change.

To obtain these enriched objects with taurus.Device() you need to first register the extension classes with the registerExtensions function.

The registration needs to be done before the first access to the given taurus.Device().

When you would like to get back to the default taurus.Device() behavior you need to unregister the extension classes with the unregisterExtensions function.

Note that the unregistration will not remove the already created devices from the taurus.Factory() cache.