Hardening Astropy's Core Stability
Astropy’s Python API is well-tested, but its underlying compiled layer (C, C++, Cython) lacks isolated testing. Because performance-critical extensions are currently only tested indirectly via high-level Python calls, deep bugs can easily be masked. This testing blind spot also blocks major architectural milestones, including the APE low-level package split, the Meson build system migration, and support for Python 3.15 free-threaded builds. This project will build a dedicated test suite to exercise each compiled extension module directly, entirely bypassing the public Python API. By engineering methods to probe these modules in isolation, including resolving complex runtime circular dependencies like `unit_list_proxy.c`; this work will establish a robust, reliable testing boundary between Python and the compiled code. Deliverables: C-API Audit: A mapped testing surface for active compiled extension modules. Isolated Test Suites: Direct pytest suites for compiled modules in astropy/table, time, timeseries, utils/xml, wcs, and erfa. Dependency Resolution: A C-level refactor (or minimal Python stub) to fix the `unit_list_proxy.c` circular dependency. Documentation: A new TESTING_EXTENSIONS.rst guide in Astropy's docs detailing how to run and extend these direct tests.
Project details
Technologies
Not listed in the archive