PyEPICS requires Python 3.11 or later (3.11, 3.12, 3.13).
pip install epicsThis installs the core package with the minimum required dependencies
(numpy, h5py, endf).
PyEPICS defines optional dependency groups you can install as needed:
| Extra | What it adds | Install command |
|---|---|---|
download |
requests, beautifulsoup4 |
pip install "epics[download]" |
pandas |
pandas |
pip install "epics[pandas]" |
plot |
matplotlib |
pip install "epics[plot]" |
all |
All optional dependencies | pip install "epics[all]" |
dev |
Testing + linting + docs tooling | pip install "epics[dev]" |
# Core only (reading ENDF files and converting to HDF5)
pip install epics
# With plotting and pandas for interactive exploration
pip install "epics[plot,pandas]"
# Everything (including download support)
pip install "epics[all]"Clone the repository and install in editable mode with development dependencies:
git clone https://github.com/melekderman/PyEPICS.git
cd PyEPICS
# Create a virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# Editable install with dev dependencies
pip install -e ".[dev]"This gives you:
pytestfor running testsrufffor lintingsphinx,sphinx-rtd-theme,myst-parserfor building docs- All optional runtime dependencies (
pandas,matplotlib, etc.)
# Run all tests
python -m pytest tests/ -v
# Run only the client API tests
python -m pytest tests/test_client.py -v
# Run with coverage (if pytest-cov is installed)
python -m pytest tests/ --cov=pyepics --cov-report=term-missingcd docs
pip install -r requirements.txt # if not using [dev] extra
make htmlThe built HTML will be in docs/_build/html/.
To build source and wheel distributions for publishing:
pip install build
python -m buildThis produces:
dist/
├── epics-0.1.0.tar.gz # sdist
└── epics-0.1.0-py3-none-any.whl # wheel
After installation, verify everything works:
import pyepics
print(pyepics.__version__) # "0.1.0"
# Check that the client API is available
from pyepics import EPICSClient
print("EPICSClient loaded successfully")-
macOS / Linux / Windows: All supported via pure-Python code. Binary dependencies (
numpy,h5py) provide pre-built wheels for all major platforms. -
Conda: You can also install dependencies via conda-forge:
conda install numpy h5py pip install epics