The NumPy project welcomes your expertise and enthusiasm! Your choices aren’t limited to programming, as you can see below there are many areas where we need your help.
If you’re unsure where to start or how your skills fit in, reach out! You can ask on the mailing list or GitHub (open an issue or comment on a relevant issue).
Those are our preferred channels (open source is open by nature), but if you prefer to talk privately, contact our community coordinators at numpy-team@googlegroups.com or on Slack (write numpy-team@googlegroups.com for an invite).
We also have a biweekly community call, details of which are announced on the mailing list. You are very welcome to join. If you are new to contributing to open source, we also highly recommend reading this guide.
Our community aspires to treat everyone equally and to value all contributions. We have a Code of Conduct to foster an open and welcoming environment.
Writing code
Programmers, this
guide
explains how to contribute to the NumPy codebase.
Check out also our YouTube channel for additional advice.
Reviewing pull requests
The project has more than 250 open pull requests – meaning many potential improvements and many open-source contributors waiting for feedback. If you’re a developer who knows NumPy, you can help even if you’re not familiar with the codebase. You can:
- summarize a long-running discussion
- triage documentation PRs
- test proposed changes
Developing educational materials
NumPy’s User Guide is undergoing rehabilitation. We’re in need of new tutorials, how-to’s, and deep-dive explanations, and the site needs restructuring. Opportunities aren’t limited to writers. We’d also welcome worked examples, notebooks, and videos. NEP 44 — Restructuring the NumPyDocumentation lays out our ideas – and you may have others.
Issue triaging
The NumPy issue tracker has a lot of open issues. Some are no longer valid, some should be prioritized, and some would make good issues for new contributors. You can:
- check if older bugs are still present
- find duplicate issues and link related ones
- add good self-contained reproducers to issues
- label issues correctly (this requires triage rights – just ask)
Please just dive in.
Website development
We’ve just revamped our website, but we’re far from done. If you love web development, these issues list some of our unmet needs – and feel free to share your own ideas.
Graphic design
We can barely begin to list the contributions a graphic designer can make here. Our docs are parched for illustration; our growing website craves images – opportunities abound.
Translating website content
We plan multiple translations of numpy.org to make NumPy accessible to users in their native language. Volunteer translators are at the heart of this effort. See here for background; comment on this GitHub issue to sign up.
Community coordination and outreach
Through community contact we share our work more widely and learn where we’re falling short. We’re eager to get more people involved in efforts like our Twitter account, organizing NumPy code sprints, a newsletter, and perhaps a blog.
Fundraising
NumPy was all-volunteer for many years, but as its importance grew it became clear that to ensure stability and growth we’d need financial support. This SciPy'19 talk explains how much difference that support has made. Like all the nonprofit world, we’re constantly searching for grants, sponsorships, and other kinds of support. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here – we’d appreciate your help.