skillfed

pypandoc-binary

Thin wrapper for pandoc.

pypandoc-binary v1.17 3.3M downloads/30d#2,663 on PyPI1,151
Permissive license MIT Active released

What it is and what it does

pypandoc_binary is a Python wrapper around pandoc that bundles the pandoc binary, eliminating the need to install pandoc separately on your system. It provides a simple API to convert documents between formats—markdown, reStructuredText, HTML, DOCX, EPUB, PDF, and many others—either from files or from strings in memory. The package supports both basic conversions and advanced pandoc features like filters and extra arguments.

You use it by calling either `convert_file()` to transform a document on disk or `convert_text()` to convert a string. For formats like DOCX, EPUB, and PDF, you write directly to an output file. The package handles format inference from filenames, supports glob patterns and multiple input files, and integrates with pathlib. It's actively maintained, supports Python 3.7 through 3.15, and has no known security vulnerabilities.

Use it for:

  • Convert markdown documentation to reStructuredText or HTML for publishing on different platforms.
  • Batch-convert multiple markdown files to DOCX or PDF for distribution as formatted documents.
  • Generate HTML from markdown in a web application or static site generator without external pandoc.
  • Transform between markup formats (e.g., Markdown to AsciiDoc) in a build pipeline or CI/CD workflow.
  • Programmatically apply pandoc filters and options to documents without shell scripting.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pypandoc_binary wraps pandoc, a universal document converter, and bundles the pandoc binary so you can convert between document formats without a separate pandoc installation.

Yes. pypandoc_binary is worth installing if you need reliable document format conversion and want to avoid managing a separate pandoc installation. The bundled binary, active maintenance, permissive MIT license, and zero known vulnerabilities make it a low-risk choice. Install friction is moderate due to platform-specific wheels, but that's standard for packages with native binaries. Use the base pypandoc package instead if pandoc is already installed on your system.

Install

pypandoc-binary on PyPI

pip

pip install pypandoc-binary

uv

uv add pypandoc-binary

poetry

poetry add pypandoc-binary

Installing pypandoc-binary

Before you install

Medium friction due to platform-specific wheels (Windows, macOS x86_64/arm64, Linux x86_64/aarch64, musl). The package is actively maintained with a recent release and no known vulnerabilities, making it reliable for production use.

License in practice

MIT license (permissive) means you can use, modify, and distribute pypandoc_binary freely in commercial and private projects with minimal restrictions.

Quickstart

pip install pypandoc_binary
import pypandoc
output = pypandoc.convert_file('somefile.md', 'rst')
# or convert text directly:
output = pypandoc.convert_text('# Title', 'rst', format='md')

Requires Python 3.7 or later. The bundled pandoc binary is included, but some output formats (odt, docx, epub, pdf) require writing to a file rather than returning a string.

Verify before relying

  • Whether the bundled pandoc version matches the latest upstream pandoc release or lags behind.
  • Performance characteristics when converting large documents or batch processing many files.
  • Compatibility with pandoc filters beyond the examples shown in the documentation.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 153 days since the last release
Last repo commit
First released
Downloads 3,314,781/month — #2,663 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pypandoc_binary-1.17-py3-none-macosx_10_9_x86_64.whl; pypandoc_binary-1.17-py3-none-macosx_11_0_arm64.whl; pypandoc_binary-1.17-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; pypandoc_binary-1.17-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pypandoc_binary-1.17-py3-none-musllinux_1_2_aarch64.whl; pypandoc_binary-1.17-py3-none-musllinux_1_2_x86_64.whl; pypandoc_binary-1.17-py3-none-win_amd64.whl

Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: MIT LicenseOperating System :: POSIXProgramming Language :: PythonProgramming 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.15Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Text ProcessingTopic :: Text Processing :: Filters

Tags

document format conversionpandoc wrapper pythonmarkdown to docx converteruniversal document converterconvert between markup formatspandoc binary includedmarkdown rst html conversion
document-conversionmarkup-processingpandoc-wrapper

More Text Processing packages