Skip to main content

Pythonic Pandoc filters

Project description

Panflute: Pythonic Pandoc Filters

Python version PyPI version Development Status Build Status

panflute is a Python package that makes creating Pandoc filters fun.

For a detailed user guide, documentation, and installation instructions, see For examples that you can use as starting points, check the examples repo, the sample template, or this github search. If you want to contribute, head here.

You might also find useful this presentation on how I use markdown+pandoc+panflute to write research papers (at the Banco de Portugal 2019 Workshop on Reproductible Research).



To manage panflute using pip, open the command line and run

  • pip install panflute to install
  • pip install -U panflute to upgrade
  • pip uninstall panflute to remove

You need a matching pandoc version for panflute to work flawlessly. See [Supported pandoc versions] for details. Or, use the [Conda] method to install below to have the pandoc version automatically managed for you.


To manage panflute with a matching pandoc version, open the command line and run

  • conda install -c conda-forge pandoc 'panflute>=2.0.5' to install both
  • conda update pandoc panflute to upgrade both
  • conda remove pandoc panflute to remove both

You may also replace conda by mamba, which is basically a drop-in replacement of the conda package manager. See mamba-org/mamba: The Fast Cross-Platform Package Manager for details.

Note on versions

Supported Python versions

panflute 1.12 or above dropped support of Python 2. When using Python 3, depending on your setup, you may need to use pip3/python3 explicitly. If you need to use panflute in Python 2, install panflute 1.11.x or below.

Currently supported Python versions: Python version. Check for details, which further indicates support of pypy on top of CPython.

Supported pandoc versions

pandoc versioning semantics is MAJOR.MAJOR.MINOR.PATCH and panflute's is MAJOR.MINOR.PATCH. Below we shows matching versions of pandoc that panflute supports, in descending order. Only major version is shown as long as the minor versions doesn't matter.

panflute version supported pandoc versions supported pandoc API versions
2.1—2.13.x 1.22
2.0—2.11.x 1.22
not supported 2.10 1.21
1.12 2.7-2.9 1.17.5–1.20

Note: pandoc 2.10 is short lived and 2.11 has minor API changes comparing to that, mainly for fixing its shortcomings. Please avoid using pandoc 2.10.

Dev Install

After cloning the repo and opening the panflute folder, run

  • python install to install the package locally
  • python develop to install locally with a symlink so changes are automatically updated


Feel free to submit push requests. For consistency, code should comply with pep8 (as long as its reasonable), and with the style guides by @kennethreitz and google. Read more here.


BSD3 license (following pandocfilters by @jgm).

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for panflute, version 2.1.0
Filename, size File type Python version Upload date Hashes
Filename, size panflute-2.1.0-py3-none-any.whl (35.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size panflute-2.1.0.tar.gz (35.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page