ophyd-async 0.13.4__py3-none-any.whl → 0.13.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ophyd_async/_version.py +2 -2
- ophyd_async/core/__init__.py +24 -2
- ophyd_async/core/_derived_signal_backend.py +2 -1
- ophyd_async/core/_detector.py +2 -2
- ophyd_async/core/_device.py +9 -9
- ophyd_async/core/_enums.py +5 -0
- ophyd_async/core/_mock_signal_backend.py +7 -3
- ophyd_async/core/_signal.py +34 -38
- ophyd_async/core/_signal_backend.py +3 -1
- ophyd_async/core/_status.py +2 -2
- ophyd_async/core/_utils.py +11 -11
- ophyd_async/epics/adcore/_utils.py +4 -4
- ophyd_async/epics/core/_aioca.py +2 -2
- ophyd_async/epics/core/_p4p.py +2 -2
- ophyd_async/epics/motor.py +28 -7
- ophyd_async/epics/pmac/_pmac_trajectory_generation.py +3 -0
- ophyd_async/fastcs/panda/_block.py +10 -9
- ophyd_async/sim/_motor.py +4 -2
- ophyd_async/sim/_stage.py +14 -4
- ophyd_async/tango/core/__init__.py +17 -3
- ophyd_async/tango/core/_signal.py +18 -22
- ophyd_async/tango/core/_tango_transport.py +407 -239
- ophyd_async/tango/core/_utils.py +9 -0
- ophyd_async/tango/demo/_mover.py +1 -2
- ophyd_async/tango/testing/__init__.py +2 -1
- ophyd_async/tango/testing/_one_of_everything.py +13 -5
- ophyd_async/tango/testing/_test_config.py +11 -0
- ophyd_async/testing/_assert.py +2 -2
- ophyd_async/testing/_mock_signal_utils.py +5 -2
- {ophyd_async-0.13.4.dist-info → ophyd_async-0.13.6.dist-info}/METADATA +2 -36
- {ophyd_async-0.13.4.dist-info → ophyd_async-0.13.6.dist-info}/RECORD +34 -33
- {ophyd_async-0.13.4.dist-info → ophyd_async-0.13.6.dist-info}/WHEEL +0 -0
- {ophyd_async-0.13.4.dist-info → ophyd_async-0.13.6.dist-info}/licenses/LICENSE +0 -0
- {ophyd_async-0.13.4.dist-info → ophyd_async-0.13.6.dist-info}/top_level.txt +0 -0
ophyd_async/tango/core/_utils.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import re
|
|
2
|
+
from typing import Any
|
|
2
3
|
|
|
3
4
|
from ophyd_async.core import StrictEnum
|
|
4
5
|
|
|
@@ -45,3 +46,11 @@ def get_device_trl_and_attr(name: str):
|
|
|
45
46
|
groups[2] = groups[2].removesuffix("/") # remove trailing slash from device name
|
|
46
47
|
device = "".join(groups)
|
|
47
48
|
return device, attr
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def try_to_cast_as_float(value: Any) -> float | None:
|
|
52
|
+
"""Attempt to cast a value to float, returning None on failure."""
|
|
53
|
+
try:
|
|
54
|
+
return float(value)
|
|
55
|
+
except (ValueError, TypeError):
|
|
56
|
+
return None
|
ophyd_async/tango/demo/_mover.py
CHANGED
|
@@ -53,8 +53,7 @@ class TangoMover(TangoReadable, Movable, Stoppable):
|
|
|
53
53
|
|
|
54
54
|
if not (isinstance(timeout, float) or timeout is None):
|
|
55
55
|
raise ValueError("Timeout must be a float or None")
|
|
56
|
-
|
|
57
|
-
await self.position.set(value, wait=False, timeout=timeout)
|
|
56
|
+
await self.position.set(value, timeout=timeout)
|
|
58
57
|
|
|
59
58
|
move_status = AsyncStatus(
|
|
60
59
|
wait_for_value(self.state, DevStateEnum.ON, timeout=timeout)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import textwrap
|
|
2
|
+
from collections.abc import Sequence
|
|
2
3
|
from dataclasses import dataclass
|
|
3
4
|
from typing import Any, Generic, TypeVar
|
|
4
5
|
|
|
@@ -51,7 +52,7 @@ class AttributeData(Generic[T]):
|
|
|
51
52
|
name: str
|
|
52
53
|
tango_type: str
|
|
53
54
|
initial_scalar: T
|
|
54
|
-
initial_spectrum: Array1D
|
|
55
|
+
initial_spectrum: Array1D | Sequence[T]
|
|
55
56
|
|
|
56
57
|
|
|
57
58
|
_all_attribute_definitions = [
|
|
@@ -59,7 +60,7 @@ _all_attribute_definitions = [
|
|
|
59
60
|
"str",
|
|
60
61
|
"DevString",
|
|
61
62
|
"test_string",
|
|
62
|
-
|
|
63
|
+
["one", "two", "three"],
|
|
63
64
|
),
|
|
64
65
|
AttributeData(
|
|
65
66
|
"bool",
|
|
@@ -82,7 +83,7 @@ _all_attribute_definitions = [
|
|
|
82
83
|
"my_state",
|
|
83
84
|
"DevState",
|
|
84
85
|
DevState.INIT,
|
|
85
|
-
np.array(
|
|
86
|
+
np.array(list(DevState.names.values()), dtype=DevState),
|
|
86
87
|
),
|
|
87
88
|
]
|
|
88
89
|
|
|
@@ -111,6 +112,10 @@ class OneOfEverythingTangoDevice(Device):
|
|
|
111
112
|
|
|
112
113
|
def add_array_attrs(self, name: str, dtype: str, initial_value: np.ndarray):
|
|
113
114
|
spectrum_name = f"{name}_spectrum"
|
|
115
|
+
if hasattr(initial_value, "shape"):
|
|
116
|
+
max_dim_x = initial_value.shape[-1]
|
|
117
|
+
else:
|
|
118
|
+
max_dim_x = len(initial_value)
|
|
114
119
|
spectrum_attr = attribute(
|
|
115
120
|
name=spectrum_name,
|
|
116
121
|
dtype=dtype,
|
|
@@ -118,7 +123,7 @@ class OneOfEverythingTangoDevice(Device):
|
|
|
118
123
|
access=AttrWriteType.READ_WRITE,
|
|
119
124
|
fget=self.read,
|
|
120
125
|
fset=self.write,
|
|
121
|
-
max_dim_x=
|
|
126
|
+
max_dim_x=max_dim_x,
|
|
122
127
|
enum_labels=[e.value for e in ExampleStrEnum],
|
|
123
128
|
)
|
|
124
129
|
image_name = f"{name}_image"
|
|
@@ -129,12 +134,15 @@ class OneOfEverythingTangoDevice(Device):
|
|
|
129
134
|
access=AttrWriteType.READ_WRITE,
|
|
130
135
|
fget=self.read,
|
|
131
136
|
fset=self.write,
|
|
132
|
-
max_dim_x=
|
|
137
|
+
max_dim_x=max_dim_x,
|
|
133
138
|
max_dim_y=2,
|
|
134
139
|
enum_labels=[e.value for e in ExampleStrEnum],
|
|
135
140
|
)
|
|
136
141
|
self._add_attr(spectrum_attr, initial_value)
|
|
137
142
|
# have image just be 2 of the initial spectrum stacked
|
|
143
|
+
# String images are not supported, do not add their attribute data
|
|
144
|
+
if name in ["str", "strenum", "my_state"]:
|
|
145
|
+
return
|
|
138
146
|
self._add_attr(image_attr, np.vstack((initial_value, initial_value)))
|
|
139
147
|
|
|
140
148
|
def add_scalar_command(self, name: str, dtype: str):
|
ophyd_async/testing/_assert.py
CHANGED
|
@@ -132,7 +132,7 @@ async def assert_describe_signal(signal: SignalR, /, **metadata):
|
|
|
132
132
|
assert actual_datakey == expected_datakey
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
def assert_emitted(docs:
|
|
135
|
+
def assert_emitted(docs: Mapping[str, list[dict]], **numbers: int):
|
|
136
136
|
"""Assert emitted document generated by running a Bluesky plan.
|
|
137
137
|
|
|
138
138
|
:param docs: A mapping of document type -> list of documents that have been emitted.
|
|
@@ -195,7 +195,7 @@ class MonitorQueue(AbstractContextManager):
|
|
|
195
195
|
_assert_readings_approx_equal(expected_reading, update)
|
|
196
196
|
|
|
197
197
|
def __enter__(self):
|
|
198
|
-
self.signal.
|
|
198
|
+
self.signal.subscribe_reading(self.updates.put_nowait)
|
|
199
199
|
return self
|
|
200
200
|
|
|
201
201
|
def __exit__(self, exc_type, exc_value, traceback):
|
|
@@ -119,14 +119,17 @@ def _unset_side_effect_cm(put_mock: AsyncMock):
|
|
|
119
119
|
|
|
120
120
|
def callback_on_mock_put(
|
|
121
121
|
signal: Signal[SignalDatatypeT],
|
|
122
|
-
callback: Callable[[SignalDatatypeT, bool], None]
|
|
123
|
-
| Callable[[SignalDatatypeT, bool], Awaitable[None]],
|
|
122
|
+
callback: Callable[[SignalDatatypeT, bool], SignalDatatypeT | None]
|
|
123
|
+
| Callable[[SignalDatatypeT, bool], Awaitable[SignalDatatypeT | None]],
|
|
124
124
|
):
|
|
125
125
|
"""For setting a callback when a backend is put to.
|
|
126
126
|
|
|
127
127
|
Can either be used in a context, with the callback being unset on exit, or
|
|
128
128
|
as an ordinary function.
|
|
129
129
|
|
|
130
|
+
The value that the callback returns (if not None) will be set to the signal
|
|
131
|
+
readback. If None is returned then the readback will be set to the setpoint.
|
|
132
|
+
|
|
130
133
|
:param signal: A signal with a `MockSignalBackend` backend.
|
|
131
134
|
:param callback: The callback to call when the backend is put to during the
|
|
132
135
|
context.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ophyd-async
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.6
|
|
4
4
|
Summary: Asynchronous Bluesky hardware abstraction code, compatible with control systems like EPICS and Tango
|
|
5
5
|
Author-email: Tom Cobb <tom.cobb@diamond.ac.uk>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -58,45 +58,11 @@ Requires-Dist: aioca>=2.0a4; extra == "ca"
|
|
|
58
58
|
Provides-Extra: pva
|
|
59
59
|
Requires-Dist: p4p>=4.2.0; extra == "pva"
|
|
60
60
|
Provides-Extra: tango
|
|
61
|
-
Requires-Dist: pytango
|
|
61
|
+
Requires-Dist: pytango>=10.0.2; extra == "tango"
|
|
62
62
|
Provides-Extra: demo
|
|
63
63
|
Requires-Dist: ipython; extra == "demo"
|
|
64
64
|
Requires-Dist: matplotlib; extra == "demo"
|
|
65
65
|
Requires-Dist: pyqt6; extra == "demo"
|
|
66
|
-
Provides-Extra: dev
|
|
67
|
-
Requires-Dist: ophyd_async[sim]; extra == "dev"
|
|
68
|
-
Requires-Dist: ophyd_async[ca]; extra == "dev"
|
|
69
|
-
Requires-Dist: ophyd_async[pva]; extra == "dev"
|
|
70
|
-
Requires-Dist: ophyd_async[tango]; extra == "dev"
|
|
71
|
-
Requires-Dist: ophyd_async[demo]; extra == "dev"
|
|
72
|
-
Requires-Dist: inflection; extra == "dev"
|
|
73
|
-
Requires-Dist: import-linter; extra == "dev"
|
|
74
|
-
Requires-Dist: myst-parser; extra == "dev"
|
|
75
|
-
Requires-Dist: numpydoc; extra == "dev"
|
|
76
|
-
Requires-Dist: ophyd>=1.10.7; extra == "dev"
|
|
77
|
-
Requires-Dist: pickleshare; extra == "dev"
|
|
78
|
-
Requires-Dist: pipdeptree; extra == "dev"
|
|
79
|
-
Requires-Dist: pre-commit; extra == "dev"
|
|
80
|
-
Requires-Dist: pydata-sphinx-theme>=0.12; extra == "dev"
|
|
81
|
-
Requires-Dist: pyepics>=3.4.2; extra == "dev"
|
|
82
|
-
Requires-Dist: pyright; extra == "dev"
|
|
83
|
-
Requires-Dist: pytest; extra == "dev"
|
|
84
|
-
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
85
|
-
Requires-Dist: pytest-cov; extra == "dev"
|
|
86
|
-
Requires-Dist: pytest-faulthandler; extra == "dev"
|
|
87
|
-
Requires-Dist: pytest-forked; extra == "dev"
|
|
88
|
-
Requires-Dist: pytest-rerunfailures; extra == "dev"
|
|
89
|
-
Requires-Dist: pytest-timeout; extra == "dev"
|
|
90
|
-
Requires-Dist: ruff; extra == "dev"
|
|
91
|
-
Requires-Dist: scanspec>=1.0a1; extra == "dev"
|
|
92
|
-
Requires-Dist: sphinx-autobuild; extra == "dev"
|
|
93
|
-
Requires-Dist: sphinx-autodoc2; extra == "dev"
|
|
94
|
-
Requires-Dist: sphinxcontrib-mermaid; extra == "dev"
|
|
95
|
-
Requires-Dist: sphinx-copybutton; extra == "dev"
|
|
96
|
-
Requires-Dist: sphinx-design; extra == "dev"
|
|
97
|
-
Requires-Dist: tox-direct; extra == "dev"
|
|
98
|
-
Requires-Dist: types-mock; extra == "dev"
|
|
99
|
-
Requires-Dist: types-pyyaml; extra == "dev"
|
|
100
66
|
Dynamic: license-file
|
|
101
67
|
|
|
102
68
|
[](https://github.com/bluesky/ophyd-async/actions/workflows/ci.yml)
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
ophyd_async/__init__.py,sha256=dcAA3qsj1nNIMe5l-v2tlduZ_ypwBmyuHe45Lsq4k4w,206
|
|
2
2
|
ophyd_async/__main__.py,sha256=n_U4O9bgm97OuboUB_9eK7eFiwy8BZSgXJ0OzbE0DqU,481
|
|
3
3
|
ophyd_async/_docs_parser.py,sha256=gPYrigfSbYCF7QoSf2UvE-cpQu4snSssl7ZWN-kKDzI,352
|
|
4
|
-
ophyd_async/_version.py,sha256=
|
|
4
|
+
ophyd_async/_version.py,sha256=opPR5vtgMqtAtI-1B5Bg_MEreSc0tb9JwaQhHrD7xNE,706
|
|
5
5
|
ophyd_async/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
ophyd_async/core/__init__.py,sha256=
|
|
6
|
+
ophyd_async/core/__init__.py,sha256=yGbkVju5otO8DmA3KyerYB0gLtcX5sdxlq3ajyGha4M,5531
|
|
7
7
|
ophyd_async/core/_derived_signal.py,sha256=TuZza_j3J1Bw4QSqBYB9Ta2FyQP5BycO3nSHVtJ890Q,13015
|
|
8
|
-
ophyd_async/core/_derived_signal_backend.py,sha256=
|
|
9
|
-
ophyd_async/core/_detector.py,sha256=
|
|
10
|
-
ophyd_async/core/_device.py,sha256=
|
|
8
|
+
ophyd_async/core/_derived_signal_backend.py,sha256=Ibce9JHghiI5Ir8w0pUYULHL2qWkobeUYc0-CDrsO2E,12615
|
|
9
|
+
ophyd_async/core/_detector.py,sha256=9fYbBPmRnMGADcDTYkspDAL2uzhtNNiKCEeBUU0oKaY,14942
|
|
10
|
+
ophyd_async/core/_device.py,sha256=_M3hwiYv8xO-7pfQkOzeZEEsB05Oa2HTRKOEc69C_a8,14743
|
|
11
11
|
ophyd_async/core/_device_filler.py,sha256=MDz8eQQ-eEAwo-UEMxfqPfpcBuMG01tLCGR6utwVnmE,14825
|
|
12
|
-
ophyd_async/core/_enums.py,sha256=
|
|
12
|
+
ophyd_async/core/_enums.py,sha256=2vh6x0rZ6SLiw2xxq1xVIn-GpbLDFc8wZoVdA55QiE8,370
|
|
13
13
|
ophyd_async/core/_flyer.py,sha256=8zKyU5aQOr_t59GIUwsYeb8NSabdvBp0swwuRe4v5VQ,3457
|
|
14
14
|
ophyd_async/core/_hdf_dataset.py,sha256=0bIX_ZbFSMdXqDwRtEvV-0avHnwXhjPddE5GVNmo7H8,2608
|
|
15
15
|
ophyd_async/core/_log.py,sha256=DxKR4Nz3SgTaTzKBZWqt-w48yT8WUAr_3Qr223TEWRw,3587
|
|
16
|
-
ophyd_async/core/_mock_signal_backend.py,sha256=
|
|
16
|
+
ophyd_async/core/_mock_signal_backend.py,sha256=N6rzwBR3QwHZMcifIZg6sbno6-Ts-1jK0aFVt-3jHAg,3289
|
|
17
17
|
ophyd_async/core/_protocol.py,sha256=wQ_snxhTprHqEjQb1HgFwBljwolMY6A8C3xgV1PXwdU,4051
|
|
18
18
|
ophyd_async/core/_providers.py,sha256=WBht3QCgvGc0stNcwH6z4Zr6hAz3e01-88NjsYI2w6I,9740
|
|
19
19
|
ophyd_async/core/_readable.py,sha256=iBo1YwA5bsAbzLbznvmSnzKDWUuGkLh850Br3BXsgeU,11707
|
|
20
20
|
ophyd_async/core/_settings.py,sha256=_ZccbXKP7j5rG6-bMKk7aaLr8hChdRDAPY_YSR71XXM,4213
|
|
21
|
-
ophyd_async/core/_signal.py,sha256=
|
|
22
|
-
ophyd_async/core/_signal_backend.py,sha256=
|
|
21
|
+
ophyd_async/core/_signal.py,sha256=085vcyjhEyZECi4Svjq6DUM5kxrzZh8s5DoHR2LALOc,28195
|
|
22
|
+
ophyd_async/core/_signal_backend.py,sha256=F3ma45cIIJ3D702zsVZIqn4Jv7u05YzMQBQND70QCbQ,6987
|
|
23
23
|
ophyd_async/core/_soft_signal_backend.py,sha256=NJUuyaCKtBZjggt8WKi7_lKQRHasToxviuQvl5xbhLU,6222
|
|
24
|
-
ophyd_async/core/_status.py,sha256=
|
|
24
|
+
ophyd_async/core/_status.py,sha256=a2IDvv_GvUcFuhjQA5bQzWm9ngR6zGc9PR4XcZiaeqk,6557
|
|
25
25
|
ophyd_async/core/_table.py,sha256=ryJ7AwJBglQUzwP9_aSjR8cu8EKvYXfo1q1byhke3Uc,7248
|
|
26
|
-
ophyd_async/core/_utils.py,sha256
|
|
26
|
+
ophyd_async/core/_utils.py,sha256=gUewO4XPrBxsEWzObNumqAB2Q7Hwrd5F_Nc6B2XwQIM,12532
|
|
27
27
|
ophyd_async/core/_yaml_settings.py,sha256=Qojhku9l5kPSkTnEylCRWTe0gpw6S_XP5av5dPpqFgQ,2089
|
|
28
28
|
ophyd_async/epics/__init__.py,sha256=ou4yEaH9VZHz70e8oM614-arLMQvUfQyXhRJsnEpWn8,60
|
|
29
|
-
ophyd_async/epics/motor.py,sha256=
|
|
29
|
+
ophyd_async/epics/motor.py,sha256=nS6Vx4-6vYso3b_QtpE8p8dlys5jRr2LK7prZCkZMc8,9558
|
|
30
30
|
ophyd_async/epics/signal.py,sha256=0A-supp9ajr63O6aD7F9oG0-Q26YmRjk-ZGh57-jo1Y,239
|
|
31
31
|
ophyd_async/epics/adandor/__init__.py,sha256=dlitllrAdhvh16PAcVMUSSEytTDNMu6_HuYk8KD1EoY,343
|
|
32
32
|
ophyd_async/epics/adandor/_andor.py,sha256=TijGjNVxuH-P0X7UACPt9eLLQ449DwMyVhbn1kV7Le8,1245
|
|
@@ -45,7 +45,7 @@ ophyd_async/epics/adcore/_hdf_writer.py,sha256=nKXOjVZfM6_BlYv5f1l8nwo7tjenYjx-3
|
|
|
45
45
|
ophyd_async/epics/adcore/_jpeg_writer.py,sha256=VYpUWQGEjrKG2kiRGQZlBCPXVJ1BzWb9GyB9KhxPWgo,688
|
|
46
46
|
ophyd_async/epics/adcore/_single_trigger.py,sha256=tFGLT1b_rZzAvbqWP-hyCccxJMRY26T5IER-VAqKXmc,1275
|
|
47
47
|
ophyd_async/epics/adcore/_tiff_writer.py,sha256=197Ky9ltsJjUKNwl8_OAuoCe8dWIc7zCFs7wautwC7Y,689
|
|
48
|
-
ophyd_async/epics/adcore/_utils.py,sha256=
|
|
48
|
+
ophyd_async/epics/adcore/_utils.py,sha256=iKSUh-D99sjipmZxWuo_XsA6UG-vJlMlFrAmZW4FZns,5241
|
|
49
49
|
ophyd_async/epics/adkinetix/__init__.py,sha256=A9xq3lGMrmza9lfukRixC0Up_kUDVFII8JguLr2x7Bw,308
|
|
50
50
|
ophyd_async/epics/adkinetix/_kinetix.py,sha256=zZv0JZ8i1RSx7KBDn_1HGNOY0BoIP81mRK5TKq7d4eA,1302
|
|
51
51
|
ophyd_async/epics/adkinetix/_kinetix_controller.py,sha256=UI-XcQpGj7jq-_e1ceoMOZkyfejwG6H5wX-Ntp_NJjg,1481
|
|
@@ -63,10 +63,10 @@ ophyd_async/epics/advimba/_vimba.py,sha256=4XlEnsJMGDzHLuYaIDUmaxx0gtOAehn5BKBZM
|
|
|
63
63
|
ophyd_async/epics/advimba/_vimba_controller.py,sha256=KSbP4LHqYkCDplpmBk7hdf0Yz9J2vOxWn0fStFFAklA,1942
|
|
64
64
|
ophyd_async/epics/advimba/_vimba_io.py,sha256=E3XlCKLQbGOWho0dQPeD4xeEl5pZGINyYstGD43qNrM,1492
|
|
65
65
|
ophyd_async/epics/core/__init__.py,sha256=q73i4aJ_0HApVNmf3eAw-q30XuazAyZW2MW5TXk-pOY,648
|
|
66
|
-
ophyd_async/epics/core/_aioca.py,sha256=
|
|
66
|
+
ophyd_async/epics/core/_aioca.py,sha256=KnD_LWBlIiJFf3ujPe7ZH3_j2P5uWtg5d9_XaVk-cqQ,13240
|
|
67
67
|
ophyd_async/epics/core/_epics_connector.py,sha256=KXQ1WVpNrgQ30KiiXTYRwfoHdaU5oWv1jVZAvx3tGig,2557
|
|
68
68
|
ophyd_async/epics/core/_epics_device.py,sha256=wGdR24I7GSPh3HmM7jsWKZhBZgt4IyLrCn4Ut7Wx_xo,510
|
|
69
|
-
ophyd_async/epics/core/_p4p.py,sha256=
|
|
69
|
+
ophyd_async/epics/core/_p4p.py,sha256=IUu0cROcgRee9er6qyskkX7GMS4Ixr94TV4_4a7joYA,16395
|
|
70
70
|
ophyd_async/epics/core/_pvi_connector.py,sha256=SfKkZqGCRvJJtQpJQzmfuLJQqOge0wBsMeuTSQ-KPjs,5553
|
|
71
71
|
ophyd_async/epics/core/_signal.py,sha256=qAEe8mgXRMgBTcxuwN-KDGSRtJTwrhygThTDe5vA3EQ,5916
|
|
72
72
|
ophyd_async/epics/core/_util.py,sha256=wcbZ6Qa2qqme6AlKAfxGI68EMEPEMJSl7BiDRz3mrEg,2820
|
|
@@ -85,7 +85,7 @@ ophyd_async/epics/odin/_odin_io.py,sha256=YDBrS15PnEKe5SHmz397Emh--lZSQEnbR3G7p8
|
|
|
85
85
|
ophyd_async/epics/pmac/__init__.py,sha256=GqJTiJudqE9pu050ZNED09F9tKRfazn0wBsojsMH2gg,273
|
|
86
86
|
ophyd_async/epics/pmac/_pmac_io.py,sha256=E7tdaq9FAM6BeGQG1L8ALEYpXOlyqTXl_NLLSWzmCdk,4345
|
|
87
87
|
ophyd_async/epics/pmac/_pmac_trajectory.py,sha256=7wTaetNNy9uj7C_skcs0VH5BthuY4Ec5zn-m4ROxd8k,7866
|
|
88
|
-
ophyd_async/epics/pmac/_pmac_trajectory_generation.py,sha256=
|
|
88
|
+
ophyd_async/epics/pmac/_pmac_trajectory_generation.py,sha256=3IIxXa0r6-2uNnILKLGxp3xosOZx8MubKF-F_OM7uaw,27331
|
|
89
89
|
ophyd_async/epics/pmac/_utils.py,sha256=n4vh9n7hmaWe9g02FtguF2oDsYuVvsTgmK7fYEyGuIE,6092
|
|
90
90
|
ophyd_async/epics/testing/__init__.py,sha256=aTIv4D2DYrpnGco5RQF8QuLG1SfFkIlTyM2uYEKXltA,522
|
|
91
91
|
ophyd_async/epics/testing/_example_ioc.py,sha256=zb4ZEUzuB2MrSw5ETPLIiHhf-2BRU1Bdxco6Kh4iI1I,3880
|
|
@@ -105,7 +105,7 @@ ophyd_async/fastcs/jungfrau/_signals.py,sha256=8seZCkKTb-xJL0IdB2el8VTEbWNaCvZIh
|
|
|
105
105
|
ophyd_async/fastcs/jungfrau/_utils.py,sha256=QpdWbPT_31Jwyi7INFMRq9hncSZIK_4J3l6wpuppzn8,2875
|
|
106
106
|
ophyd_async/fastcs/odin/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
|
|
107
107
|
ophyd_async/fastcs/panda/__init__.py,sha256=GbnPqH_13wvyPK1CvRHGAViamKVWHY9n-sTmfAdcnMA,1229
|
|
108
|
-
ophyd_async/fastcs/panda/_block.py,sha256=
|
|
108
|
+
ophyd_async/fastcs/panda/_block.py,sha256=Bffta9IkuSq_NSvidDvLyC1YUrfQCwMhppsu1Te7vec,2679
|
|
109
109
|
ophyd_async/fastcs/panda/_control.py,sha256=xtW3dH_MLQoycgP-4vJtYx1M9alHjWo13iu9UFTgwzY,1306
|
|
110
110
|
ophyd_async/fastcs/panda/_hdf_panda.py,sha256=tL_OWHxlMQcMZGq9sxHLSeag6hP9MRIbTPn1W0u0iNI,1237
|
|
111
111
|
ophyd_async/fastcs/panda/_table.py,sha256=maKGoKypEuYqTSVWGgDO6GMEKOtlDm9Dn5YiYdBzu6c,2486
|
|
@@ -126,36 +126,37 @@ ophyd_async/sim/_blob_detector_controller.py,sha256=y1aSNQJUPnsT2qnj2sk254Mp18an
|
|
|
126
126
|
ophyd_async/sim/_blob_detector_writer.py,sha256=_Pd0OaP4_mZfwxtUF35v7hsktLP_wYljR4nylr5CzJo,3346
|
|
127
127
|
ophyd_async/sim/_mirror_horizontal.py,sha256=Jsqa8Snjy1jQDboZtAQFJjGor5uKk8FBC7OCe-GoZDw,1478
|
|
128
128
|
ophyd_async/sim/_mirror_vertical.py,sha256=HUD44mYT0jQ0GKiQKxD7k_7y6o6OdE6TztgdPUJIK_g,2085
|
|
129
|
-
ophyd_async/sim/_motor.py,sha256=
|
|
129
|
+
ophyd_async/sim/_motor.py,sha256=QRs9oBMKQBsUvP2kaTbh9apMgPvS3DwqbVUwgQAffAQ,9277
|
|
130
130
|
ophyd_async/sim/_pattern_generator.py,sha256=kuxvyX2gIxrywhQRhaO1g8YluBT7LBkE20IsurZS-6o,3734
|
|
131
131
|
ophyd_async/sim/_point_detector.py,sha256=wMG_ncvm99WMCPihlFyuMEf3UknAxCpB1hpk3uKiENE,3024
|
|
132
|
-
ophyd_async/sim/_stage.py,sha256=
|
|
132
|
+
ophyd_async/sim/_stage.py,sha256=_SywbmSQwxf7JLx68qwo0RpiB3oIWlbTLmvRKxUoig0,1602
|
|
133
133
|
ophyd_async/tango/__init__.py,sha256=g9xzjlzPpUAP12YI-kYwfAoLSYPAQdL1S11R2c-cius,60
|
|
134
|
-
ophyd_async/tango/core/__init__.py,sha256=
|
|
134
|
+
ophyd_async/tango/core/__init__.py,sha256=OOVdHu07cssK90F-caG0CY7qKpPYy0MSV421YNAI-_8,1413
|
|
135
135
|
ophyd_async/tango/core/_base_device.py,sha256=e9oqSL-fDOj8r9nUUFZkbibhRGbI6HYtlnZjK5B_2fE,5033
|
|
136
136
|
ophyd_async/tango/core/_converters.py,sha256=xI_RhMR8dY6IVORUZVVCL9LdYnEE6TA6BBPX_lTu06w,2183
|
|
137
|
-
ophyd_async/tango/core/_signal.py,sha256=
|
|
137
|
+
ophyd_async/tango/core/_signal.py,sha256=8mIxRVEVjhDN33LDbbKZWGMUYn9Gl5ZMEIYw6GSBTUE,5569
|
|
138
138
|
ophyd_async/tango/core/_tango_readable.py,sha256=ctR6YcBGGatW6Jp2kvddA1hVZ2v1CidPsF9FmJK9BYg,406
|
|
139
|
-
ophyd_async/tango/core/_tango_transport.py,sha256=
|
|
140
|
-
ophyd_async/tango/core/_utils.py,sha256=
|
|
139
|
+
ophyd_async/tango/core/_tango_transport.py,sha256=KxjhHqKADrOvzGi9tbOQXUWdsJ0NKGejWxHItxpUsjg,37401
|
|
140
|
+
ophyd_async/tango/core/_utils.py,sha256=pwT7V1DNWSyPOSzvDZ6OsDZTjaV-pAeDLDlmgtHVcNM,1673
|
|
141
141
|
ophyd_async/tango/demo/__init__.py,sha256=_j-UicTnckuIBp8PnieFMOMnLFGivnaKdmo9o0hYtzc,256
|
|
142
142
|
ophyd_async/tango/demo/_counter.py,sha256=2J4SCHnBWLF0O5mFWlJdO4tmnElvlx5sRrk4op_AC9U,1139
|
|
143
143
|
ophyd_async/tango/demo/_detector.py,sha256=X5YWHAjukKZ7iYF1fBNle4CBDj1X5rvj0lnPMOcnRCU,1340
|
|
144
|
-
ophyd_async/tango/demo/_mover.py,sha256=
|
|
144
|
+
ophyd_async/tango/demo/_mover.py,sha256=i-Tq5nDmYi4RcC4O6mOJoVeMEIIxuqyS_2AfjTpAcnk,2884
|
|
145
145
|
ophyd_async/tango/demo/_tango/__init__.py,sha256=FfONT7vM49nNo3a1Lv-LcMZO9EHv6bv91yY-RnxIib4,85
|
|
146
146
|
ophyd_async/tango/demo/_tango/_servers.py,sha256=putvERDyibibaTbhdWyqZB_axj2fURXqzDsZb9oSW14,2991
|
|
147
|
-
ophyd_async/tango/testing/__init__.py,sha256=
|
|
148
|
-
ophyd_async/tango/testing/_one_of_everything.py,sha256=
|
|
147
|
+
ophyd_async/tango/testing/__init__.py,sha256=l52SmX9XuxZUBuLpOYJzHfskkWVYhx3RkSbGL_wUu5Y,199
|
|
148
|
+
ophyd_async/tango/testing/_one_of_everything.py,sha256=eJg5K8n1ExwPfruDCHNZcWjx4aRTA1Vs_7NQHSHjpgc,6851
|
|
149
|
+
ophyd_async/tango/testing/_test_config.py,sha256=i3t5d4wjUEtAvvSSZNz_bH_r5VEvUphUcEOEd8LKxQQ,228
|
|
149
150
|
ophyd_async/testing/__init__.py,sha256=jDBzUAHGDMfkhd-_9u0CJWEq0E0sPrIGGlLmVzEyxY8,1742
|
|
150
151
|
ophyd_async/testing/__pytest_assert_rewrite.py,sha256=_SU2UfChPgEf7CFY7aYH2B7MLp-07_qYnVLyu6QtDL8,129
|
|
151
|
-
ophyd_async/testing/_assert.py,sha256=
|
|
152
|
-
ophyd_async/testing/_mock_signal_utils.py,sha256=
|
|
152
|
+
ophyd_async/testing/_assert.py,sha256=Ss_XDToi1ymUfr0Z1r45A2Fmg7-9UOv9gYkJEBsZPv8,8795
|
|
153
|
+
ophyd_async/testing/_mock_signal_utils.py,sha256=GOjELaRFg9zJKcpeLFXjN7ViMT1AK2Hu52lkLMI5XUc,5393
|
|
153
154
|
ophyd_async/testing/_one_of_everything.py,sha256=U9ui7B-iNHDM3H3hIWUuaCb8Gc2eLlUh0sBHUlQldT0,4741
|
|
154
155
|
ophyd_async/testing/_single_derived.py,sha256=5-HOTzgePcZ354NK_ssVpyIbJoJmKyjVQCxSwQXUC-4,2730
|
|
155
156
|
ophyd_async/testing/_utils.py,sha256=zClRo5ve8RGia7wQnby41W-Zprj-slOA5da1LfYnuhw,45
|
|
156
157
|
ophyd_async/testing/_wait_for_pending.py,sha256=YZAR48n-CW0GsPey3zFRzMJ4byDAr3HvMIoawjmTrHw,732
|
|
157
|
-
ophyd_async-0.13.
|
|
158
|
-
ophyd_async-0.13.
|
|
159
|
-
ophyd_async-0.13.
|
|
160
|
-
ophyd_async-0.13.
|
|
161
|
-
ophyd_async-0.13.
|
|
158
|
+
ophyd_async-0.13.6.dist-info/licenses/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
|
|
159
|
+
ophyd_async-0.13.6.dist-info/METADATA,sha256=o3yNVUgIIR1UiWECtmQX9WZLuZAu4et3sru1DKoOsDM,5703
|
|
160
|
+
ophyd_async-0.13.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
161
|
+
ophyd_async-0.13.6.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
|
|
162
|
+
ophyd_async-0.13.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|