Registry / devops / ophyd-async

ophyd-async

JSON →
library0.18pypypi✓ verified 83d ago

Asynchronous Bluesky hardware abstraction library for Python, compatible with EPICS and Tango control systems. Version 0.18 requires Python >=3.11. Active development with regular releases.

pip install ophyd-async
INSTALL
IMPORT
SIG · OPHYD-ASYNC
O
ophyd-async
devopspythonv0.18
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Device
from ophyd_async.core import Device
from ophyd import Device
ophyd-async uses its own Device class, not the synchronous ophyd one
DetectorWriter
from ophyd_async.plan_stubs import DetectorWriter
from ophyd_async.core import DetectorWriter
DetectorWriter moved to plan_stubs in v0.17+

Basic async hardware simulation with ophyd-async

import asyncio from ophyd_async.core import Device, DeviceVector, init_devices from ophyd_async.sim import SimMotor async def main(): motor = SimMotor("motor") await motor.connect(mock=True) print(await motor.user_readback.read()) asyncio.run(main())
Debug
Known issues
breakingIn v0.17, `DetectorWriter` moved from `ophyd_async.core` to `ophyd_async.plan_stubs`.
fix
Update import: `from ophyd_async.plan_stubs import DetectorWriter`
affects: >=0.17
breakingIn v0.15, `StandardDetector` API changed: `set_exposure_time` and `set_number_of_frames` methods replaced by `set_exposure` and `set_num_images`.
fix
Use `detector.set_exposure(value)` and `detector.set_num_images(value)`
affects: >=0.15
gotchaAll device operations are async; forgetting `await` leads to coroutine objects instead of results.
fix
Ensure all `await` calls are present when interacting with devices
affects: all
Errors
Common errors & fixes
ImportError: cannot import name 'DetectorWriter' from 'ophyd_async.core'
DetectorWriter moved to ophyd_async.plan_stubs in v0.17+.
fix
Use `from ophyd_async.plan_stubs import DetectorWriter`
RuntimeError: This device is not connected. Call device.connect() before using it.
Devices must be explicitly connected before use; calling methods on disconnected device.
fix
Call `await device.connect(mock=True)` for simulation or `await device.connect()` for real hardware.
Upgrade
Version history
0.18latest on PyPI · released Jun 4, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
2 hits · last 30 days
node
2
Resources
ophyd-async — pip install ophyd-async · libregistry