Contribute to NumPy

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 [email protected] or on Slack (write [email protected] 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#

For many years, NumPy was maintained by dedicated volunteers, but as its importance grew it became clear that to ensure stability and growth we would need financial support. This SciPy'19 talk explains how much difference that support has made. Like most nonprofits, we are constantly seeking grants, sponsorships, and other kinds of funding. We have a number of ideas and of course we welcome more. Fundraising is a scarce skill here – we’d appreciate your help.

If you’d like to contribute to NumPy by making a donation, visit https://numpy.org/about/#donate.

On this page