This set of tutorials and educational materials is being developed, IT IS NOT YET INTEGRATED IN THE HTML DOCS AT https://www.numpy.org/devdocs/
The goal of this repository is to provide high-quality resources by the NumPy project, both for self-learning and for teaching classes with.
We very much welcome contributions! If you have an idea or proposal for a new tutorial, please open an issue with an outline.
The choice of Jupyter Notebook in this repo instead of the usual format (reStructuredText, through Sphinx) used in the main NumPy documentation has two reasons:
- Jupyter notebooks are a common format for communicating scientific information.
- rST may present a barrier for some people who might otherwise be very interested in contributing tutorial material.
Sphinx is configured with the appropriate extensions to execute the notebooks and generated webpages from them. To accomplish this from a fresh repo:
-
Install the dependencies: from a terminal, run
pip install -r requirements.txt
To execute the notebooks, you'll also need to install the dependencies for the tutorial(s) themselves:
pip install -r content/requirements.txt
-
Build and view: from your terminal, run
make html && <your_browser> _build/html/index.html
If you have your own tutorial in the form of a Jupyter notebook and you'd like to try it out on the site:
- Add your notebook to the
content/
directory - Update
content/requirements.txt
with the dependencies for your tutorial - Update the
toctree
inindex.rst
to include your new entry - Update the attribution section (below) to credit the original tutorial author.
- The [cs231n][cs231] tutorial is by @jcjohnson. The full tutorial in its original form is linked via [numpy.org][learn].
- The SVD tutorial is by @melissawm. The full tutorial is available via the tutorials page of the official NumPy documentation.
The following may be useful:
- NumPy documentation team meetings
- NEP 44 - Restructuring the NumPy documentation
- Blog post - Documentation as a way to build Community
- Note that regular documentation issues for NumPy can be found in the
main NumPy repository (see the
Documentation
labels (2x) there)