Skip to content

⛔️ DEPRECATED: Core plan behaviour moving to dls-dodal module.

License

Notifications You must be signed in to change notification settings

DiamondLightSource/dls-bluesky-core

Repository files navigation

# Deprecated

To reduce the number of repositories to keep in sync, common plan functionality will be moved to the dls-dodal repository and use of this project discontinued.

dls-bluesky-core

Code CI Docs CI Test Coverage Latest PyPI version Apache License

This module stores Bluesky functionality that is common to multiple techniques or groups within the Diamond Light Source organisation, such that it can be imported by instances of BlueAPI, or built upon within more focussed plan repositories to reduce duplication.

The 'plans' package contains functions that describe a full operation which performs an experiment and captures data, and may wish to be available to instances of BlueAPI to allow common experiment types to be maintained centrally. The 'stubs' package contains modular partial instructions that may act as a building block for constructing plans, for which the implementation is common: e.g. querying APIs, standard handling of metadata The 'tasks' package contains instructions that are not sufficient to run a full experiment but are useful utilities for providing functionality to instances of BlueAPI: e.g. moving a motor.

PyPI pip install dls-bluesky-core
Source code https://github.com/DiamondLightSource/dls-bluesky-core
Documentation https://DiamondLightSource.github.io/dls-bluesky-core
Releases https://github.com/DiamondLightSource/dls-bluesky-core/releases

The module built from this repository is intended to either act directly as a source of plans for an instance of BlueAPI by being a planFunctions source in the config of an instance:

worker:
  env:
    sources:
      - kind: planFunctions
        module: dls_bluesky_core.plans
      - kind: planFunctions
        module: dls_bluesky_core.tasks

Or else contributing functionality that may be common with other plan repositories within Diamond.

import dls_bluesky_core.stubs  as cps

def technique_specific_plan(*args, **kwargs):
    yield from cps.common_diamond_setup()

See https://DiamondLightSource.github.io/dls-bluesky-core for more detailed documentation.