History of Changes¶
This document presents a summary of the release notes for NSLS-II software (bluesky, databroker, ophyd, and friends) as a convenient reference. See the individual projects for traditional release notes, where changes are grouped by tagged releases and documented in greater detail. This document groups notes by each operating cycle at NSLS-II.
Cycle Beginning 2017-05¶
The new databroker-browser provides a GUI for searching runs and viewing text summaries, metadata, and figures. It requires some beamline-specific customization which DAMA can assist with during the operating cycle. An example configuration file is available. (This is experimental and likely to change in the future.)
The databroker Headers have methods for more convenience data retrieval. You can still do this:
header = db[-1] db.get_table(header)
but you can also do this:
header = db[-1] header.table()
which allows for succinct one-liners like
Another especially useful one:
See the databroker release notes for more new methods and attributes on Headers.
Any databroker query that potentially returns multiple Headers used to return a list. Now it returns a
Resultsobject, which lazily retrieves Headers one at a time, like so:
for header in db(): # do something
This makes queries fast, even when the results set is large.
Area Detector file store plugin classes have a new required argument
fsthat expects an instance of filestore. Usually
fs=db.fsis correct. They also accept an option
rootargument which specifies which part of the
read_file_pathis machine-specific (as opposed to permanent semantics that should be maintained when the files are copied or moved).
Stepscan plans used to provide the metadata field ‘num_steps’. This was unintentionally ambigious. Now ‘num_steps’ has been renamed ‘num_points’. Additionally ‘num_intervals’ (num_points - 1) has been added. The removal of the ‘num_steps’ field may break user code that expects to find that field.
The suitcase package now expects an instance of databroker (
db) where it used to expect an instance of metadatastore (
db.mds). See the suitcase documentation for more.