Code commits
Pipeline
-
Rui Xue 9a0ba3e21587a4868de246d077f0beabb8c01d4e
PIPE-3073: Defer CASA/matplotlib/Dask startup from import time to pipeline.initialize()
Move side-effectful startup out of `import pipeline` into an explicit
`pipeline.initialize()` call, so `pipeline --help` and `pipeline submit`
stay free of CASA side effects and the working directory stays clean.
Changes across 18 files:
- New pipeline.initialize(): idempotent; bootstraps casatasks, matplotlib,
astropy IERS, optional Dask, and the host-environment banner
- config.py: split into casaconfig_startup() (import-time, no casatasks)
and casatasks_startup() (called by initialize())
- Lazy loading via PEP 562 __getattr__ (environment.py, infrastructure/__init__.py),
importlib.util.LazyLoader (casa_tasks.py), and local function imports
(casa_tools.py, logging.py, mpihelpers.py, daskhelpers.py, conf.py, ...)
- mpi4py import made conditional on is_mpi_session (~60ms saved)
- Entry points call initialize(): __main__.py, recipereducer.py,
executeppr.py, executevlappr.py- pipeline/__init__.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/__main__.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/config.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/environment.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/__init__.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/callibrary.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/casa_tasks.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/casa_tools.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/daskhelpers.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/executeppr.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/executevlappr.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/jobrequest.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/logging.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/mpihelpers.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/mpirunner.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/utils/casa_data.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/infrastructure/utils/conf.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)
- pipeline/recipereducer.py (version 9a0ba3e21587a4868de246d077f0beabb8c01d4e) (diffs)