Files
eco/docs/api.rst
T
gac berninaandClaude Sonnet 5 779a93cfa6 Rename eco.epics -> eco.epics_utils to stop shadowing pyepics; rework eco --help
eco shipped its own subpackage literally named eco/epics/, colliding with
the third-party `epics` (pyepics) package. Whenever eco's own package
directory landed on sys.path, `import epics.pv` resolved to eco's shadow
instead of pyepics. The previous commit patched one trigger (eco_cli.py's
shell UI), but --ui lab/voila hit the identical collision via a different
route: voila_app.ipynb lives inside eco/, and Jupyter/Voila kernels start
with the notebook's own directory as sys.path[0]. Confirmed via eco-dev:
both lab and voila's dashboard execution failed with the exact same
ModuleNotFoundError: No module named 'epics.pv'.

Renaming the subpackage (eco.epics -> eco.epics_utils, ~90 mechanical
import-line updates) removes the collision at the root, regardless of
trigger. Verified via eco-dev across all four --ui modes (shell, lab,
voila, desktop) with no more epics.pv errors anywhere.

Also reworked eco_cli.py's --help: shows [default] on -l/--lazy, adds a
full description of all four --ui front-ends including desktop, documents
.ecorc configuration, and adds --set-rcfile [PATH] to persist the current
invocation's scope/profile/lazy/ui into an .ecorc instead of launching.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 16:17:33 +02:00

2.5 KiB

API reference

The pages below are generated directly from the docstrings in the source, so improving a docstring immediately improves this reference. Only a curated set of modules is wired up so far — the ones the concepts and examples build on. Extend the automodule list as more of eco grows proper docstrings.

Core object protocols

eco.elements.protocols

Assembly

eco.elements.assembly

Detector elements

eco.elements.detector.DetectorGet

Adjustable elements

eco.elements.adjustable.AdjustableGetSet

Listening monitor

eco.epics_utils.monitor

Archiver / DataHub

eco.dbase.archiver

Pipeline server (offloading code)

eco.pipeline.pipeline_server

Delta Tau / PowerBrick configs

eco.motion.deltatau_config

eco.motion.deltatau_config.cfgfile

eco.motion.deltatau_config.bundle

eco.motion.deltatau_config.deploy

eco.motion.deltatau_config.verify

Direct motor drivers (EPICS-independent)

eco.devices_general.newport_xps

eco.devices_general.schneider_mcode