/numba_tutorial_scipy2017

Primary LanguageJupyter NotebookOtherNOASSERTION

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.

  1. Installation
  2. Optional extras
  3. Check your installation

Installation Instructions

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.

Installing with conda

Option a) Create a new environment

Download the environment.yml file in the root of this repository, e.g.

wget https://raw.githubusercontent.com/gforsyth/numba_tutorial_scipy2017/master/environment.yml

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:

activate numbatutorial

Option b) Install the required packages

conda install jupyter ipython numpy numba line_profiler matplotlib

Optional extras

No hands-on work requires these, but if you want to play with some of the examples. If you installed using either environments.yml or requirements.txt 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

jupyter notebook

and (assuming port 8888) navigate to http://localhost:8888/nbextensions where 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 Comment/Uncomment Hotkey).

Check Installation

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

python check_install.py