{"id":23678,"library":"epicscorelibs","title":"EPICS Core Libraries for Python","description":"Provides EPICS (Experimental Physics and Industrial Control System) core C libraries bundled as Python wheels for use by Python modules like pyepics and caproto. Current version 7.0.10.99.0.1, releases as necessary to match EPICS base releases.","status":"active","version":"7.0.10.99.0.1","language":"python","source_language":"en","source_url":"https://github.com/mdavidsaver/epicscorelibs","tags":["EPICS","control systems","C libraries","bundled","pyepics","caproto"],"install":[{"cmd":"pip install epicscorelibs","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"epicscorelibs is a bundled library; direct import is not intended for user code. Use its CLI or rely on it being automatically loaded by pyepics/caproto.","wrong":"import epicscorelibs","symbol":"CLI invoke","correct":"python -m epicscorelibs.cli --help"},{"note":"epicscorelibs.path is the main entry point to make the bundled shared libraries discoverable. Importing epicscorelibs alone does nothing.","wrong":"import epicscorelibs","symbol":"Load EPICS libraries","correct":"import epicscorelibs.path  # on import, sets PATH, LD_LIBRARY_PATH, etc."}],"quickstart":{"code":"import epicscorelibs.path\nimport epics\nimport ca\n\n# Example: connect to an EPICS PV\npv = epics.PV('example:PV')\nprint(pv.get())","lang":"python","description":"After installing epicscorelibs and pyepics, import epicscorelibs.path to set up library paths, then use pyepics normally."},"warnings":[{"fix":"Add 'import epicscorelibs.path' before any EPICS-related imports.","message":"Direct import of epicscorelibs does nothing. You must import epicscorelibs.path to set environment variables for EPICS libraries.","severity":"gotcha","affected_versions":"all"},{"fix":"Check epicscorelibs version via pip show epicscorelibs; EPICS version is the first three numbers.","message":"The package version includes EPICS base version and a build suffix (e.g., 7.0.10.99.0.1). Do not confuse this with pyepics version.","severity":"gotcha","affected_versions":"all"},{"fix":"If using system EPICS, consider not importing epicscorelibs.path, or set environment variables to prioritize system paths.","message":"On some platforms, the bundled libraries may conflict with system-installed EPICS libraries. Importing epicscorelibs.path modifies PATH/LD_LIBRARY_PATH, which can shadow system EPICS.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Add 'import epicscorelibs.path' before importing pyepics or caproto.","cause":"epicscorelibs.path was not imported, so LD_LIBRARY_PATH is not set to include the bundled libraries.","error":"ImportError: libca.so: cannot open shared object file: No such file or directory"},{"fix":"Upgrade epicscorelibs: pip install --upgrade epicscorelibs","cause":"Outdated version where the path module did not exist, or the installed package is corrupted.","error":"AttributeError: module 'epicscorelibs' has no attribute 'path'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}