Skip to main content

Run doctests in individual IPython Notebook cells

Project description

Lets you run the doctests of a single class or function at a time. Useful for tutorials based on the IPython Notebook, using doctests for student feeback.

Install with pip install ipython_doctester, or navigate to this directory and run:

python setup.py install

Use

Run ipython notebook, then start your notebook with this import:

In [1]: from ipython_doctester import test

In each subsequent cell, set up objects with their doctests, and with absent (or flawed) function bodies, and decorate them with @test:

In [2]: @test
        def square(x):
            '''
            >>> f(2)
            4
            '''

Tests will run on each cell as it is executed.

If you want to track students’ progress through a notebook in a classroom setting, you can; see http://ipython-docent.appspot.com/ for instructions.

If no doctests are found in the function’s docstring, the program will look for a file ./docstrings/<function name>.txt, append that to the function’s docstring, and check for doctests again. This can be used to keep the presence of the docstrings from confusing students.

Thanks to

Brian Granger for technical advice

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ipython_doctester, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size ipython_doctester-0.3.0.tar.gz (3.9 kB) File type Source Python version None Upload date Hashes View
Filename, size ipython_doctester-0.3.0-py2.7.egg (7.9 kB) File type Egg Python version 2.7 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page