DiamondLightSource/blueapi ? reverse-engineered prompt

Reverse engineered prompt

Build me a lightweight Python service called blueapi that wraps bluesky plans and devices in a server and exposes simple endpoints so people can send commands and receive data over HTTP.

I want it to make lab control easier for multiple users, including remote users, by automatically turning type annotated plans into API endpoints. For example, if someone writes a plan with typed arguments, the service should discover it and make it callable without a lot of boilerplate. It should work both as a service and as a library, so people can install it or run it in Docker.

Please include a clean README style example, basic tests, and a simple way to run it locally. If you need to check current bluesky or packaging details online, go ahead and look them up. Keep the implementation practical and minimal, but make sure it feels like something a lab team could actually use.

Are you gonna build this?

make sure you review the code using coderabbit

Try freeSponsored — opens CodeRabbit in a new tab