setuptools-markdown
[Deprecated] Use Markdown for your project description
What it is and what it does
setuptools-markdown is a setuptools plugin that integrates Markdown support into your package build process. During setup, it reads a Markdown file you specify, converts it to reStructuredText using pypandoc, and stores the result in your package's long_description metadata field for PyPI. This was useful before PyPI and setuptools added native Markdown support.
The package is deprecated and no longer maintained. The maintainer explicitly recommends using setuptools' built-in Markdown functionality instead. It has not been updated since 2019, and the repository shows no activity since 2022. If you are starting a new project, you should use modern setuptools features rather than this plugin.
Use it for:
- Maintaining legacy packages that were built with this plugin before native Markdown support existed
- Converting existing setup.py configurations that depend on setuptools-markdown without immediate refactoring
- Understanding how Markdown-to-reStructuredText conversion worked in older setuptools workflows
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts Markdown files to reStructuredText during setuptools builds, allowing you to use Markdown for your package's long_description metadata instead of reStructuredText.
No. The package is abandoned and explicitly deprecated by its maintainer. Modern setuptools and PyPI support Markdown natively without requiring this plugin. Only install if maintaining legacy code that already depends on it.
Install
setuptools-markdown on PyPI
pip
pip install setuptools-markdownuv
uv add setuptools-markdownpoetry
poetry add setuptools-markdownInstalling setuptools-markdown
Before you install
Low install friction with a single runtime dependency (pypandoc), but the package is abandoned—last release was 2019-08-14 and last commit 2022-05-11. The maintainer's own documentation explicitly recommends against using this in favor of built-in setuptools functionality.
License in practice
MIT license is permissive and poses no restrictions on use or redistribution.
Quickstart
pip install setuptools-markdown
In setup.py:
from setuptools import setup
setup(
setup_requires=['setuptools-markdown'],
long_description_markdown_filename='README.md',
)
pandoc system library must be installed before running setup
Verify before relying
- Whether pandoc system library installation is required before pip install succeeds
- Compatibility with modern setuptools versions released after 2019
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pypandoc |
| Maintenance | abandoned — 2,557 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 110,313/month — #12,470 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: setuptools_markdown-0.4.1-py2.py3-none-any.whl
Keywords: distutils, setuptools, markdown
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
m2r2Converts markdown files with embedded…
permissive · top 15,000 on PyPI
collective.checkdocsAdds distutils commands to validate and preview…
copyleft · top 15,000 on PyPI
readme-rendererSafely renders README files in Markdown,…
permissive · top 1,000 on PyPI
sphinx_mdincludeSphinx extension that lets you include and…
permissive · top 15,000 on PyPI
docstring-to-markdownConverts Python docstrings from…
copyleft · top 5,000 on PyPI
pypandoc-binarypypandoc_binary wraps pandoc, a universal…
permissive · top 5,000 on PyPI
setupmetaReduces boilerplate in setup.py by…
permissive · top 5,000 on PyPI
pyandocPyandoc wraps Pandoc to convert between…
permissive · top 5,000 on PyPI
pypandocPypandoc wraps pandoc, a universal document…
permissive · top 5,000 on PyPI
sphinx-markdown-builderA Sphinx extension that generates Markdown…
permissive · top 15,000 on PyPI