Skip to main content

Python bindings for MD4C

Project description

Release Status Test Status


Python bindings (plus extras) for the very fast MD4C Markdown parsing and rendering library.


The MD4C C library provides a SAX-like parser that uses callbacks to return the various blocks, inlines, and text it parses from the Markdown input. In addition, it provides an HTML renderer built on top of the parser to provide HTML output directly.

PyMD4C provides Python bindings for both, plus some convenience features built on top. The goal is to provide a simple and fast interface for applications that just need to translate Markdown to HTML, while providing flexibility for applications that need to do more.

Brief installation instructions and examples are below, but see the full documentation for more detail.

Installation from PyPI

PyMD4C is available on PyPI under the name pymd4c. Install it with pip as you would any other Python package:

pip install pymd4c

This is the recommended method to obtain PyMD4C. It should work well on most Linux distributions, Windows, and macOS, but since it contains a C module, it must be built for each platform specifically. Those running on uncommon architectures or old versions of their OS may find that a prebuilt module isn't available. (If a build is not available or working for your platform and you think it should be, consider opening a GitHub issue.)

For more detailed installation instructions, including building from source (which should work on virtually any platform), see the "Installation" page in the full documentation.

Basic Usage

Once PyMD4C is installed, generating HTML from Markdown is as simple as the following:

import md4c

with open('', 'r') as f:
    markdown =

renderer = md4c.HTMLRenderer()
html = renderer.parse(markdown)

This is just the most basic example to get you up and running ASAP. There are several options for customizing MD4C's parsing and HTML generation behavior, as well as other APIs for tasks other than generating HTML. The full documentation walks through all of those features.


Thank you for your interest in contributing to PyMD4C! The "Contributing to PyMD4C" page in the documentation has some information that should prove helpful.


This project is licensed under the MIT license. See the file for details.

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

pymd4c-1.3.0.tar.gz (51.5 kB view hashes)

Uploaded source

Built Distributions

pymd4c-1.3.0-pp39-pypy39_pp73-win_amd64.whl (88.2 kB view hashes)

Uploaded pp39

pymd4c-1.3.0-pp38-pypy38_pp73-win_amd64.whl (88.2 kB view hashes)

Uploaded pp38

pymd4c-1.3.0-pp37-pypy37_pp73-win_amd64.whl (88.3 kB view hashes)

Uploaded pp37

pymd4c-1.3.0-cp311-cp311-win_arm64.whl (83.4 kB view hashes)

Uploaded cp311

pymd4c-1.3.0-cp311-cp311-win_amd64.whl (88.2 kB view hashes)

Uploaded cp311

pymd4c-1.3.0-cp311-cp311-win32.whl (82.9 kB view hashes)

Uploaded cp311

pymd4c-1.3.0-cp311-cp311-musllinux_1_1_i686.whl (151.4 kB view hashes)

Uploaded cp311

pymd4c-1.3.0-cp310-cp310-win_arm64.whl (83.3 kB view hashes)

Uploaded cp310

pymd4c-1.3.0-cp310-cp310-win_amd64.whl (88.2 kB view hashes)

Uploaded cp310

pymd4c-1.3.0-cp310-cp310-win32.whl (82.9 kB view hashes)

Uploaded cp310

pymd4c-1.3.0-cp310-cp310-musllinux_1_1_i686.whl (148.7 kB view hashes)

Uploaded cp310

pymd4c-1.3.0-cp39-cp39-win_arm64.whl (83.3 kB view hashes)

Uploaded cp39

pymd4c-1.3.0-cp39-cp39-win_amd64.whl (88.2 kB view hashes)

Uploaded cp39

pymd4c-1.3.0-cp39-cp39-win32.whl (82.9 kB view hashes)

Uploaded cp39

pymd4c-1.3.0-cp39-cp39-musllinux_1_1_i686.whl (147.8 kB view hashes)

Uploaded cp39

pymd4c-1.3.0-cp38-cp38-win_amd64.whl (88.2 kB view hashes)

Uploaded cp38

pymd4c-1.3.0-cp38-cp38-win32.whl (82.9 kB view hashes)

Uploaded cp38

pymd4c-1.3.0-cp38-cp38-musllinux_1_1_i686.whl (149.9 kB view hashes)

Uploaded cp38

pymd4c-1.3.0-cp37-cp37m-win_amd64.whl (88.1 kB view hashes)

Uploaded cp37

pymd4c-1.3.0-cp37-cp37m-win32.whl (82.7 kB view hashes)

Uploaded cp37

pymd4c-1.3.0-cp36-cp36m-win_amd64.whl (89.0 kB view hashes)

Uploaded cp36

pymd4c-1.3.0-cp36-cp36m-win32.whl (83.2 kB view hashes)

Uploaded cp36

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