|
| 1 | +--- |
| 2 | +title: 'NASA ROSES E7 Grant: Reinforcing the Fondations of Scientific Python' |
| 3 | +author: matti-picus |
| 4 | +published: Aug 10, 2022 |
| 5 | +description: 'Announcing a 3-year program to improve NumPy, Scipy, pandas, and scikit-learn' |
| 6 | +category: [Funding] |
| 7 | +featuredImage: |
| 8 | + src: /posts/nasa-rose-grant-2020/scientific_python_ecosystem.png |
| 9 | + alt: 'River of scientific python projects, flowing from Python and Numpy, to |
| 10 | + Foundational projects, to technique-specific projects, to domain-specific |
| 11 | + projects, to applications.' |
| 12 | +hero: |
| 13 | + src: /posts/nasa-rose-grant-2020/scientific_python_ecosystem.png |
| 14 | + alt: 'River of scientific python projects, flowing from Python and Numpy, to |
| 15 | + Foundational projects, to technique-specific projects, to domain-specific |
| 16 | + projects, to applications.' |
| 17 | +--- |
| 18 | + |
| 19 | +### Announcement of the grant being awarded |
| 20 | + |
| 21 | +We are happy and proud to announce that the [NASA Rose 2020](https://science.nasa.gov/researchers/sara/grant-solicitations/roses-2020/release-research-opportunities-space-and-earth-science-roses-2020) |
| 22 | +program, specifically the [Support for Open Source Tools, Frameworks and Libraries](https://nspires.nasaprs.com/external/solicitations/summary.do?solId=%7B958CF134-D655-E512-B5AD-84501D14A0C1%7D&path=&method=init) |
| 23 | +component, has accepted [a |
| 24 | +proposal](/posts/nasa-rose-grant-2020/NASA_project_proposal.pdf) |
| 25 | +from the Scientific Python community. The |
| 26 | +[selection](https://nspires.nasaprs.com/external/viewrepositorydocument?cmdocumentid=843923&solicitationId={958CF134-D655-E512-B5AD-84501D14A0C1}&viewSolicitationDocument=1) |
| 27 | +(link broken) is for a 3-year, $385,385 per year grant, which will be split between the participating |
| 28 | +projects: [scikit-learn](https://scikit-learn.org), |
| 29 | +[Pandas](https://pandas.org/), [SciPy](https://scipy.org/) and |
| 30 | +[NumPy](https://numpy.org/). |
| 31 | + |
| 32 | +### Backstory |
| 33 | + |
| 34 | +Once the [NASA Rose]() |
| 35 | +funding proposal opened, the working group began creating a proposal that |
| 36 | +answered the conditions of the program. The proposal was based on an earlier |
| 37 | +[rejectd NSF |
| 38 | +proposal](https://figshare.com/articles/journal_contribution/Mid-Scale_Research_Infrastructure_-_The_Scientific_Python_Ecosystem/8009441). |
| 39 | +Many of the authors of the NSF proposal were also involved in the successful |
| 40 | +NASA Rose proposal. The process of pulling the proposal together: laying out |
| 41 | +the scope of the program, splitting the grant writing into sections, and |
| 42 | +overall cooperation between the groups was in and of itself helpful to get many |
| 43 | +of the people at the core of scientific python together. |
| 44 | + |
| 45 | +### Deliverables |
| 46 | +The [Gantt chart](/posts/nasa-rose-grant-2020/NASA_project_workplan.pdf) |
| 47 | +summarizes the primary deliverables of the project: |
| 48 | +- Ongoing work with issue triaging & code review, maintenance, CI & packaging |
| 49 | + improvements |
| 50 | +- Creating a joint infrastructure for running benchmarks and create both |
| 51 | + micro-benchmarks and more general benchmarks for the projects |
| 52 | +- Use NumPy's new dtype infrastructure to create a flexible Unicode string |
| 53 | + type, and integrate that into Pandas |
| 54 | +- More NumPy SIMD performance improvements |
| 55 | +- Move forward with Array API adoption |
| 56 | +- Extend the use of Numba UDFs in Pandas |
| 57 | +- Optimize Pandas' memory usage, and use more cython in sckit-learn |
| 58 | +- Add support for CuPY and Dask to Scipy and scikit-learn via the Array API |
| 59 | +- Add a framework for parallelization to SciPy |
| 60 | +- Add large-scale optizmiation routines to SciPy |
| 61 | + |
| 62 | +The goals are quite ambitious given the modest funding. They leverage synergy between the projects and underlying standards to move the entire scientific python community forward. |
| 63 | + |
| 64 | +### Who will be doing the work |
| 65 | + |
| 66 | +The work will be executed by a mix of experienced maintainers and new talent |
| 67 | +recruited specifically for the project. Due to restrictions from the funders, |
| 68 | +research will be primarily executed by people in the USA, while the |
| 69 | +international team will take on the engeneering and contributor tasks. Some of |
| 70 | +the work will be subcontracted to LANL and Cal Poly. |
| 71 | + |
| 72 | +The grant will be administered via a comittee. Dharhas Pothina, the CTO of |
| 73 | +[Quansight](https://quansight.com/), will be the PI. Leaders of the |
| 74 | +participating projects will advise and monitor activities and changes in scope |
| 75 | +to make sure they are aligned with what the projects need most. |
| 76 | + |
| 77 | +### Final thoughts |
| 78 | + |
| 79 | +This is a significant milestone in the growing stream of funding flowing toward |
| 80 | +OpenSource and Scientific Python projects. The grant is one of the first to |
| 81 | +specifically fund cross-project collaboration, in a way that will leverage |
| 82 | +common interests toward improving the entire ecosystem. Institutional funders |
| 83 | +are realizing that we are indeed a web of interlinked projects supported by a |
| 84 | +community of contributors, and we are thankful to NASA for the opportunity to |
| 85 | +spearhead this new model. |
| 86 | + |
| 87 | +We'll provide updates in future blog posts as we achieve significant progress |
| 88 | +toward the goals of the grants. |
| 89 | + |
| 90 | +These are exciting times, funding for core PyData projects is accelerating. |
0 commit comments