An open API service indexing awesome lists of open source software.

https://github.com/diamondlightsource/aioca

Asynchronous Channel Access client for asyncio and Python using libca via ctypes
https://github.com/diamondlightsource/aioca

from-dls-controls

Last synced: 7 months ago
JSON representation

Asynchronous Channel Access client for asyncio and Python using libca via ctypes

Awesome Lists containing this project

README

          

[![CI](https://github.com/DiamondLightSource/aioca/actions/workflows/ci.yml/badge.svg)](https://github.com/DiamondLightSource/aioca/actions/workflows/ci.yml)
[![Coverage](https://codecov.io/gh/DiamondLightSource/aioca/branch/main/graph/badge.svg)](https://codecov.io/gh/DiamondLightSource/aioca)
[![PyPI](https://img.shields.io/pypi/v/aioca.svg)](https://pypi.org/project/aioca)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)

# aioca

aioca is an asynchronous EPICS Channel Access client for asyncio and Python
using libca via ctypes.

| Source | |
| :-----------: | :----------------------------------------------------: |
| PyPI | `pip install aioca` |
| Documentation | |
| Releases | |

It exposes a high level interface similar to the commandline tools::

caget(pvs, ...)
Returns a single snapshot of the current value of each PV.

caput(pvs, values, ...)
Writes values to one or more PVs.

camonitor(pvs, callback, ...)
Receive notification each time any of the listed PVs changes.

connect(pvs, ...)
Optionally can be used to establish PV connection before using the PV.

See https://DiamondLightSource.github.io/aioca for more detailed documentation.