pypandoc-binary
Thin wrapper for pandoc.
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-binaryuv
uv add pypandoc-binarypoetry
poetry add pypandoc-binaryInstalling 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
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
pypandocPypandoc wraps pandoc, a universal document…
permissive · top 5,000 on PyPI
pyandocPyandoc wraps Pandoc to convert between…
permissive · top 5,000 on PyPI
pandocPandoc Python Library wraps the Pandoc document…
permissive · top 15,000 on PyPI
setuptools-markdownConverts Markdown files to reStructuredText…
permissive · top 15,000 on PyPI
panflutePanflute provides a Pythonic interface for…
permissive · top 15,000 on PyPI
doclingDocling parses diverse document formats—PDF,…
permissive · top 5,000 on PyPI
markitdownConverts various file formats (PDF, Excel,…
permissive · top 5,000 on PyPI
mammothConverts Microsoft Word .docx documents to…
permissive · top 5,000 on PyPI
blacken-docsApplies Black code formatting to Python code…
permissive · top 15,000 on PyPI
pandocfiltersProvides Python utilities for writing pandoc…
permissive · top 1,000 on PyPI