NumPy — State of the project & Roadmap
Ralf Gommers
Scope & Vision
The key thing NumPy offers is:
an array object (N-dimensional, in-memory, on CPUs)
and array computing APIs
NumPy lives at the heart of the numerical Python
ecosystem. We want to:
evolve while remaining a stable base
address bottlenecks that limit how the

ecosystem can grow
State of the Project
• ~10 active maintainers (but bus factor ~2-3)
• Since Q1-Q2 2018: 2 funded developers
• Positive trend in activity:
• Lots of ideas …



… and challenges
State of the Project
Have in place now:
• governance structure
• technical roadmap
• code of conduct
• semi-regular sprints & in-person meetings
Key tech goal: improved interoperability
Make code written for the NumPy API work with:
distributed arrays (e.g. Dask)

sparse arrays (pydata/sparse)

GPU arrays (e.g. CuPy)

…
without changing that code.
How: protocols (__array_ufunc__, __array_function__).
Implementation under way
Key tech goal: improved interoperability
Current state of N-dimensional arrays in Python
Key tech goal: improved interoperability
What we aim for
Key tech goal: easier custom dtypes
Enable library authors and advanced users to create arrays
with:
categoricals

variable-length strings

units

auto-diff functionality

…
In planning stage
Sample of other important tech goals
• New random number generation framework
• New indexing methods (vindex/oindex)
• Backends for fft & linalg
• Full rewrite of numpy.fft
In planning stage
API discussion ongoing
In progress
Close to done
Sustainability goal: grow maintainers & leadership
Do whatever we can to make NumPy more sustainable as a
project. E.g.:
• Improve Continuous Integration
• Make code base more approachable (docs, refactoring)
• Pathways beyond volunteer effort
Outward focus
Redesign numpy.org — address various audiences:
end users (beginner & advanced)

library developers

packagers

educators

potential contributors

…

Dialogue with key stakeholders — your pain points,
needs and desires & how to best reach us.

NumPy Roadmap presentation at NumFOCUS Forum

  • 1.
    NumPy — Stateof the project & Roadmap Ralf Gommers
  • 2.
    Scope & Vision Thekey thing NumPy offers is: an array object (N-dimensional, in-memory, on CPUs) and array computing APIs NumPy lives at the heart of the numerical Python ecosystem. We want to: evolve while remaining a stable base address bottlenecks that limit how the
 ecosystem can grow
  • 3.
    State of theProject • ~10 active maintainers (but bus factor ~2-3) • Since Q1-Q2 2018: 2 funded developers • Positive trend in activity: • Lots of ideas …
 
 … and challenges
  • 4.
    State of theProject Have in place now: • governance structure • technical roadmap • code of conduct • semi-regular sprints & in-person meetings
  • 5.
    Key tech goal:improved interoperability Make code written for the NumPy API work with: distributed arrays (e.g. Dask)
 sparse arrays (pydata/sparse)
 GPU arrays (e.g. CuPy)
 … without changing that code. How: protocols (__array_ufunc__, __array_function__). Implementation under way
  • 6.
    Key tech goal:improved interoperability Current state of N-dimensional arrays in Python
  • 7.
    Key tech goal:improved interoperability What we aim for
  • 8.
    Key tech goal:easier custom dtypes Enable library authors and advanced users to create arrays with: categoricals
 variable-length strings
 units
 auto-diff functionality
 … In planning stage
  • 9.
    Sample of otherimportant tech goals • New random number generation framework • New indexing methods (vindex/oindex) • Backends for fft & linalg • Full rewrite of numpy.fft In planning stage API discussion ongoing In progress Close to done
  • 10.
    Sustainability goal: growmaintainers & leadership Do whatever we can to make NumPy more sustainable as a project. E.g.: • Improve Continuous Integration • Make code base more approachable (docs, refactoring) • Pathways beyond volunteer effort
  • 11.
    Outward focus Redesign numpy.org— address various audiences: end users (beginner & advanced)
 library developers
 packagers
 educators
 potential contributors
 …
 Dialogue with key stakeholders — your pain points, needs and desires & how to best reach us.