Bluesky Data Collection Framework¶
Bluesky is a library for experiment control and collection of scientific data and metadata. It emphasizes the following virtues:
- Live, Streaming Data: Available for inline visualization and processing.
- Rich Metadata: Captured and organized to facilitate reproducibility and searchability.
- Experiment Generality: Seamlessly reuse a procedure on completely different hardware.
- Interruption Recovery: Experiments are “rewindable,” recovering cleanly from interruptions.
- Automated Suspend/Resume: Experiments can be run unattended, automatically suspending and resuming if needed.
- Pluggable I/O: Export data (live) into any desired format or database.
- Customizability: Integrate custom experimental procedures and commands, and get the I/O and interruption features for free.
- Integration with Scientific Python: Interface naturally with numpy and Python scientific stack.
How to Use This Documentation¶
Start with the Tutorial. It’s a good place to start for everyone, and it gives a good overview of the project in a narrative style. Read as far as you need to solve your problem, and come back again if your needs change. Each section of the tutorial adds a piece of complexity in exchange for deeper customization.
The remaining sections document bluesky’s behavior in a less narrative style, providing clear API documentation intermixed with some examples and explanation of design and intent.
- Recording Metadata
- Live Visualization and Processing
- Simulation and Error Checking
- Progress Bar
- Event Descriptors
- Asynchronous Acquisition
- Debugging and Logging
- RunEngine API Documentation
- IPython ‘Magics’ [Experimental]
- Translating Direct PyEpics Code to Bluesky Code
- Comparison with SPEC