How the documentation is structured#

CI Coverage PyPI License

blueapi#

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

Source

DiamondLightSource/blueapi

PyPI

pip install blueapi

Docker

docker run ghcr.io/diamondlightsource/blueapi:latest

Documentation

https://diamondlightsource.github.io/blueapi

Releases

DiamondLightSource/blueapi

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:

import bluesky.plans as bp
from blueapi.core import MsgGenerator

def my_plan(foo: str, bar: int) -> MsgGenerator:
    yield from bp.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.

Documentation is split into four categories, also accessible from links in the top bar.

  • Tutorials - Tutorials for installation and typical usage. New users start here.

  • How-To-s - Practical step-by-step guides for the more experienced user.

  • Explanations - Explanations of how it works and why it works that way.

  • Reference - Technical reference material including APIs and release notes.