- Create 'DAMA Software' logbook in beamline Olog.
- Run
conda list -n collection > /tmp/conda-list-before-upgrade.txt
and include it in an Olog entry as an attachment. - Commit any uncomitted code in the IPython profile, which should be located (or linked to) at
~/.ipython/profile_colllection
. - Create a new directory inside the IPython profile,
~/.ipython/profile_collection/acceptance_tests
. - Write acceptance tests as short, standalone scripts that can be executed like
ipython --profile=collection -i 01-some-test.py
. See examples from XPD or CSX. - Run acceptance tests successfully, and commit repo.
- Install packages. Use
--no-deps
to keep conda from installing things you don't want.- event_model>=1.0.2
- bluesky==0.5.1
- databroker==0.4.1
- metadatastore==0.5.2
- ophyd (latest on nsls2-dev)
- pyepics (latest on nsls2-dev)
- doct==1.0.2
- historydict==1.1.0
- filestore==0.3.0
- As above, create a text file and attach it to the same log entry.
- Commit IPython profile and sync with github.
- Standardize
00-startup.py
around the documented standard. Put olog code (farther down the page in that same link) in a separate file,01-olog-configuration.py
, where it can be easily removed when the Olog is acting up. - Adjust for API Changes in beamline config:
- Remove imports of
bluesky.broker_callbacks
,bluesky.hardware_checklist
,bluesky.standard_config
. - If
gs
was being imported fromstandard_config
, import it frombluesky.global_state
instead. gs.RE.subscribe_lossless('all', metadatastore.commands.insert)
(This line is in the linked example config already.)- To avoid an annoying warning, import
install_qt_kicker
frombluesky.utils
instead of (deprecated)bluesky.qt_kicker
. - Cleanup unneeded code that turns asyncio debugging off. (It's off my default now.)
- Do not bulk import
from bluesky.plans import *
. (There is a lot of stuff in there now, and some names likesleep
shadow common imports.)
- Remove imports of
- Check the order of Components in Device class definitions. To be safe: in
PVPositioner
definitions, readback (not setpoint) should be first because that is the value that will be used to restore motors to their original positions if.position
does not exist. - Customize names, read_attrs, and configuration_attrs in accordance with beamline scientists' preferences.
- Run user acceptance tests.
- Commit IPython profile and upload to github.
- Ask what new hardware beamline will use this cycle.
Last active
May 17, 2016 18:36
-
-
Save danielballan/02c4db5d5d5c8660c3c0da0e00979676 to your computer and use it in GitHub Desktop.
Upgrade checklist, May 2016
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Wish I could give thumbs ups on gists. 👍