Skip to main content

Interlude for Doctests provides an Interactive Console.

Project description

Interlude - Interactive Doctests

Provides an interactive shell aka console inside your doctest case.

The console looks exact like in a doctest-case and you can copy and paste code from the shell into your doctest. It feels as you are in the test case itself. Its not pdb, it’s a python shell.

In your doctest you can invoke the shell at any point by calling:

>>> interact(locals())

To make your testrunner interlude aware, pass interact as a global to the DocFileSuite as shown here:

...
import interlude
...
suite = DocFileSuite( ..., globs=dict(interact=interlude.interact), ...)
...

If IPython is available it opens an IPython prompt. The prompt is modified and looks like in a doctest. To surpress the prompt modifications call interact with additional kwarg doctest_prompt=False.

License

interlude is copyright 2006-2014 by BlueDynamics Alliance, Klein & Partner KG, Austria. It is under the GNU Lesser General Public License (LGPLv3).

Changes

1.3.1

  • refactoring introduced bug: classic prompt use_ipython=False fails if IPython available [jensens, 2014-02-09]

1.3

  • needs IPython 1.1.0 or better. Skipped support for older versions. [jensens, 2014-02-09]

  • added extra require, so when ipython is wanted just depend in buildout, pip-requirements, setup, (name it) on``interlude[ipython]`` [jensens, 2014-02-09]

  • start IPython shell with a custom doctest prompt, thus it is easier to copy-paste from the shell to the doctest (save a typing a %doctest_mode each time. Added also option doctest_prompt=False to disable this. [jensens, 2014-02-09]

1.2

  • make the ipython support work with newer ipython versions. [sunew]

1.1.1

  • fix broken release, include *.rst with MANIFEST.in

1.1

  • IPython support - alanjds, 2010-12-19

1.0

  • initial release

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page