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 fairly complete, thin 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 simple, functional approach to CA similar to EZCA and the Unix command-line tools with functions in the main epics package including epics.caget(), epics.caput(), epics.cainfo(), and epics.camonitor(). There is also a pv.PV object which represents an Epics Process Variable as an easy-to-use Python object. Additional modules provide even higher-level programming support to Epics. These include groups of related PVs in device.Device, a simple method to create alarms in alarm.Alarm, and support for saving PVs values in the autosave module. Finally, there is support for conveniently tying epics PVs to wxPython widgets in the wx 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.