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>
2.5 KiB
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