Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

ipython_pytest

This little IPython extension gives you the ability to run tests using Pytest in an IPython Notebook.

The motivation for the extension was to make it possible to demonstrate test-driven development using pytest in an IPython notebook driven presentation.

This extension does not attempt to enable using notebooks as test suites. The intention is also not to collect test results from multiple cells, but to do separate test runs for cells in an interactive presentation.

This extension attempts to achieve for pytest what the ipython_nose extension does for nose. Unfortunately it isn’t able to inject globals from the notebook environment into the test like the %%nose cell magic in ipython_nose. Instead, in ipython_pytest, all imports, constants and helper functions need to be contained in the test cell itself.

Installation

  • Make sure your IPython Notebook server can import ipython_pytest.py (e.g. copy it to a directory in your PYTHONPATH, or modify PYTHONPATH before starting IPython Notebook). It’s also probably sufficient to have ipython_pytest.py in the directory from which you run the notebook, e.g.:

    $ ls
    ipython_pytest.py
    $ ipython notebook
  • You can also install it in a virtualenv in developent mode:

    $ cd ipython-pytest
    $ pip install -e .

Usage

  • Add a cell containing:

    %load_ext ipython_pytest

    somewhere in your notebook.

  • Write tests that conform to Pytest conventions, e.g.:

    def test_arithmetic():
        assert 1+1 == 2
  • Add a cell consisting of:

    %%pytest
    
    def test_my_stuff():
        assert 42 == 42

    to your notebook and run that cell. That will discover your test_* functions, run them, and show console output from Pytest.

  • Pass standard Pytest arguments to the magic:

    %%pytest --tb=short

Caveats

  • None of the objects defined in other cells of the notebook are available in the test cell.

Authors

  • Antti Kaihola <antti dot kaihola at eniram dot fi>

Other similar tools

Thanks to Taavi Burns for the idea in his ipython_nose package.

Christopher Prohm has created the ipytest package for running pytest and unittest tests in IPython notebooks.

Get the code

git clone https://github.com/akaihola/ipython_pytest.git

Release files for ipython_pytest 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ipython_pytest 0.0.1
File Size Uploaded
ipython_pytest-0.0.1.tar.gz 3.5 kB Details

Release files / ipython_pytest-0.0.1.tar.gz

Download URL ipython_pytest-0.0.1.tar.gz
Size 3.5 kB
Tags Source
SHA-256 checksum
How to use checksums
986f1859f3881c7c9f3104074889fb6f6a9bbcae59c46fe1b582b73db8dc4040
BLAKE2b-256 checksum
How to use checksums
de4127fd955cca43bbbb546959b77bd5757495ffb2ca3cb08fc6b0cce6c366c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page