skillfed

py-gfm

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

py-gfm v2.0.0 76.3K downloads/30d#14,634 on PyPI70
Permissive license Abandoned released

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-gfm

uv

uv add py-gfm

poetry

poetry add py-gfm

Installing 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

Environment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Text Processing :: Markup

Tags

github flavored markdown pythongfm to html convertermarkdown tables and task listsgithub markdown parsermarkdown extension pythonfenced code blocks markdownstrikethrough markdown
abandonedmarkdown-parser

More Markup packages