summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorStefan van der Walt <stefanv@berkeley.edu>2018-07-23 16:06:30 -0700
committerStefan van der Walt <stefanv@berkeley.edu>2018-07-23 16:26:04 -0700
commit731e300af69a1ac3895d6525bd96670582017171 (patch)
tree89d55e71ce81e0791c4befed0c6f4663323a59c7 /doc
parent19522e2de5334c0060dddb5acb50905cf9804898 (diff)
downloadnumpy-731e300af69a1ac3895d6525bd96670582017171.tar.gz
Add roadmap section and subdocuments to NEPs
Diffstat (limited to 'doc')
-rw-r--r--doc/neps/grant_bids.rst7
-rw-r--r--doc/neps/index.rst.tmpl26
-rw-r--r--doc/neps/roadmap.rst5
-rw-r--r--doc/neps/scope.rst28
4 files changed, 58 insertions, 8 deletions
diff --git a/doc/neps/grant_bids.rst b/doc/neps/grant_bids.rst
new file mode 100644
index 000000000..ba69b7fa9
--- /dev/null
+++ b/doc/neps/grant_bids.rst
@@ -0,0 +1,7 @@
+===================
+NumPy Grant at BIDS
+===================
+
+Priorities / roadmap at BIDS.
+Description of how we structure our activities (cleanups,
+infrastructure, etc.)
diff --git a/doc/neps/index.rst.tmpl b/doc/neps/index.rst.tmpl
index 6cbad8eb2..8fc787305 100644
--- a/doc/neps/index.rst.tmpl
+++ b/doc/neps/index.rst.tmpl
@@ -1,12 +1,22 @@
-===========================
-NumPy Enhancement Proposals
-===========================
-
-NumPy Enhancement Proposals (NEPs) describe proposed changes to NumPy.
-NEPs are modeled on Python Enhancement Proposals (PEPs), and are typically
-written up when large changes to NumPy are proposed.
+=====================================
+Roadmap & NumPy Enhancement Proposals
+=====================================
+
+This page provides an overview of development priorities for NumPy.
+Specifically, it contains a roadmap with a higher-level overview, as
+well as NumPy Enhancement Proposals (NEPs)—suggested changes
+to the library—in various stages of discussion or completion (see `NEP
+0 <nep-0000>`__).
+
+Roadmap
+-------
+.. toctree::
+ :maxdepth: 1
-This page provides an overview of all NEPs.
+ The Scope of NumPy <scope>
+ Current roadmap <roadmap>
+ Wish list <https://github.com/numpy/numpy/issues?q=is%3Aopen+is%3Aissue+label%3A%2223+-+Wish+List%22>
+ Grant at UC Berkeley <grant_bids>
Meta-NEPs (NEPs about NEPs or Processes)
----------------------------------------
diff --git a/doc/neps/roadmap.rst b/doc/neps/roadmap.rst
new file mode 100644
index 000000000..8a2cc6e5c
--- /dev/null
+++ b/doc/neps/roadmap.rst
@@ -0,0 +1,5 @@
+=============
+NumPy roadmap
+=============
+
+Current version of roadmap goes here.
diff --git a/doc/neps/scope.rst b/doc/neps/scope.rst
new file mode 100644
index 000000000..1b7e906f6
--- /dev/null
+++ b/doc/neps/scope.rst
@@ -0,0 +1,28 @@
+==============
+Scope of NumPy
+==============
+
+Here, we describe aspects of N-d array computation that are within scope for NumPy development. This is *not* an aspirational definition of where NumPy should aim, but instead captures the status quo—areas which we have decided to continue supporting, at least for the time being.
+
+- In-memory, N-dimensional, homogeneously typed (single pointer + strided) arrays on CPUs
+ - Support for a wide range of data types
+ - Not specialized hardware such as GPUs
+ - But, do support wide range of CPUs (e.g. ARM, PowerX)
+- Higher level APIs for N-dimensional arrays
+ - NumPy is a *de facto* standard for array APIs in Python
+ - Indexing and fast iteration over elements (ufunc)
+ - Interoperability protocols with other data container implementations (like `__array_ufunc__`).
+- Python API and a C API to the ndarray's methods and attributes.
+- More specialized types of N-dimensional arrays:
+ - Masked arrays
+ - Structured arrays
+- Historically, NumPy has included the following basic functionality in support of scientific computation. We intend to keep supporting (but not to expand) what is currently included:
+ - Linear algebra
+ - Fast Fourier transforms and windowing
+ - Pseudo-random number generators
+ - Polynomial fitting
+- NumPy provides some infrastructure for other packages in the scientific Python ecosystem:
+ - numpy.distutils (build support for C++, Fortran, BLAS/LAPACK, and other relevant libraries for scientific computing
+ - f2py (generating bindings for Fortran code)
+ - testing utilities
+- Speed: while we take performance concerns seriously, where conflict arises maintenance and portability take precedence over performance. We aim to prevent regressions where possible (e.g., through asv).