Skip to main content

Lints Python code blocks in Markdown files using flake8

Project description

Flake8 Markdown


Flake8 Markdown lints GitHub-style Python code blocks in Markdown files using flake8.

This package helps improve a Python project's documentation by ensuring that code samples are error-free.


  • Lints code blocks containing regular Python and Python interpreter code (pycon)
  • pre-commit hook to lint on commit


Flake8 Markdown can be installed from PyPI using pip or your package manager of choice:

pip install flake8-markdown



You can use Flake8 Markdown as a CLI tool using the flake8-markdown command.

flake8-markdown accepts one or more globs as its arguments.


$ flake8-markdown "tests/samples/*.md"
tests/samples/ F821 undefined name 'emphasized_imaginary_function'
tests/samples/ E999 SyntaxError: EOL while scanning string literal
tests/samples/ F821 undefined name 'undefined_variable'

pre-commit hook

You can also add flake8-markdown to your project using pre-commit. When configured, any staged Markdown files will be linted using flake8-markdown once you run git commit.

To enable this hook in your local repository, add the following repo to your .pre-commit-config.yaml file:

# .pre-commit-config.yaml
  - repo:
    rev: v0.2.0
      - id: flake8-markdown

Code of Conduct

Everyone interacting in the project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.


[0.2.0] - 2019-06-14


  • pycon code block support

[0.1.1] - 2019-05-19


  • Fixed pre-commit example in README

[0.1.0] - 2019-05-19


  • Added code for initial release

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 flake8-markdown, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size flake8_markdown-0.3.0-py3-none-any.whl (6.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size flake8-markdown-0.3.0.tar.gz (5.1 kB) File type Source Python version None 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