The Joint Accelerator Conferences Website (JACoW) is an international collaboration that publishes the proceedings of accelerator conferences held around the world.
TY - CONF AU - Chrin, J.T.M. ED - Schaa, Volker RW TI - A Cython Interface to EPICS Channel Access for High-level Python Applications J2 - Proc. of PCaPAC2016, Campinas, Brazil, October 2528, 2016 C1 - Campinas, Brazil T2 - International Workshop on Personal Computers and Particle Accelerator Controls T3 - 11 LA - english AB - Through the capabilities of Cython (a python-like programming language with the performance of C/C++), a Pythonic interface to an in-house C++ Channel Access (CA) library, CAFE, has been developed, thereby exposing CAFE's numerous multifaceted and user-friendly methods to Python application developers. A number of particularities of the PyCafe API are revealed. These include support for (i) memoryview and other data types that implement the new Python buffer protocol (allowing data to be shared without copying), (ii) native thread parallelism, and (iii) pointers to callback functions from wherein CA methods may be effortless executed in asynchronous interactions. A significant performance improvement is achieved when compared with conventional Pythonic CA libraries. The PyCafe interface has been realized within the context of high-level application development at SwissFEL, Switzerland's X-ray Free-Electron Laser facility. PB - JACoW CP - Geneva, Switzerland SP - 21 EP - 24 KW - ion KW - operation KW - interface KW - EPICS KW - status DA - 2017/09 PY - 2017 SN - 978-3-95450-189-2 DO - 10.18429/JACoW-PCaPAC2016-WEUIPLCO04 UR - http://jacow.org/pcapac2016/papers/weuiplco04.pdf ER -