Install & Compatibility
Where this runs
tested against v3.5.10 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.444s · 105.5MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 4.0s · import 0.422s · 102MB
105MB installed
● package 105MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
PV
✓ from epics import PV
✗ from pyepics import PV
The top-level package is 'epics', not 'pyepics'. 'pyepics' is the distribution name.
caget
✓ from epics import caget
✗ from epics.ca import caget
caget is exposed at the epics level, though available in epics.ca. Use epics.caget for brevity.
caput
✓ from epics import caput
✗ import caput
caput is a function in the epics module, not a standalone package.
Basic usage: create a PV, get/put values, and monitor changes.
from epics import PV, caget, caput
# Connect to a PV
pv = PV('my_pv_name')
print('Connected:', pv.connect())
# Get value
value = pv.get() # or caget('my_pv_name')
print('Value:', value)
# Put value
caput('my_pv_name', 42.0) # or pv.put(42.0)
# Monitor callback
def callback(pvname, value, **kw):
print(f'{pvname} = {value}')
pv.add_callback(callback)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'pyepics'
Trying to import 'pyepics' directly. The correct import is 'epics'.
fixUse 'from epics import PV' (the distribution is 'pyepics', but the package is 'epics').
AttributeError: module 'epics' has no attribute 'PV'
Incomplete import. 'epics.PV' is available only after importing from epics.
fixRun 'from epics import PV' explicitly.
ConnectionRefusedError: No Connection: ...
EPICS Channel Access server not running or PV name incorrect.
fixVerify the PV name and ensure the EPICS server is reachable (e.g., with caget from the command line).
Upgrade
Version history
3.5.10latest on PyPI · released May 20, 2026
Audit
Dependencies
No dependency data recorded yet.