| 
 | 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 ROSES 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 | +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 ROSES funding proposal opened, the working group began creating a  | 
 | 35 | +proposal that answered the conditions of the program. The proposal was based on  | 
 | 36 | +an earlier  | 
 | 37 | +[rejected NSF proposal](https://figshare.com/articles/journal_contribution/Mid-Scale_Research_Infrastructure_-_The_Scientific_Python_Ecosystem/8009441).  | 
 | 38 | +Many of the authors of the NSF proposal were also involved in the successful  | 
 | 39 | +NASA ROSES proposal. The process of pulling the proposal together: laying out  | 
 | 40 | +the scope of the program, splitting the grant writing into sections, and  | 
 | 41 | +overall cooperation between the groups was in and of itself helpful to get many  | 
 | 42 | +of the people at the core of scientific Python together.  | 
 | 43 | + | 
 | 44 | +### Deliverables  | 
 | 45 | + | 
 | 46 | +This [Gantt chart](/posts/nasa-rose-grant-2020/NASA_project_workplan.pdf)  | 
 | 47 | +summarizes the primary deliverables of the project:  | 
 | 48 | + | 
 | 49 | +- Ongoing work with issue triaging & code review, maintenance, CI & packaging  | 
 | 50 | +  improvements  | 
 | 51 | +- Creating a joint infrastructure for running benchmarks and create both  | 
 | 52 | +  micro-benchmarks and more general benchmarks for the projects  | 
 | 53 | +- Use NumPy's new dtype infrastructure to create a flexible Unicode string  | 
 | 54 | +  type, and integrate that into pandas  | 
 | 55 | +- More NumPy SIMD performance improvements  | 
 | 56 | +- Move forward with Array API Standard adoption  | 
 | 57 | +- Extend the use of Numba UDFs in pandas  | 
 | 58 | +- Optimize pandas' memory usage, and implement Cython performance optimizations  | 
 | 59 | +  in sckit-learn  | 
 | 60 | +- Add support for CuPy and Dask to SciPy and scikit-learn via the Array API  | 
 | 61 | +  standard  | 
 | 62 | +- Add a framework for parallelization to SciPy  | 
 | 63 | +- Add large-scale optimization routines to SciPy  | 
 | 64 | + | 
 | 65 | +The goals are quite ambitious given the amount of funding. They leverage  | 
 | 66 | +synergy between the projects and underlying standards to move the entire  | 
 | 67 | +scientific Python community forward.  | 
 | 68 | + | 
 | 69 | +### Who will be doing the work  | 
 | 70 | + | 
 | 71 | +The work will be executed by a mix of experienced maintainers and new talent  | 
 | 72 | +recruited specifically for the project. Due to restrictions from the funders,  | 
 | 73 | +research (which includes most or all work on new features) will be primarily  | 
 | 74 | +executed by people in the United States, while the international team will take  | 
 | 75 | +on the engineering and contributor tasks. Some of the work will be  | 
 | 76 | +subcontracted to LANL and Cal Poly.  | 
 | 77 | + | 
 | 78 | +The grant will be administered via a committee. Dharhas Pothina, Quansight's CTO,  | 
 | 79 | +is the PI. Leaders of the participating projects will advise and monitor  | 
 | 80 | +activities and changes in scope to make sure they are aligned with what the  | 
 | 81 | +projects need most.  | 
 | 82 | + | 
 | 83 | +### Final thoughts  | 
 | 84 | + | 
 | 85 | +This is a significant milestone in the growing stream of funding flowing  | 
 | 86 | +towards community-driven Open Source - and to scientific Python projects in  | 
 | 87 | +particular. The grant is one of the first to specifically fund cross-project  | 
 | 88 | +collaboration, in a way that will leverage common interests toward improving  | 
 | 89 | +the entire ecosystem. Institutional funders are realizing that we are indeed a  | 
 | 90 | +web of interlinked projects supported by a community of contributors, and we  | 
 | 91 | +are thankful to NASA for the opportunity to spearhead this new model.  | 
 | 92 | + | 
 | 93 | +We'll provide updates in future blog posts as well as on the mailing lists of  | 
 | 94 | +the project involved as we achieve significant progress toward the goals of the  | 
 | 95 | +grants.  | 
 | 96 | + | 
 | 97 | +These are exciting times, funding for core PyData projects is accelerating.  | 
0 commit comments