Skip to main content

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

Project description

CI Coverage PyPI License

blueapi

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

Source https://github.com/DiamondLightSource/blueapi
PyPI pip install blueapi
Docker docker run ghcr.io/diamondlightsource/blueapi:latest
Documentation https://diamondlightsource.github.io/blueapi
Releases https://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.

concept

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.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blueapi-0.4.2.tar.gz (968.1 kB view hashes)

Uploaded Source

Built Distribution

blueapi-0.4.2-py3-none-any.whl (56.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page