# 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.
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.