Skip to content

Repository files navigation

CICoveragePyPILicense

blueapi

Lightweight bluesky-as-a-service wrapper application. Also usable as a library.

WhatWhere
Sourcehttps://github.com/DiamondLightSource/blueapi
PyPIpip install blueapi
Dockerdocker run ghcr.io/diamondlightsource/blueapi:latest
Documentationhttps://diamondlightsource.github.io/blueapi
Releaseshttps://github.com/DiamondLightSource/blueapi/releases

This module wraps bluesky plans and devices inside a server and exposes endpoints to send commands/receive data. Useful for installation at labs where multiple people may control equipment, possibly from remote locations.

The main premise of blueapi is to minimize the boilerplate required to get plans and devices up and running by generating an API for your lab out of type-annotated plans. For example, take the following plan:

importbluesky.plansasbpfromblueapi.coreimportMsgGeneratordefmy_plan(foo: str, bar: int) ->MsgGenerator:
yieldfrombp.scan(...)

Blueapi's job is to detect this plan and automatically add it to the lab's API so it can be invoked easily with a few REST calls.

See https://diamondlightsource.github.io/blueapi for more detailed documentation.

About

Lightweight bluesky-as-a-service

Resources

Contributing

Stars

13 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages