Epics Channel Access for PythonΒΆ

PyEpics is an interface for the Channel Access (CA) library of the Epics Control System to the Python Programming language. The pyepics package provides a base epics module to python, with methods for reading from and writing to Epics Process Variables (PVs) via the CA protocol. The package includes a thin and fairly complete layer over the low-level Channel Access library in the ca module, and higher level abstractions built on top of this basic functionality.

The package includes a very simple interface to CA similar to the Unix command-line tools and EZCA library with functions epics.caget(), epics.caput(), epics.cainfo(), and epics.camonitor(). These is also a pv.PV class which represents an Epics Process Variable as a full-featured and easy-to-use Python object. Additional modules provide higher-level programming support to CA, including grouping related PVs into a device.Device, creating alarms in alarm.Alarm, and saving PVs values in the autosave module. There is also support for conveniently using epics PVs to wxPython widgets in the wx module, and some support for using PyQt widgets in the qt module.


In addition to the Pyepics library described here, several applications built with pyepics are available at http://github.com/pyepics/epicsapps/. See http://pyepics.github.com/epicsapps/ for further details.