Small Development Grants
The Small Development Grants program is a NumFOCUS microgrant program benefitting our Sponsored and Affiliated projects. The program helps projects fund important work that they might not otherwise be able to do like improving usability, growing project communities, and speeding up the time to major releases. Below you can view a list of work that has been funded under the program.
Interested in supporting Small Development Grants?
Small Development Grants Committee
The Small Development Grants Committee is a volunteer committee established by the NumFOCUS Board of Directors to help facilitate the Small Development Grants program. You can read more about the committee’s role and responsibilities in the charter.
The Members of the 2021 Committee:
Bryan Weber, Co-chair
David Pérez-Suárez, Co-chair
How to Join
If you are interested in serving on the committee you should subscribe to the NumFOCUS newsletter. Requests for applications are sent out each January via the newsletter.
2021 Funding Rounds
The total budget for 2021 is $170,00.00- $53,000.00 per round with $11,000.00 reserved for off-cycle grants.
2021 Funding Rounds
- Call for Proposals Announcement: February 5, 2021
- Proposal Submission Deadline: March 5, 2021
- Committee Selection Deadline: March 19, 2021
- Notification to Applicants Deadline: April 15, 2021
- Call for Proposals Announcement: May 7, 2021
- Proposal Submission Deadline: June 4, 2021
- Committee Selection Deadline: June 18, 2021
- Notification to Applicants Deadline: July 15, 2021
- Call for Proposals Announcement: August 6, 2021
- Proposal Submission Deadline: September 3, 2021
- Committee Selection Deadline: September 17, 2021
- Notification to Applicants Deadline: October 15, 2021
Any NumFOCUS Fiscally Sponsored or Affiliated project is eligible to submit 1 proposal per grant cycle. Each project may receive a maximum of 2 grants per calendar year.
If a project would like to solicit proposals from its internal community, leaders must organize their own review process to select the proposal submitted on behalf of the project. Proposals may be submitted by residents of any country and work can be performed at any university, institution, or company worldwide (U.S. export laws and sanctions permitting).
Projects will be notified via the NumFOCUS internal project mailing lists that the call for proposals has opened. Applicants will be notified of proposal acceptance or rejection via the email address provided on the application on or before the notification deadline.
Usage of Funds
Grant funds can be used for:
- Code development
- Website updates
- Workshops and sprints
- Educational, sustainability, and diversity initiatives
- Any work that directly benefits the project and/or its community
Proposed work must be achievable within one year.
Available program funding is determined and approved annually by the NumFOCUS Board of Directors. A portion of the total funding may be allocated for Off-cycle Grants with the remainder divided equally between the three grant cycles. Up to $5,000 can be awarded for each proposal.
Objectives and Deliverables
Each proposal should include clear and concise objectives and deliverables. Whenever possible specific timelines should be included. The impact of the proposed work on the project and/or overall scientific computing community should be clearly illustrated.
Each proposal must include a detailed budget justification stating how grant funding will be allocated. As applicable, the following should be included:
- Hourly rates and number of work hours for contractors
- Equipment and/or supply costs if applicable
- Cost of any services
- Travel costs
Suggested guidelines for word count can be found in the proposal application. Enough detail should be provided to give reviewers a clear understanding of the proposal’s objective but should not be so lengthy that it puts an undue burden on the evaluation process.
Proposal Evaluation Guidelines
Proposals will be evaluated and ranked from most impactful to least impactful. If possible, the maximum allocation of funding for each round will be awarded.
- Preference should be given to projects that did not receive funding in previous rounds.
- Preference should be given to proposals that have broader effects i.e. benefit the scientific computing community as a whole.
- It is assumed that whoever submitted the proposal was approved by the project leadership. NumFOCUS does not require letters of support or other such documentation.
- Projects may resubmit the same proposal if it was not funded or was partially funded in a previous round and resubmissions are given preference.
Funding will be dispersed by the finance team directly following the notification to applicants according to established financial procedures and guidelines:
- All projects approved for funding must submit a request through the Small Development Grants Payment Form in order to receive the funds.
- For fiscally sponsored projects only, NumFOCUS will deposit the grant funding directly into the project’s account. The project will then submit invoices through the normal channels (i.e. Rocket) to pay for grant expenses.
- NumFOCUS will set up any applicable independent contractor agreements with the individual or company performing the work.
- NumFOCUS will award the money as a grant or subcontract to a student or postdoc at a university as required (depending on the rules of the university).
- NumFOCUS will directly pay for expenses associated with the grant as required (e.g. booking flights on behalf of project leaders to attend a workshop, per diems for travel days)
Projects to whom grants have been awarded will be required to submit a report to NumFOCUS describing the work that was performed under the grant and detailing any grant deliverables and outcomes. Reports will be due no later than three months after the close of the one-year period following the award of funds. Reports must be submitted on the Small Development Grants Report Back Form.
Off-cycle Grants may be awarded to projects outside the established grant cycles if:
- There is a time-sensitive aspect to the proposal which precludes it from being submitted and/or awarded during one of the established grant cycles
- The project has not already received the maximum amount of grant funding allowed per project within the calendar year
Off-cycle proposals are evaluated and awarded by the NumFOCUS Board of Directors.
Previously Funded Programs
|FEniCS||Travel grants to FEniCS Conference 2017 to encourage the transition from user to regular contributor||$2,400||2017||1|
|PyTables||h5py backend for PyTables||$3,000||2017||1|
|SymPy||SymPy 1.1 Release Support||$3,000||2017||1|
|Orange||Text Analytics Introductory Course for Social Scientists||$1,750||2017||1|
|MDAnalysis||Widening platform availability for MDAnalysis: Full Python 3 Support||$1,500||2017||1|
|AMS Organization||AMS Short Course on Open Source Radar Software||$1,000||2017||1|
|Shogun||Fully integrate new parameter framework, unify API/interfaces, and release Shogun 7.0.||$1,500||2018||1|
|Orange Data Mining||Girls go Data Mining||$3,000||2018||1|
|SunPy||Improving the Usability of SunPy’s Data Downloader||$3,000||2018||1|
|Gensim||Modern user-friendly documentation||$3,000||2018||1|
|Cantera||Modernize, Reorganize, and Update Cantera’s Documentation||$3,000||2018||1|
|Spyder||Spyder 4: Making the Scientific Python Development Environment even better||$3,000||2018||1|
|Julia||(Sheehan Olver) BlockBandedMatrices.jl: add support for general array backends (GPU)||$3,000||2018||2|
|Bokeh||Bokeh Docs Modernization||$3,000||2018||2|
|Pomegranate||Improving Documentation, Examples, and Tutorials||$3,000||2018||2|
|SciPy||Maturing a sparse array implementation for SciPy||$3,000||2018||2|
|MDAnalysis||MDAnalysis tutorial and hackathon||$2,500||2018||2|
|Statsmodels||Probability Plots and Generalized Additive Models (finish stalled pull requests)||$3,000||2018||2|
|Shogun||Shogun website and UX redesign||$2,500||2018||2|
|pomegranate||Adding compatibility with user-defined Python models||$3,000||2018||3|
|SciPy||An Efficient, High-Level Implementation of Linear Programming||$2,000||2018||3|
|PyTables||Better support for native HDF5 files||$3,000||2018||3|
|conda-forge||conda-forge sprint at SciPy 2019||$3,000||2018||3|
|SymPy||MatchPy C++ code generator for SymPy/symengine.||$3,000||2018||3|
|Julia||Multi-Dimensional Bisection Method for finding the roots of non-linear implicit equation systems||$3,000||2018||3|
|Open Journals||Open Journals website update||$2,800||2018||3|
|Cantera||The 3rd Annual Kinetics Code Conference: Charting near- and long-term directions for Cantera software development||$3,000||2018||3|
|ArviZ||Create educational material and give workshops related to exploratory analysis of Bayesian models with ArviZ||$2,500||2019||1|
|pandas||Improving and modernizing the introductory “Getting Started” pages of the pandas documentation||$5,000||2019||1|
|Julia||JuliaImages developer meeting||$4,000||2019||1|
|Gensim||Organize Gensim Documentation & Improve Discovery||$5,000||2019||1|
|SciPy||SciPy Development Documentation Overhaul||$4,274||2019||1|
|Cantera||The 4th Annual Kinetics Code Conference||$4,000||2019||1|
|Cantera||Cantera Packaging and CI Infrastructure Upgrades||$2,500||2019||2|
|SciPy||Complete the SciPy special functions documentation||$2,500||2019||2|
|Spyder||Creating the ultimate terminal experience in Spyder with Spyder-terminal||$4,800||2019||2|
|Astropy||Developing Spectroscopic Reduction Tools||$5,000||2019||2|
|Blosc||Document Blosc2 frame format and freeze API||$5,000||2019||2|
|SymPy||Expanding ODE Module||$3,000||2019||2|
|Bokeh||Websocket Optimization for Tornado (for Bokeh)||$2,500||2019||2|
|Spyder||Content and design improvements to the Spyder documentation||$1,820||2019||3|
|rOpenSci||Create an open online rOpenSci Community Contributing Guide||$3,000||2019||3|
|pandas||Encourage contributors from minority groups to lead efforts in improving pandas documentation||$3,000||2019||3|
|SciPy||Enhanced LAPACK Support in SciPy||$4,978||2019||3|
|MathJax||Improved Dyslexia Support via Fine Grained Synchronized Highlighting||$4,688||2019||3|
|conda-forge||Unified Recipe Regenerator||$3,750||2019||3|
|Shogun||Shogun Developer Meeting, Berlin||$4,000||2019||Off-cycle|
|MDAnalysis||Periodic boundary handling and on the fly transformations||$5,000||2020||1|
|PALISADE||Student Project Integration In Support of PALISADE||$5,000||2020||1|
|Effective Quadratures||Web presence funding||$800||2020||1|
|Julia||Improving documentation generation for Julia and its packages||$5,000||2020||1|
|GeoPandas||Building a better base for the geospatial Python stack: vectorized geometric operations & Shapely 2.0||$5,000||2020||1|
|pandas||Improved Performance Benchmarking for pandas||$5,000||2020||1|
|nteract||Improving accessibility and usability for nteract desktop app||$5,000||2020||1|
|PyMC3||Improving and expanding the implementation of Approximate Bayesian Computation||$5,000||2020||1|
|Shogun||Hyperparameter tuning with Shogun||$4,200||2020||1|
|Open Journals||Docker images for the Open Journals processing pipeline||$4,000||2020||1|
|ArviZ||Extend InferenceData capabilities||$1,000||2020||1|
|Julia||Distributed scheduling with MLJ||$5,000||2020||2|
|SciPy||Improving boundary handling and data type support in scipy.ndimage||$5,000||2020||2|
|Orange||Text Add-on Video Tutorials||$4,000||2020||2|
|Solcore||Improve the sustainability and modularity of Solcore||$5,000||2020||2|
|mlpack||mlpack – Interactive Machine Learning Notebooks And Documentation||$5,000||2020||2|
|GeoPandas||Improvement and modernization of GeoPandas documentation||$5,000||2020||2|
|rOpenSci||Making rOpenSci Community Engagement More Sustainable||$5,000||2020||2|
|SymPy||Upgrading SymPy Gamma’s infrastructure to support Python 3 and latest SymPy||$3,000||2020||2|
|Shogun||Improving Shogun’s build script generator||$5,000||2020||2|
|TARDIS||TARDIS Continuous Integration reference data improvements||$2,000||2020||3|
|QuantEcon||Theme improvements for Jupyter Book||$4,975||2020||3|
|SunPy||Adding first class support to SunPy for co-aligning images||$5,000||2020||3|
|nteract||Funding for improving nteract documentation||$5,000||2020||3|
|conda-forge||Add messaging functionality to conda and conda-build||$5,000||2020||3|
|ITK||ITK Python Documentation Expansion||$3,500||2020||3|
|poliastro||New validation framework for poliastro||$3,000||2020||3|
|Cython||Advancing the state of Cython 3.0||$5,000||2020||3|
|rOpenSci||Building Engagement through a new Community Call – Virtual Hackathon Model||$5,000||2020||3|
|PyTorch-Ignite||Visibility and communications improvements||$5,000||2020||3|
|Gensim||Modernize Gensim Website||$3,500||2020||Off-cycle|
|mlpack||mlpack for the Internet of Things and embedded devices||$5,000||2020||Off-cycle|
|Matplotlib||Hosted mac-mini for testing OSX-specific bugs||$3,000||2020||Off-cycle|
|FEniCS||Travel grants to support researchers and contributors to attend FEniCS Conference 2020||$2,400||2020||Off-cycle|
|Cantera||Developing accessible training modules for new and intermediate Canter users||$2,231||2021||1|
|GeomScale||A set of Jupyter notebooks for metabolic network analysis||$5,000||2021||1|
|conda-forge||Updating conda-forge compiler infrastructure||$5,000||2021||1|
|MathJax||Converting MathJax's speech solution to Typescript||$4,400||2021||1|
|SciPy||Add PROPACK Sparse SVD to SciPy||$3,550||2021||1|
|TARDIS||Interactive documentation for TARDIS||$2,500||2021||1|
|Blosc||A new plugin system for Blosc2||$5,000||2021||1|
|Orange||Data Science Textbook||$3,000||2021||1|
|Taskflow||Taskflow-San: Sanitizing Erroneous Control Flow in Taskflow Graphs||$5,000||2021||1|
|TARDIS||Atomic data infrastructure for TARDIS||$5,000||2021||2|
|rOpenSci||Sustained Community Engagement and Automated Metrics for Community Health Analytics||$5,000||2021||2|
|GeoPandas||Scaling GeoPandas with Dask: improved IO for supporting large geospatial data||$5,000||2021||2|
|LFortran||Improving LFortran to compile stdlib and fpm||$2,400||2021||2|
|GeomScale||Add parallel implementations in volesti using several C++ methods for parallelism||$5,000||2021||2|
|PyTorch-Ignite||Library improvements and Semi-Supervised Learning toolkit development.||$5,000||2021||2|
|Taskflow||Standard GPU Algorithms with Task Graph Parallelism||$5,000||2021||2|
Pandas, Matplotlib, Bokeh, Project Jupyter, NetworkX, scikit-image
|Streamlining, modernizing, and improving accessibility for the PyData Sphinx Theme.||$25,000||2021||2|
|PyMC3||Fine tuning the Bayesian Additive Regression Trees implementation in PyMC3||$5,000||2021||2|
|SciML||Add Scientific Machine Learning-Based Image Processing Tools and Tutorials to the SciML Organization in Julia||$4,250||2021||2|
|SymPy||Improving SymPy plotting capabilities||$5,000||2021||2|
I use the tools supported by NumFOCUS almost exclusively, and it is difficult to imagine that something this meaningful can be both free and open!