If your goal is to write IOCs, see Input-Output Controllers (IOCs).

Caproto includes three implementations of a Channel Access server for three different Python concurrency libraries:

  • asyncio (built in to Python)

  • curio

  • trio

To learn more about concurrency in Python (and in general) we recommend these introductory resources, suggested by a caproto user:

The IOC code abstracts out the particular server implementation, so IOC authors do not need to interact with the server API directly. The low-level server API is still experimental and subject to change, and it is not yet documented here. We refer interested developers to the source code in caproto.asyncio.server, caproto.curio.server, and caproto.trio.server.