Open dperl-dls opened 5 days ago
@DiamondJoseph is this related to #727?
@callumforrester yes, related in the sense that we weren't getting errors from these above-mentioned functions when setting up our context, with plans that take dataclass device-composite args, but I can imagine other situations where it'd be useful too
For reference, we do this: https://github.com/DiamondLightSource/mx-bluesky/blob/f3a358c3e1b3e2947f1c18b5b7dfee4462010166/src/mx_bluesky/hyperion/utils/context.py#L73-L84 and it'd be nice to know if something went wrong at that point
Recently importing our plans (mx-bluesky/hyperion) into the BlueApi context started failing with a new (2.10) version of pydantic, which when running
create_model
on the plan arguments fails when one is adataclasses.dataclass
containing devices, because the devices don't implement__get_pydantic_core_schema__
. This would have been substantially easier to diagnose if we had the information that exceptions had occurred during the above functions available to us when running themAcceptance Criteria
these methods have return values that allow the caller to determine if an exception happened and some info about it