Skip to main content

A pytest plugin to doctest your markdown files

Project description


PyPI version Python versions

A pytest plugin to doctest your markdown files.

Help you test your python blocks in markdown in doctest style, and make sure them behaving as you expected. This is especially helpful when dealing with markdown files containing many demo code, such as

  • A project documented in markdown files,
  • A tutorial on python written in markdown.


  • python>=3.7
  • pytest>=6


You can install "pytest-markdoctest" via pip from PyPI:

$ pip install pytest-markdoctest


To test a single markdown file:

$ pytest docs/

or test all markdown files in a directory:

$ pytest docs/

Your markdown file may contains REPL block (Read-Eval-Print-Loop).

>>> 2 + 3
>>> print("Hello World!")
Hello World!

Or script block.

import math
def square(x):
    return x*x

Variables/functions defined before are accessible in subsequent blocks.

>>> math.pow(2, 2)
>>> square(2)

Markdoctest automatically find all code blocks tagged by python, py, pycon and test them.

Directives are allowed to control testing behavior.

<!-- doctest: +SKIP -->
import math
a = 3 / 0

Advanced Usage


Distributed under the terms of the MIT license, "pytest-markdoctest" is free and open source software


This pytest plugin was generated with Cookiecutter along with @hackebrot's cookiecutter-pytest-plugin template.

Project details

Download files

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

Source Distribution

pytest-markdoctest-0.1.0.tar.gz (3.4 kB view hashes)

Uploaded source

Built Distribution

pytest_markdoctest-0.1.0-py3-none-any.whl (3.4 kB view hashes)

Uploaded py3

Supported by

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