Skip to main content

An implementation of Github-Flavored Markdown written as an extension to the Python Markdown library.

Project description

PLEASE READ BEFORE USING: This repository will not receive bug fixes, and might become read-only soon.

Rationale: this library has well-known consistency issues with GitHub-Flavored Markdown rendering. Fixing them would require time investment the maintainer cannot provide. The maintainer is also fatigued by Markdown’s library constantly breaking their internal API with each minor release.

Consider instead using pycmarkgfm (PyPi), a lightweight Python 3.5+ wrapper for GitHub’s own implementation of GFM from the same author, which is faster, virtually byte-compatible with GitHub rendering, and provides a nice API for managing task lists aka. TODO lists.

Build status Coverage status Documentation Status

This is an implementation of GitHub-Flavored Markdown written as an extension to the Python Markdown library. It aims for, but does not achieve, maximal compatibility with GitHub’s rendering.

Tested Python versions are 3.5 to 3.8. Sorry, no Python 2.7 support starting with py-gfm 1.x since the Python Markdown library itself is Python 3 only.


You can browse or download the precompiled documentation on Read the Docs.

To build the Sphinx documentation from source, use:

cd doc && make html

Supported features

  • Fenced code blocks

  • Literal line breaks

  • Tables

  • Hyperlink parsing (http, https, ftp, email and www subdomains)

  • Code highlighting for code blocks if Pygments is available

  • Mixed-style lists with no separation

  • Strikethrough

  • Task lists

Unsupported features and known differences

py-gfm is a pure Python implementation based on the Python Markdown library and therefore cannot reproduce GitHub’s own implementation with 100% accuracy.

See the docs for a list of known discrepancies.


BSD-style. See LICENSE.

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

py-gfm-2.0.0.linux-x86_64.tar.gz (19.2 kB view hashes)

Uploaded source

Built Distribution

py_gfm-2.0.0-py2.py3-none-any.whl (16.2 kB view hashes)

Uploaded py2 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