epicscorelibs
The EPICS Core libraries for use by python modules
What it is and what it does
epicscorelibs packages the EPICS Core runtime libraries and C headers as a Python wheel, allowing Python modules to link against EPICS without requiring a separate system-level EPICS installation. It is not an end-user library but a build and runtime dependency for Python packages that wrap EPICS control-system functionality.
The package provides a Python API to locate headers and libraries by name, retrieve build configuration variables (EPICS_HOST_ARCH, CFLAGS, etc.), and manage version information. It includes prebuilt wheels on macOS, Linux, and Windows, with an option to compile locally if needed. Runtime dependencies are setuptools, setuptools-dso, and numpy.
Use it for:
- Building Python EPICS client libraries without requiring system EPICS installation.
- Packaging EPICS-based control applications for distribution across heterogeneous platforms.
- Developing custom Python extensions that call EPICS Channel Access or PV Access APIs directly.
- Setting up reproducible CI/CD pipelines for SCADA and experimental control systems.
- Querying EPICS build configuration and library paths from Python setup scripts.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides compiled EPICS Core libraries and development headers for Python, enabling Python modules to interface with EPICS control systems without requiring separate system-level EPICS installation.
Yes, if you are building or packaging Python modules that depend on EPICS Core libraries. Install friction is moderate due to compiled dependencies, but prebuilt wheels and broad platform coverage reduce friction significantly. Verify the EPICS license terms for your use case. Aging maintenance is a minor concern but not a blocker; the repository remains active and no security vulnerabilities are recorded.
Install
epicscorelibs on PyPI
pip
pip install epicscorelibsuv
uv add epicscorelibspoetry
poetry add epicscorelibsInstalling epicscorelibs
Before you install
Medium install friction due to compiled wheel dependencies on setuptools-dso and numpy; prebuilt wheels available across macOS, Linux, and Windows. Maintenance status is aging—last release 184 days ago, though repository remains active with a recent commit on 2025-07-13.
License in practice
License is marked 'EPICS' with unclear treatment and no SPDX mapping. Users should verify compliance with the EPICS license terms before adopting in proprietary or restricted-distribution contexts.
Quickstart
pip install epicscorelibs
from epicscorelibs.path import include_path, lib_path, get_lib
print(get_lib('ca')) # retrieve path to named EPICS library
Requires numpy and setuptools-dso at install time; local compilation via --no-binary requires EPICS build tools and development headers.
Verify before relying
- Whether the EPICS license permits use in closed-source or commercial applications.
- Current status of cothread and pyepics compatibility with this version.
- Whether aging maintenance status affects stability or security for production SCADA deployments.
Package facts
| License | EPICS (unclear) |
| Python support | supports the current Python release (>=2.7) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 3 — setuptools, setuptools-dso, numpy |
| Maintenance | aging — 184 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 100,945/month — #12,968 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: epicscorelibs-7.0.10.99.0.1-cp310-cp310-macosx_11_0_universal2.whl; epicscorelibs-7.0.10.99.0.1-cp310-cp310-manylinux2014_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp310-cp310-win_amd64.whl; epicscorelibs-7.0.10.99.0.1-cp311-cp311-macosx_11_0_universal2.whl; epicscorelibs-7.0.10.99.0.1-cp311-cp311-manylinux2014_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp311-cp311-win_amd64.whl; epicscorelibs-7.0.10.99.0.1-cp312-cp312-macosx_11_0_universal2.whl; epicscorelibs-7.0.10.99.0.1-cp312-cp312-manylinux2014_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp312-cp312-win_amd64.whl; epicscorelibs-7.0.10.99.0.1-cp313-cp313-macosx_11_0_universal2.whl; epicscorelibs-7.0.10.99.0.1-cp313-cp313-manylinux2014_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp313-cp313t-manylinux2014_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp313-cp313-win_amd64.whl; epicscorelibs-7.0.10.99.0.1-cp314-cp314-macosx_11_0_universal2.whl; epicscorelibs-7.0.10.99.0.1-cp314-cp314-manylinux_2_28_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp314-cp314t-manylinux_2_28_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp314-cp314-win_amd64.whl; epicscorelibs-7.0.10.99.0.1-cp38-cp38-macosx_11_0_universal2.whl; epicscorelibs-7.0.10.99.0.1-cp38-cp38-manylinux2010_x86_64.whl; epicscorelibs-7.0.10.99.0.1-cp38-cp38-manylinux2014_x86_64.whl
Keywords: epics, scada
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
epik8s-toolsAutomates project structure, Helm chart, and…
permissive · top 15,000 on PyPI
ophyd-asyncophyd-async provides asynchronous hardware…
permissive · top 15,000 on PyPI
ophydOphyd provides a Python abstraction layer for…
permissive · top 15,000 on PyPI
phoebusgenGenerates Phoebus Display Builder XML format…
copyleft · top 15,000 on PyPI
pylibmagicProvides pre-compiled libmagic libraries…
permissive · top 15,000 on PyPI
certifiCertifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
mscertsProvides access to Microsoft's Root Certificate…
copyleft · top 15,000 on PyPI
cmeel-boostProvides pre-built Boost 1.90.0 C++ libraries…
unclear · top 5,000 on PyPI