Pull request #1724: PIPE-2903 & PIPE-2939: Python Code Modernization, Import Optimization, and Cleanup
Merge in PIPE/pipeline from PIPE-2903-additional-refactoring-items-after-pr-1452 to main
* commit '83fe0c033e0abcb3a7237aa8768681ca58a63e1a': PIPE-2903: reverted super reference calls to the parent object; changed type of QuantityDict value PIPE-2903: fix failure introduced at merge PIPE-2903: removed references to custom dictionaries in the all block that got reintroduced on merge with main PIPE-2903: fixed docstring reference to the correct Jira ticket PIPE-2903: removed defunct _cluster_details function replaced by deferred request
Replace naive datetimes with timezone-aware UTC datetimes throughout codebase PIPE-2903: fixed timezone naive issues by adding UTC timezone PIPE-2903: gathered all custom CASA type hints into single module casa_types PIPE-2903: fixes to unit test failures associated with datetime changes from naive to UTC aware PIPE-2903: converted callable type hint to Callable; removed commented out code and duplicated type hints from docstrings; updated numpy type hints PIPE-2939: removed defunct pipeline/infrastructure/docutils module PIPE-2903: updated type hints to use type MaskedArray instead of constructor; fixed inaccurate type hints in hsd/baselineflag; updated several NewType custom variables to use TypedDict; fixed several indentation levels; moved type-hint-only imports into TYPE_CHECKING; replaced Integral with Real for more accurate type hint PIPE-2903: reverted changes to extern module; reverted several namespace imports that were incorrectly removed; reverted incorrectly moved imports to TYPE_CHECKING PIPE-2903: moved more type-hint-only imports to TYPE_CHECKING; removed several unused imports; fixed several unbound/undefined variable errors; replaced deprecated imports with functionally-equivalent imports; fixed invalid type forms; added import of collections.abc library PIPE-2903: moved more type-hint-only imports into TYPE_CHECKING; replaced typing module shims with direct module imports PIPE-2903: removed deprecated datetime.utcnow function; migrated generic type hints to appropriate modules per PEP585; switched abstract base class usage per PEP 3119 PIPE-2903: moved many type-hint-only imports into TYPE_CHECKING; added future annotations and removed many string literals from type hints; updated many old style docstrings; removed object name from class definitions and super calls PIPE-2903: updated type hinting standards per PEP484, PEP585, and PEP604, including replacing imports for built-ins and removing string literals and adding annotation forwarding
Pull request #1790: PIPE-3061/PIPE-3027
Merge in PIPE/pipeline from PIPE-3061-examining-the-possible-memory-leak-when-running-multiple-regression-tests-on-one-pytest to main
* commit 'ebb6ced6fd1f23d977a302abef49c5d461feca85': PIPE-3061: Update `pixi_tasks.md` PIPE-3061: drop Python 3.10/3.11, add CASA 6.7.4 env, update docs theme PIPE-3061: add pixi tasks for regression/unit tests and developer docs PIPE-3061: Add `pytest-xvfb` to development requirements for headless testing support without `xvfb-run` PIPE-3061: Update documentation to clarify xdist worker scaling and per-test timing details PIPE-3061: Add MPI worker scaling recommendations and per-test timing details to documentation PIPE-3061: Add usage examples for `@pytest.mark.mpi` in documentation PIPE-3061: Further improve memory management by triggering garbage collection after clearing caches and releasing context in `PipelineTester` PIPE-3027: Simplify MPI marker handling in pytest configuration and update description for clarity PIPE-3027: add `@pytest.mark.mpi` marker and `--ignore-mpi-markers` option PIPE-2061: Add fixture to clear module-level caches between tests to reduce memory footprint PIPE-3061: Implement unsubscribe functionality in eventbus and improve the memory management for `Context` in `PipelineTester`