markdown-to-confluence
Publish Markdown files to Confluence wiki
What it is and what it does
This package automates the tedious task of replicating Markdown documentation from version control systems into Confluence wiki. It parses Markdown, converts it to Confluence Storage Format (XHTML), and uploads the result via Confluence REST API v2, including images as attachments. The tool handles a broad range of Markdown features—sections, text formatting, links, lists, code blocks, tables, footnotes, and admonitions—plus optional rendering of draw.io, Mermaid, and PlantUML diagrams into images before upload.
Configuration is straightforward: set Confluence domain, API token, space key, and username either as environment variables or runtime arguments. The package uses HTTP Basic authentication or scoped API tokens. It requires Python 3.10 or later and has ten runtime dependencies (markdown, lxml, requests, orjson, pyyaml, cattrs, pymdown-extensions, pathspec, truststore, typing-extensions). Optional features like diagram rendering require external tools (Java, Graphviz, draw.io, mermaid-cli, PlantUML, or Matplotlib), but the core Markdown-to-Confluence conversion works without them.
Use it for:
- Automatically sync project README and documentation from GitHub/GitLab to Confluence during CI/CD pipelines
- Batch-publish multiple Markdown files to Confluence spaces without manual copy-paste
- Keep Confluence documentation in sync with version-controlled Markdown sources to prevent drift
- Convert Markdown diagrams (Mermaid, PlantUML, draw.io) to images and embed them in Confluence pages
- Publish technical specifications written in Markdown to company wikis accessible to non-VCS users
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts Markdown files to Confluence Storage Format and publishes them to Confluence wiki via REST API, handling text formatting, images, code blocks, diagrams, and tables.
Yes. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and solves a real problem—automating Markdown-to-Confluence publishing. Install friction is low. The broad feature set (tables, code blocks, diagrams, admonitions) covers most documentation needs. Optional diagram rendering requires external tools but doesn't block basic use. Suitable for teams needing to bridge Markdown and Confluence workflows.
Install
markdown-to-confluence on PyPI
pip
pip install markdown-to-confluenceuv
uv add markdown-to-confluencepoetry
poetry add markdown-to-confluenceInstalling markdown-to-confluence
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release (18 days old) and steady repository activity. Ten runtime dependencies are all established packages, though optional features like diagram rendering require external tools (draw.io, mermaid-cli, PlantUML, Java, Graphviz).
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both personal and commercial projects.
Quickstart
pip install markdown-to-confluence
from markdown_to_confluence import publish_markdown
publish_markdown(
domain='example.atlassian.net',
space_key='SPACE',
api_token='your_token',
markdown_file='README.md'
)
Requires Confluence API token and valid domain/space credentials. Optional diagram rendering features (draw.io, Mermaid, PlantUML) need external command-line tools and Java installed separately.
Verify before relying
- Whether the package handles concurrent uploads or batch operations efficiently
- Performance characteristics when publishing large Markdown files or many images
- Extent of Markdown dialect support beyond standard CommonMark
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — cattrs, lxml, markdown, orjson, pymdown-extensions, pyyaml, pathspec, requests, truststore, typing-extensions |
| Maintenance | actively maintained — 18 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,783,574/month — #3,565 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: markdown_to_confluence-0.6.2-py3-none-any.whl
Keywords: markdown, converter, confluence
Tags
More Markup packages
PyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
markdown-it-pyA Python markdown parser that converts markdown…
permissive · top 100 on PyPI
beautifulsoup4Beautiful Soup parses HTML and XML documents…
permissive · top 100 on PyPI
et-xmlfileet_xmlfile writes large XML files with minimal…
permissive · top 1,000 on PyPI
tomlkitParses and edits TOML files while preserving…
permissive · top 1,000 on PyPI
docstring-parserParses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
llama-index-readers-confluenceLoads pages and attachments from Confluence…
permissive · top 15,000 on PyPI
md2cfConverts Markdown documents to Confluence…
permissive · top 15,000 on PyPI
atlas-doc-parserConverts Atlassian Document Format (ADF) JSON…
permissive · top 15,000 on PyPI
markdown-pdfConverts markdown text to PDF files, with…
agpl · top 15,000 on PyPI
atlassian-doc-builderProgrammatically generate and validate…
permissive · top 15,000 on PyPI
sphinxcontrib-confluencebuilderSphinx extension that converts reStructuredText…
permissive · top 15,000 on PyPI
essentials-openapiGenerates OpenAPI v2 and v3 documentation in…
permissive · top 15,000 on PyPI
gh-md-to-htmlConverts GitHub-flavored Markdown to HTML with…
unclear · top 15,000 on PyPI
plantuml-markdownA Markdown extension that converts PlantUML…
permissive · top 5,000 on PyPI
markdown-to-mrkdwnConverts standard Markdown to Slack's mrkdwn…
permissive · top 5,000 on PyPI