Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scipy/scipy-cookbook

Scipy Cookbook
https://github.com/scipy/scipy-cookbook

examples ipython-notebook jupyter-notebook notebook python scientific scipy-stack

Last synced: about 1 month ago
JSON representation

Scipy Cookbook

Awesome Lists containing this project

README

        

Scipy Cookbook
==============

This is a conversion and second life of SciPy Cookbook (previously at
http://wiki.scipy.org/Cookbook/); as a bunch of Ipython notebooks.

It can be found live at http://scipy-cookbook.readthedocs.org/

Contributing
============

**Add new notebooks or fix old ones by sending pull requests**

Alternatively open an issue and attach (drag-and-drop) a fixed notebook file.

* The ``ipython/`` directory contains IPython notebooks.
* Each notebook should start with a title (Markdown ``# Some title``).
* Notebooks can be categorized by adding Markdown text ``TAGS: Name of section`` (on a single line).
Try to stick with existing sections, if reasonable.
* Notebooks can include author name, by adding Markdown text ``AUTHORS: Some Name; Another Name``
(on a single line).

Run ``python build.py --html`` to generate HTML output to ``_build/html``.

The conversion of the wiki content was originally done by Matti Pastell:
https://github.com/mpastell/SciPy-CookBook

Janitorial tasks
================

Much of the old wiki content is outdated, so if someone has huge amounts
of extra time on their hands, going through them could be useful.

Before starting, check out the list of pull requests and issues here to avoid
doing duplicate work. You can see which files have been already modified by
looking at here: https://github.com/scipy/scipy-cookbook/tree/master/ipython. It's
also worth checking https://github.com/scipy/scipy-cookbook/network to see if
there are any in-progress branches uploaded to Github which haven't yet been
merged.

Your help is both needed and appreciated. The quick way to get started is to
fork this repo, and then do

git clone [email protected]:YOURUSERNAME/SciPy-CookBook.git
cd SciPy-CookBook
git remote add upstream https://github.com/scipy/scipy-cookbook.git
cd ipython

and then switch to a new branch

git checkout -b edit-xxx
git fetch upstream
git reset --hard upstream/master

after which

ipython notebook
# edit notebook XXX in ipython web notebook and save
git commit -m "Fix up notebook XXX" -a
git push origin edit-xxx

and then browse to your github repo page and send the fixed version as a pull
request.

If you however cannot be arsed to use git, just upload the file somewhere (e.g.
gist.github.com) and file [a new
issue](https://github.com/scipy/scipy-cookbook/issues) and tell which file you
changed and include a link to the uploaded file. Thanks!

What to fix
-----------

The Ipython notebook conversion is not fully flawless, and cannot be fully
automated. What needs to be done is:

- Ensure the code examples are runnable.

- Ensure the image links are correct (look for malformatted \[...\]\(...\) in
the markdown text blocks --- the conversion didn't always treat these
correctly).

Local files and images should be linked to via standard Markdown syntax
`[link text](files/attachments/NotebookName/filename)` and
`![](files/attachments/NotebookName/image.png)`

- Ensure each notebook begins with a top-level heading with a title for the
snippet. Avoid using other top-level headings in the rest of the notebooks.
(This should be the case currently.)

- Replace image attachments with the images generated by the plotting commands
in the examples themselves, where appropriate.

- Remove unnecessary file attachments, where appropriate (remember that the
ipython notebooks can be converted to scripts easily, and the purpose is more
to distribute code snippets rather than full modules).

- Remove obviously useless (e.g. empty) files.

- Obviously outdated content should get a short notice on top, with a date
of the last update on http://wiki.scipy.org/

Also add ``TAGS: Outdated`` so that it goes to the outdated section.

- If some entry is too incomplete to fix (e.g. math formulas), look at the
source version at http://wiki.scipy.org/Cookbook/

- Compare against the original wiki version under `original/`. Check if a part of the
text at the end is missing.

- And other things. Note, however, that the point is more to fix surface issues
than to try to rewrite things in a better way.