Skip to content

Commit cd8b14f

Browse files
committed
Draft funding proposal
1 parent 5cb6eed commit cd8b14f

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
### Array API and Visualization
2+
3+
4+
### Project Team
5+
The project team will be Matt Craig. If additional help is needed it will be subcontracted.
6+
7+
### Project Description
8+
9+
There are two pieces to this project, which are essentially independent. One could be funded without funding the other.
10+
11+
1. Implement the Python [array API standard](https://data-apis.org/array-api/latest/) for at least `CCDData` objects, and perhaps `NDData` objects in the core astropy library and in `ccdproc`.
12+
1. Finalize work on a 1.0 release of the `astrowidgets` API and reference implementation.
13+
14+
### Project / Work
15+
16+
#### Array API
17+
18+
Since the bulk of `ccdproc`, `NDData` and `CCDData` were written, there has been a proliferation of array packages beyond `numpy`, which was the single standard array package at the time this coed was originally developed. Adopting the relatively recent [Python array API](https://data-apis.org/array-api/latest/index.html) would enable the use of any of the newer, and in some cases more performant, packages, a list of which is on the [array API site](https://data-apis.org/array-api/latest/purpose_and_scope.html#stakeholders).
19+
20+
As long as a significant rewrite of `ccdproc` is occurring these additional work will be done:
21+
22+
1. Update packaging infrastructure to be `pyproject.toml`-based and add regular wheel builds.
23+
2. Adopt the type of automated code checks that have been adopted by core astropy.
24+
3. Implement a class-based interface as outlined in [this PR](https://github.com/astropy/ccdproc/pull/656).
25+
26+
#### Astrowidgets
27+
28+
The [`astrowidgets`](https://github.com/astropy/astrowidgets) package has been developed in some bursts of activity over the last several years, in part limited by my past availability. This part of the proposal would see the finalization of a "version 1" API and one or more reference implementations. There is a ginga-based implementation already and a bqplot-based implementation is fairly far along. The latter may or may not end up being included in the first stable release of `astrowidgets` depending on the wishes of the other people working on `astrowidgets`.
29+
30+
31+
### Approximate Budget
32+
Currency: US $24,000
33+
34+
This estimate assumes 40 hours/week, $150/hour, for a total equivalent to 4 weeks, though the development effort will be spread over a much longer time span.
35+
36+
The time will be roughly split between the two projects described above.
37+
38+
### Period of Performance
39+
40+
The period of performance is one year from the start of the grant. While this is significantly longer than the amount of time I anticipate these revisions will take, I want to be more realistic than I've been in the past about the overall calendar time needed to complete this work.
41+
42+
My teaching duties are significantly reduced in Fall 2024, which will be my final semester of teaching.

0 commit comments

Comments
 (0)