cmarkgfm
Minimal bindings to GitHub's fork of cmark
Decision gist · record as of 2026-08-14
Yes, if you need to render CommonMark or GitHub-flavored markdown to HTML in Python. The package is stable, has no known vulnerabilities, supports current Python versions, and provides prebuilt wheels for easy installation. The aging maintenance status (296 days since last release) is not a blocker for a mature, focused library; however, if you need active development or rapid bug fixes, verify the maintainer's responsiveness first.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; cffi is a runtime dependency.
- Medium install friction due to compiled wheels; however, prebuilt binaries are available for macOS, Linux, and Windows across Python 3.9–3.14, making installation straightforward on supported platforms.
- Last release was 296 days ago; the repository is active but aging.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you include the license notice.
last release 2025-10-22 (296 days) · last repo commit 2025-10-22 · 96 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 585,965 downloads/mo, #5,883 on PyPI
Alternatives
Verify before relying
pip install cmarkgfm
import cmarkgfm
html = cmarkgfm.markdown_to_html("# Hello")
# or for GitHub-flavored markdown:
html = cmarkgfm.github_flavored_markdown_to_html("# Hello")- Whether the package's aging status (296 days since last release) signals maintenance concerns or stable maturity.
- Performance characteristics when rendering large markdown documents or high-volume conversions.
What it is and what it does
cmarkgfm is a minimal Python wrapper around GitHub's fork of the cmark CommonMark parser. It exposes two main rendering functions: one for standard CommonMark markdown and another for GitHub-flavored markdown (GFM), both producing HTML output. The package depends on cffi to interface with the underlying C library.
The library supports a range of rendering options—including smart typography, footnotes, strikethrough, tables, and source position tracking—that can be combined and passed to either rendering function. By default (since version 0.5.0), rendering is safe and blocks potentially dangerous HTML and JavaScript-based URLs; earlier versions rendered unsafely by default. Wheels are provided for modern Python versions on macOS, Linux, and Windows, making installation friction low on common platforms.
Use it for
- Convert user-submitted markdown comments or documentation to HTML in web applications.
- Render GitHub-flavored markdown (tables, strikethrough, task lists) in static site generators or documentation tools.
- Parse and sanitize markdown input with configurable safety options to prevent XSS attacks.
- Build markdown preview or editing tools that need fast, standards-compliant HTML output.
- Process markdown files with GitHub-specific extensions in CI/CD pipelines or build systems.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to render CommonMark or GitHub-flavored markdown to HTML in Python.
The package is stable, has no known vulnerabilities, supports current Python versions, and provides prebuilt wheels for easy installation. The aging maintenance status (296 days since last release) is not a blocker for a mature, focused library; however, if you need active development or rapid bug fixes, verify the maintainer's responsiveness first.
Install
cmarkgfm on PyPI
Before you install
Medium install friction due to compiled wheels; however, prebuilt binaries are available for macOS, Linux, and Windows across Python 3.9–3.14, making installation straightforward on supported platforms. Last release was 296 days ago; the repository is active but aging.
Requires Python 3.9 or later; cffi is a runtime dependency.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you include the license notice.
Quickstart
pip install cmarkgfm
import cmarkgfm
html = cmarkgfm.markdown_to_html("# Hello")
# or for GitHub-flavored markdown:
html = cmarkgfm.github_flavored_markdown_to_html("# Hello")
Verify before relying
- Whether the package's aging status (296 days since last release) signals maintenance concerns or stable maturity.
- Performance characteristics when rendering large markdown documents or high-volume conversions.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagecffi |
| Maintenance | Aging 296 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 585,965 / month, #5,883 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software Development :: Build Tools |
Evidence: cmarkgfm-2025.10.22-cp310-cp310-macosx_11_0_arm64.whl; cmarkgfm-2025.10.22-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; cmarkgfm-2025.10.22-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; cmarkgfm-2025.10.22-cp310-cp310-musllinux_1_2_aarch64.whl; cmarkgfm-2025.10.22-cp310-cp310-musllinux_1_2_x86_64.whl; cmarkgfm-2025.10.22-cp310-cp310-win32.whl; cmarkgfm-2025.10.22-cp310-cp310-win_amd64.whl; cmarkgfm-2025.10.22-cp311-cp311-macosx_11_0_arm64.whl; cmarkgfm-2025.10.22-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; cmarkgfm-2025.10.22-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; cmarkgfm-2025.10.22-cp311-cp311-musllinux_1_2_aarch64.whl; cmarkgfm-2025.10.22-cp311-cp311-musllinux_1_2_x86_64.whl; cmarkgfm-2025.10.22-cp311-cp311-win32.whl; cmarkgfm-2025.10.22-cp311-cp311-win_amd64.whl; cmarkgfm-2025.10.22-cp312-cp312-macosx_11_0_arm64.whl; cmarkgfm-2025.10.22-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; cmarkgfm-2025.10.22-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; cmarkgfm-2025.10.22-cp312-cp312-musllinux_1_2_aarch64.whl; cmarkgfm-2025.10.22-cp312-cp312-musllinux_1_2_x86_64.whl; cmarkgfm-2025.10.22-cp312-cp312-win32.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 html bindings”
- cmarkgfmConverts CommonMark and GitHub-flavored markdown to HTML using Python…
- comrakRenders CommonMark and GitHub Flavored Markdown to HTML or normalized…
- multimarkConverts Markdown to HTML, LaTeX, groff man, XML, or normalized…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also multimark · comrak · commonmark · grip · py-gfm · marko · mdformat-gfm · markdown-it-py · markdown-it-pyrs · gh-md-to-html