py-gfm
An implementation of Github-Flavored Markdown written as an extension to the Python Markdown library.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- 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.
License · maintenance · safety
permissive license (permissive) — Licensed under a permissive BSD-style license, so commercial and private use are unrestricted.
last release 2022-11-18 (1365 days) · last repo commit 2022-11-18 · 70 stars · archived
0 known vulnerabilities (OSV.dev, 2026-08-14) · 76,331 downloads/mo, #14,634 on PyPI
Alternatives
Verify before relying
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 |')- 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.
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 on it.
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
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.
Requires Python 3.8 or later.
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 |')
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 | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagemarkdown |
| 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 |
| Classifiers | 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 |
Evidence: py_gfm-2.0.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “markdown tables and task lists”
- py-gfmConverts GitHub-Flavored Markdown to HTML using Python's Markdown…
- mdformat-gfmMdformat-gfm extends mdformat to format GitHub Flavored Markdown,…
- tree-sitter-markdownProvides a tree-sitter grammar for parsing Markdown documents,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also gh-md-to-html · multimark · mdformat-gfm · markdown-it-pyrs · cmarkgfm · markdown-to-mrkdwn · mdformat-gfm-alerts · comrak · SnakeMD · Markdown