|
| 1 | +### Astropy as a platform of stability in the astronomy software landscape |
| 2 | + |
| 3 | +### Project Team |
| 4 | +This proposal is to support Clément Robert's continued software engineering work |
| 5 | +on the astropy core library. |
| 6 | + |
| 7 | +### Project Description / Scope of Work |
| 8 | + |
| 9 | +- improving backward and forward compatibility of astropy with its own dependencies at large |
| 10 | +- coordinating with upstream and downstream stake holders to improve testing on a range |
| 11 | + of compatibile environments |
| 12 | +- improve portability and re-usability of binary artifacts |
| 13 | +- simplify the development process for most contributors to the core library (reduced build times) |
| 14 | +- improve long-term maintainability of new APIs through developer documentation |
| 15 | + and code reviews |
| 16 | +- tackle long standing bugs |
| 17 | +- fix incompatibilities with development versions of core and secondary dependencies as needed |
| 18 | +- extend support to future features of the Python interpreter (like JIT compilation and free-threading) |
| 19 | +- handle long-term API evolutions through deprecation cycles |
| 20 | + |
| 21 | +#### Roadmap Items |
| 22 | + |
| 23 | +The proposed work aligns with the following roadmap items: |
| 24 | + |
| 25 | +- Improve and/or maintain interoperability with performant I/O file formats and libraries such as HDF5 and Dask. |
| 26 | +- Improve support for using Astropy tools in heterogeneous computing environments such as cloud environments or GPU systems. |
| 27 | +- Support JIT compilation (e.g., numba, JAX, etc.) throughout Astropy core and coordinated packages. |
| 28 | +- Increase the learning and mentoring opportunities for people interested in becoming contributors and helping to develop existing contributors into maintainers. |
| 29 | + |
| 30 | + |
| 31 | +#### Project / Work / Deliverables |
| 32 | + |
| 33 | +Listed hereafter are the concrete deliverables to be expected |
| 34 | + |
| 35 | +- reproducible builds in "oldestdeps" testing environments (issue) |
| 36 | +- split out extension modules to a `astropy-core` package (pre-APE) |
| 37 | +- developer guidelines for maintainable new APIs (email) |
| 38 | +- detailed, quarterly reports of bug reports closed and PRs reviewed |
| 39 | + |
| 40 | +> Note: 3 of these 4 items are, at the time of writing, being actively discussed |
| 41 | +> in the open with other maintainers and other stake holders. |
| 42 | +> I intend to provide links to where the most recent discussions are happening |
| 43 | +> but these may change over the course of the Cycle 5 review process. |
| 44 | +
|
| 45 | +### Approximate Budget |
| 46 | +Currency: US |
| 47 | +Budget: $80,000 |
| 48 | + |
| 49 | +I'm requesting funding for 800 hours of contractual work, over a performance period of one year, |
| 50 | +at a rate of 100$/hr. |
| 51 | + |
| 52 | + |
| 53 | +### Period of Performance |
| 54 | + |
| 55 | +2026 (Jan 1 to Dec 31) |
0 commit comments