Numba: Tell those C++ bullies to get lost
This is the repository for the Scipy 2017 tutorial. The tutorial will be presented as a set of Jupyter notebooks with exercises sprinkled throughout.
We strongly, strongly, strongly encourage you to use
conda to install
the required packages for this tutorial. There are non-Python dependencies
required that make manual installation or installing with
pip very involved.
Note also that this tutorial is written for Python 3.6. Most things will still work on Python 3.4+.
No guarantees of any kind are made that it will be compatible with Python 2.
Option a) Create a new environment
environment.yml file in the root of this repository, e.g.
and then create the environment with
conda env create -f environment.yml
This will create a conda environment named
numbatutorial with all of the required packages.
You can activate the environment with
source activate numbatutorial
or on Windows:
Option b) Install the required packages
conda install jupyter ipython numpy numba line_profiler matplotlib
No hands-on work requires these, but if you want to play with some of the
examples. If you installed using either
these are already installed.
conda install cython
pip install cython
We recommend you also install the Jupyter notebook extensions.
conda install -c conda-forge jupyter_contrib_nbextensions
Once they are installed, start a notebook server
and (assuming port 8888) navigate to
you can choose which extensions to enable. One that is helpful (for us!) when
using Numba in the notebook is the
Skip-Traceback extension. You're welcome to
enable whichever extensions you like (we're also fans of
Codefolding and the
Once you have downloaded all of the requires libraries/packages, you can run the
check_install.py script to confirm that everything is working as expected.
Either download the file directly or clone this repository and then run