Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Channel Access Foreign Function Interface

Project description

caffi is the Channel Access Foreign Function Interface. It uses CFFI to call EPICS channel access library.

This package provides direct low level interface to channel access, alike the C API.

Note: cffi commit 9fe2a9e contains an important fix to the frequent hangup on Windows 64bit Python 3. That means until cffi 1.11 is released, one should patch manually.


EPICS dynamic libraries have been shipped with the package for Windows, Linux and macOS. But if the environment variables EPICS_BASE and EPICS_HOST_ARCH are set on macOS and Linux, those libraries under path ${EPICS_BASE}/lib/${EPICS_HOST_ARCH} will be used.

Either use pip,

$ pip install caffi

or checkout source code from the git repository,

$ git clone
$ cd caffi
$ python install



The SPEC file python-caffi.spec is included. Get the source tarball either from PyPI or create it by python sdist, and run:

$ rpmbuild -ta caffi-1.0.0.tar.gz

The binary and source RPM will be created. The package name is python-caffi.


The recipe is included.:

$ conda build conda-recipe


Latest documents are hosted at Read the Dcos.


import as ca

status = ca.create_context()
assert status == ca.ECA.NORMAL

status, chid = ca.create_channel('catest')
assert status == ca.ECA.NORMAL

status = ca.pend_io(3)
assert status == ca.ECA.NORMAL

status = ca.put(chid, 123)
status = ca.flush_io()

status, value = ca.get(chid)
assert status == ca.ECA.NORMAL

status = ca.pend_io(3)
assert status == ca.ECA.NORMAL

assert value.get() == 123

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
caffi-1.0.2-py2.py3-none-any.whl (3.1 MB) Copy SHA256 hash SHA256 Wheel py2.py3 Oct 23, 2017
caffi-1.0.2.tar.gz (3.1 MB) Copy SHA256 hash SHA256 Source None Oct 23, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page