This repository contains the recipes of the IPython Cookbook, the definitive guide to high-performance scientific computing and data science in Python, by Dr. Cyrille Rossant, Packt Publishing, 400 pages, 2014. The book will be released later this summer.
This is work in progress: stay tuned for the next updates!
- Featured Recipe #1: Getting the Best Performance out of NumPy
- Featured Recipe #2: Simulating a Physical System by Minimizing an Energy
- Featured Recipe #3: Creating a route planner for road network
- More featured recipes coming soon!
You can report inaccuracies or errors in the GitHub issue tracker. Even better, propose your own corrections by submitting a pull request!
- Erratum #1 in Featured Recipe 1: Correction about strides and copying, by Chris Beaumont.
- Erratum #2 in Featured Recipe 1: Precision on explanation of shared memory, by Michael Droettboom.
- Erratum #3 in recipe 4.9: Added file mode in
memmap
, by Renaud Blanch.
You will find the data used in the recipes here.
The structure of the repo is the following:
notebooks/ all notebooks with the code of all examples
chapter01_tour/
chapter02_best_practices/
...
extra/ extra code example that didn't make it in the book
guests/ guest recipes
featured/ a selection of complete recipes with all text, figures and code
references/ a curated list of references about scientific Python programming
tools/ various building Python scripts
You need Python 3 (or 2) and a bunch of scientific modules for the code examples, mainly IPython 2.0+, NumPy, SciPy, Pandas, and matplotlib. Many recipes that require other modules come with the appropriate installation instructions.
We highly recommend that you use an all-in-one Python distribution like Anaconda. This distribution comes with an excellent package manager named conda. It lets you install easily many modules on most platforms (Windows, Linux, Mac OS X), in 64-bit (recommended if you have a 64-bit OS) or 32-bit.
The recipes are written for Python 3 first, but they also work with Python 2. Please favor Python 3 over Python 2 if you can.
You need git, a distributed versioning system, to download a local copy of this repository. Open a terminal and type:
git clone https://github.com/ipython-books/cookbook-code.git
This will copy the repository in a local folder named cookbook-code
.
Launch the IPython notebook server with:
ipython notebook
In your browser, go to 127.0.0.1:8888
. You can navigate in the repository and open the notebooks.
You are welcome to contribute to this repository. You can use the issue tracker to report any problem. You can also propose a pull request (PR) to fix an error, to add some information, or even propose a brand new recipe in the guests/
folder!