ISISComputingGroup / lewis-ess

Let's write intricate simulators!
GNU General Public License v3.0
21 stars 19 forks source link

Mechanism for devices to indicate dependency on certain framework version #198

Closed MichaelWedel closed 7 years ago

MichaelWedel commented 7 years ago

As we have discussed in various contexts, since we support Lewis being used as a library with people writing their own device simulators that are in places we have no control over, we should make sure stuff does not break horribly as we advance the framework.

DeviceBase should have an additional attribute or property that can be overridden by device-implementers to indicate the framework version(s) the device is known to work with. This should be similar to what pip offers, so that users can specify things like >=1.0.2 or ==1.0.0. By default, nothing can be assumed or verified, so this is something that we have to point out specifically in the documentation.

The device discovery mechanism should still detect devices that are incompatible with the framework, but it should store them separately so that lewis can list them as "incompatible devices".