DiamondLightSource / FastCS

Control system agnostic framework for building device support in Python for both EPICS and Tango
Apache License 2.0
2 stars 3 forks source link

@command does not work in python 3.12 #74

Open dperl-dls opened 5 days ago

dperl-dls commented 5 days ago

The resulting function fails an isinstance for WrappedMethod so _get_single_mapping does not add it to the Mapping

Steps To Reproduce

Steps to reproduce the behaviour:

  1. Create a Controller with a @command method in python 3.12
  2. Observe that there is no PV created for it

this is also reflected in tests/backends/epics/test_gui.py::test_get_components

Acceptance Criteria

GDYendell commented 4 days ago

Thanks @dperl-dls ! Currently we are pinned <3.12 because softioc was not compatible, but I think that is resolved now, so we should unpin and fix what breaks.

dperl-dls commented 4 days ago

Yeah, most stuff does just work, I was running on 3.12 generally successfully and got surprised when my commands were not resulting in generated PVs in the IOC. I tried running the tests on 3.12 yesterday when writing this issue and only a couple failed