-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathapi_changes.html
402 lines (300 loc) · 17 KB
/
api_changes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Release Notes — bluesky 0.0.1 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="top" title="bluesky 0.0.1 documentation" href="index.html"/>
<link rel="prev" title="(Optional) SPEC-like Interface" href="simple_api.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> bluesky
</a>
<div class="version">
0.0.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="plans.html">Plans</a></li>
<li class="toctree-l1"><a class="reference internal" href="callbacks.html">Live Feedback and Processing</a></li>
<li class="toctree-l1"><a class="reference internal" href="state-machine.html">Interruptions</a></li>
<li class="toctree-l1"><a class="reference internal" href="metadata.html">Recording Metadata</a></li>
<li class="toctree-l1"><a class="reference internal" href="simple_api.html">(Optional) SPEC-like Interface</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Release Notes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#v0-6-2">v0.6.2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#bug-fixes">Bug Fixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#v0-6-1">v0.6.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v0-6-0">v0.6.0</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#enhancements">Enhancements</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id1">Bug Fixes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#cleanup">Cleanup</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#v0-5-3">v0.5.3</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#api-changes">API Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id2">Bug Fixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#v0-5-2">v0.5.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v0-5-0">v0.5.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v0-3-0">v0.3.0</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">bluesky</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> »</li>
<li>Release Notes</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/api_changes.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="release-notes">
<h1>Release Notes<a class="headerlink" href="#release-notes" title="Permalink to this headline">¶</a></h1>
<div class="section" id="v0-6-2">
<h2>v0.6.2<a class="headerlink" href="#v0-6-2" title="Permalink to this headline">¶</a></h2>
<div class="section" id="bug-fixes">
<h3>Bug Fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Make <code class="docutils literal"><span class="pre">make_decorator</span></code> return proper decorators. The original implementation
returned functions that could not actually be used as decorators.</li>
</ul>
</div>
</div>
<div class="section" id="v0-6-1">
<h2>v0.6.1<a class="headerlink" href="#v0-6-1" title="Permalink to this headline">¶</a></h2>
<p>This release contained only a minor UX fix involving more informative error
reporting.</p>
</div>
<div class="section" id="v0-6-0">
<h2>v0.6.0<a class="headerlink" href="#v0-6-0" title="Permalink to this headline">¶</a></h2>
<div class="section" id="enhancements">
<h3>Enhancements<a class="headerlink" href="#enhancements" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Address the situation where plan “rewinding” after a pause or suspension
interacted badly with some devices. There are now three ways to temporarily
turn off rewinding: a Msg with a new ‘rewindable’ command; a special
attribute on the device that the <code class="docutils literal"><span class="pre">trigger_and_read</span></code> plan looks for;
and a special exception that devices can raise when their <code class="docutils literal"><span class="pre">pause</span></code> method
is called. All three of these features should be considered experimental.
They will likely be consolidated in the future once their usage is tested
in the wild.</li>
<li>Add new plan wrappers and decorators: <code class="docutils literal"><span class="pre">inject_md_wrapper</span></code>, <code class="docutils literal"><span class="pre">run_wrapper</span></code>,
<code class="docutils literal"><span class="pre">rewindable_wrapper</span></code>.</li>
</ul>
</div>
<div class="section" id="id1">
<h3>Bug Fixes<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Fix bug where RUnEngine was put in the “running” state, encountered an
error before starting the <code class="docutils literal"><span class="pre">_run</span></code> coroutine, and thus never switch back to
“idle.”</li>
<li>Ensure that plans are closed correctly and that, if they fail to close
themselves, a warning is printed.</li>
<li>Allow plan to run its cleanup messages (<code class="docutils literal"><span class="pre">finalize</span></code>) when the RunEngine is
stopped or aborted.</li>
<li>When an exception is raised, give each plan in the plan stack an opportunity
to handle it. If it is handled, carry on.</li>
<li>The SPEC-style <code class="docutils literal"><span class="pre">tw</span></code> was not passing its parameters through to the
underlying <code class="docutils literal"><span class="pre">tweak</span></code> plan.</li>
<li>Silenced un-needed suspenders warnings</li>
<li>Fix bug in separating devices</li>
</ul>
</div>
<div class="section" id="cleanup">
<h3>Cleanup<a class="headerlink" href="#cleanup" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Reduce unneeded usage of <code class="docutils literal"><span class="pre">bluesky.plans.single_gen</span></code>.</li>
<li>Don’t emit create/save messages with no reads in between.</li>
<li>Re-work exception handling in main run engine event loop.</li>
</ul>
</div>
</div>
<div class="section" id="v0-5-3">
<h2>v0.5.3<a class="headerlink" href="#v0-5-3" title="Permalink to this headline">¶</a></h2>
<div class="section" id="api-changes">
<h3>API Changes<a class="headerlink" href="#api-changes" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><code class="docutils literal"><span class="pre">LiveTable</span></code> only displays data from one event stream.</li>
<li>Remove used global state attribute <code class="docutils literal"><span class="pre">gs.COUNT_TIME</span></code>.</li>
</ul>
</div>
<div class="section" id="id2">
<h3>Bug Fixes<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Fix “infinite count”, <code class="docutils literal"><span class="pre">ct(num=None)</span></code>.</li>
<li>Allow the same data keys to be present in different event streams. But, as
before, a given data key can only appear once per event.</li>
<li>Make SPEC-style plan <code class="docutils literal"><span class="pre">ct</span></code> implement baseline readings, referring to
<code class="docutils literal"><span class="pre">gs.BASELINE_DETS</span></code>.</li>
<li>Upon resuming after a deferred pause, clear the deferred pause request.</li>
<li>Make <code class="docutils literal"><span class="pre">bluesky.utils.register_transform</span></code> character configurable.</li>
</ul>
</div>
</div>
<div class="section" id="v0-5-2">
<h2>v0.5.2<a class="headerlink" href="#v0-5-2" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Plans were completely refactored. The API of the exist plans is supported
for back-compatibility. See plans documentation to review new capabilities.</li>
<li>SPEC-style plans are now proper generators, not bound to the RunEngine.</li>
</ul>
</div>
<div class="section" id="v0-5-0">
<h2>v0.5.0<a class="headerlink" href="#v0-5-0" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">Move <code class="docutils literal"><span class="pre">bluesky.scientific_callbacks</span></code> to <code class="docutils literal"><span class="pre">bluesky.callbacks.scientific</span></code>
and <code class="docutils literal"><span class="pre">bluesky.broker_callbacks</span></code> to <code class="docutils literal"><span class="pre">bluesky.callbacks.broker</span></code>.</p>
</li>
<li><p class="first">Remove <code class="docutils literal"><span class="pre">bluesky.register_mds</span></code> whose usage can be replaced by:
<code class="docutils literal"><span class="pre">import</span> <span class="pre">metadatastore.commands;</span> <span class="pre">RE.subscribe_lossless('all',</span> <span class="pre">metadatastore.commands.insert)</span></code></p>
</li>
<li><p class="first">In all occurrences, the argument <code class="docutils literal"><span class="pre">block_group</span></code> has been renamed <code class="docutils literal"><span class="pre">group</span></code>
for consistency. This affects the ‘trigger’ and ‘set’ messages.</p>
</li>
<li><p class="first">The (not widely used) <code class="docutils literal"><span class="pre">Center</span></code> plan has been removed. It may be
distributed separately in the future.</p>
</li>
<li><p class="first">Calling a “SPEC-like” plan now returns a generator that must be passed
to the RunEngine; it does not execute the plan with the global RunEngine in
gs.RE. There is a convenience wrapper available to restore the old behavior
as desired. But since that usage renders the plans un-composable, it is
discouraged.</p>
</li>
<li><p class="first">The ‘time’ argument of the SPEC-like plans is a keyword-only argument.</p>
</li>
<li><p class="first">The following special-case SPEC-like scans have been removed</p>
<blockquote>
<div><ul class="simple">
<li>hscan</li>
<li>kscan</li>
<li>lscan</li>
<li>tscan</li>
<li>dtscan</li>
<li>hklscan</li>
<li>hklmesh</li>
</ul>
</div></blockquote>
<p>They can be defined in configuration files as desired, and in that location
they will be easier to customize.</p>
</li>
<li><p class="first">The <code class="docutils literal"><span class="pre">describe</span></code> method on flyers, which returns an iterable of dicts of
data keys for one or more descriptors documents, has been renamed to
<code class="docutils literal"><span class="pre">describe_collect</span></code> to avoid confusion with <code class="docutils literal"><span class="pre">describe</span></code> on other devices,
which returns a dict of data keys for one descriptor document.</p>
</li>
<li><p class="first">An obscure feature in <code class="docutils literal"><span class="pre">RunEngine.request_pause</span></code> has been removed, which
involved removing the optional arguments <code class="docutils literal"><span class="pre">callback</span></code> and <code class="docutils literal"><span class="pre">name</span></code>.</p>
</li>
</ul>
</div>
<div class="section" id="v0-3-0">
<h2>v0.3.0<a class="headerlink" href="#v0-3-0" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">Removed <code class="docutils literal"><span class="pre">RunEngine.persistent_fields</span></code>; all fields in <code class="docutils literal"><span class="pre">RE.md</span></code> persist
between runs by default.</p>
</li>
<li><p class="first">No metadata fields are “reserved”; any can be overwritten by the user.</p>
</li>
<li><p class="first">No metadata fields are absolutely required. The metadata validation function
is user-customizable. The default validation function behaves the same
as previous versions of bluesky, but it is no longer manditory.</p>
</li>
<li><p class="first">The signature of <code class="docutils literal"><span class="pre">RunEngine</span></code> has changed. The <code class="docutils literal"><span class="pre">logbook</span></code> argument is now
keyword-only, and there is a new keyword-only argument, <code class="docutils literal"><span class="pre">md_validator</span></code>.
See docstring for details.</p>
</li>
<li><p class="first">The <code class="docutils literal"><span class="pre">configure</span></code> method on readable objects now takes a single optional
argument, a dictionary that the object can use to configure itself however
it sees fit. The <code class="docutils literal"><span class="pre">configure</span></code> method always has a new return value, a tuple
of dicts describing its old and new states:
<code class="docutils literal"><span class="pre">old,</span> <span class="pre">new</span> <span class="pre">=</span> <span class="pre">obj.configure(state)</span></code></p>
</li>
<li><p class="first">Removed method <code class="docutils literal"><span class="pre">increment_scan_id</span></code></p>
</li>
<li><p class="first"><cite>callbacks.broker.post_run</cite> API and docstring brought into agreement.
The API is change to expect a callable with signature
<code class="docutils literal"><span class="pre">foo(doc_name,</span> <span class="pre">doc)</span></code> rather than</p>
<blockquote>
<div><ul class="simple">
<li>a callable which takes a document (as documented)</li>
<li>an object with <code class="docutils literal"><span class="pre">start</span></code>, <code class="docutils literal"><span class="pre">descriptor</span></code>, <code class="docutils literal"><span class="pre">event</span></code> and <code class="docutils literal"><span class="pre">stop</span></code>
methods (as implemented).</li>
</ul>
</div></blockquote>
<p>If classes derived from <cite>CallbackBase</cite> are being used this will not
not have any effect on user code.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="simple_api.html" class="btn btn-neutral" title="(Optional) SPEC-like Interface" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
© Copyright 2015, Brookhaven National Lab.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'0.0.1',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>