py-gfm
An implementation of Github-Flavored Markdown written as an extension to the Python Markdown library.
What it is and what it does
py-gfm is a Python extension to the Markdown library that attempts to render GitHub-Flavored Markdown (GFM) to HTML. It implements common GFM features like fenced code blocks, tables, task lists, strikethrough, and hyperlink parsing across multiple protocols. The package is a pure Python implementation and therefore cannot achieve 100% byte-for-byte compatibility with GitHub's own rendering engine.
The maintainer has publicly stated that this library will not receive bug fixes and may become read-only. Known consistency issues exist between py-gfm's output and GitHub's rendering. The description explicitly recommends considering alternatives due to maintenance constraints.
Use it for:
- Convert GitHub-Flavored Markdown documents to HTML for display in web applications or static site generators.
- Parse and render task lists (TODO lists) embedded in Markdown content.
- Process Markdown with tables and strikethrough formatting in legacy projects.
- Extend existing Python Markdown workflows with GFM support when full GitHub compatibility is not required.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts GitHub-Flavored Markdown to HTML using Python's Markdown library as an extension, supporting tables, task lists, strikethrough, and fenced code blocks.
No. The package is abandoned and the maintainer explicitly states it will not receive bug fixes. Known consistency issues exist with GitHub's rendering. Only install py-gfm if you are maintaining legacy code that already depends on it and cannot migrate to an actively maintained alternative.
Install
py-gfm on PyPI
pip
pip install py-gfmuv
uv add py-gfmpoetry
poetry add py-gfmInstalling py-gfm
Before you install
Low install friction with a single dependency on markdown. However, the package is abandoned as of 2022-11-18 with no further bug fixes planned. The maintainer has explicitly stated the library will not receive bug fixes and may become read-only.
License in practice
Licensed under a permissive BSD-style license, so commercial and private use are unrestricted.
Quickstart
pip install py-gfm
import markdown
from py_gfm import GithubFlavoredMarkdownExtension
md = markdown.Markdown(extensions=[GithubFlavoredMarkdownExtension()])
html = md.convert('# Hello\n\n| col1 | col2 |\n|------|------|\n| a | b |')
Requires Python 3.8 or later.
Verify before relying
- Whether the known consistency issues with GitHub-Flavored Markdown rendering are acceptable for your specific use case.
- Whether Pygments is required or optional for code highlighting in code blocks.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — markdown |
| Maintenance | abandoned — 1,365 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 76,331/month — #14,634 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: py_gfm-2.0.0-py2.py3-none-any.whl
Tags
More Markup packages
PyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
markdown-it-pyA Python markdown parser that converts markdown…
permissive · top 100 on PyPI
beautifulsoup4Beautiful Soup parses HTML and XML documents…
permissive · top 100 on PyPI
et-xmlfileet_xmlfile writes large XML files with minimal…
permissive · top 1,000 on PyPI
tomlkitParses and edits TOML files while preserving…
permissive · top 1,000 on PyPI
docstring-parserParses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
gh-md-to-htmlConverts GitHub-flavored Markdown to HTML with…
unclear · top 15,000 on PyPI
multimarkConverts Markdown to HTML, LaTeX, groff man,…
permissive · top 15,000 on PyPI
mdformat-gfmMdformat-gfm extends mdformat to format GitHub…
permissive · top 5,000 on PyPI
markdown-it-pyrsA Rust-backed Python Markdown parser that…
permissive · top 15,000 on PyPI
cmarkgfmConverts CommonMark and GitHub-flavored…
permissive · top 15,000 on PyPI
markdown-to-mrkdwnConverts standard Markdown to Slack's mrkdwn…
permissive · top 5,000 on PyPI
mdformat-gfm-alertsA plugin for mdformat that formats GitHub…
permissive · top 15,000 on PyPI
comrakRenders CommonMark and GitHub Flavored Markdown…
permissive · top 15,000 on PyPI
SnakeMDSnakeMD generates Markdown files…
permissive · top 15,000 on PyPI
MarkdownConverts Markdown text to HTML using a Python…
permissive · top 1,000 on PyPI