Skip to main content

obsidian-publish-confluence

PyPI Python Build License: WTFPL

Publish Obsidian-flavored Markdown to Confluence over Kerberos.

Versioning is derived from Git tags for releases.

Features

  • Create or update Confluence pages from Markdown.
  • Store the Confluence page URL in note frontmatter.
  • Upload attachments on both page create and update.
  • Convert Obsidian image embeds like ![[image.png]] and ![[image.png|400]].
  • Convert Obsidian Canvas embeds like ![[board.canvas]] to SVG attachments while preserving node coordinates.
  • Convert Markdown checkbox lists into Confluence tasks, including nested lists.
  • Convert fenced code blocks to Confluence code macros.
  • Convert PlantUML blocks to the native Confluence plantuml macro.
  • Support --dry-run to inspect conversion and publish actions without changing Confluence.

Requirements

  • Python 3.10+
  • curl
  • kinit and klist
  • A Confluence instance that accepts Kerberos auth via curl --negotiate

Installation

pip install obsidian-publish-confluence

For local development:

python -m pip install -e .

Configuration

Set these environment variables:

  • OBSIDIAN_PUBLISH_CONFLUENCE_BASE_URL
  • OBSIDIAN_PUBLISH_CONFLUENCE_SPACE
  • OBSIDIAN_PUBLISH_CONFLUENCE_PARENT_ID

Usage

export OBSIDIAN_PUBLISH_CONFLUENCE_BASE_URL="https://confluence.example.com"
export OBSIDIAN_PUBLISH_CONFLUENCE_SPACE="DOCS"
export OBSIDIAN_PUBLISH_CONFLUENCE_PARENT_ID="123456"

obsidian-publish-confluence note.md
obsidian-publish-confluence note.md --title "Custom title"
obsidian-publish-confluence note.md --page-url "https://confluence.example.com/spaces/DOCS/pages/123456"
obsidian-publish-confluence note.md --space DEV --parent-id 987654
obsidian-publish-confluence note.md --dry-run

--dry-run converts the note, prints the intended action and attachment list, and skips Confluence API calls.

The Confluence page URL is stored in the note frontmatter as confluence_url. An explicit --page-url takes precedence and is saved to the note after a successful publish.

Kerberos

The CLI expects a valid Kerberos ticket:

kinit YOUR_LOGIN@REALM.EXAMPLE

PlantUML

PlantUML fenced blocks are converted to the native Confluence plantuml macro.

This requires a Confluence instance with a compatible plantuml macro installed.

Release versioning

The package version comes from the Git tag used for the release. For PyPI releases, create a tag like v0.1.0 before publishing a GitHub Release.

Limitations

  • Image and Canvas Obsidian embeds are converted to Confluence attachments.
  • Canvas embeds are rendered as SVG with text, file, link, group, and edge data; embedded files are shown as labels.
  • Checkbox task status is stored in Confluence task macros; nested tasks become nested task lists.
  • Attachment names are namespaced automatically to avoid collisions between files with the same basename.
  • Numeric Obsidian image suffixes like ![[image.png|640]] become Confluence image widths.
  • Non-image wiki links stay plain text.
  • PDF embeds are not converted.
  • Auth mode is Kerberos-only.
  • If a note has no confluence_url and --page-url is not provided, a new Confluence page is created.
  • PlantUML publishing depends on the Confluence-side plantuml macro being available.

Publishing

This repository includes GitHub Actions for:

  • building distributions on push and pull request
  • publishing to PyPI on GitHub Release published

PyPI publishing is configured for Trusted Publishing.

Metadata

Release files for obsidian-publish-confluence 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for obsidian-publish-confluence 0.1.8
File Size Uploaded
obsidian_publish_confluence-0.1.8.tar.gz 19.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for obsidian-publish-confluence 0.1.8
File Interpreter ABI Platform
obsidian_publish_confluence-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / obsidian_publish_confluence-0.1.8.tar.gz

Download URL obsidian_publish_confluence-0.1.8.tar.gz
Size 19.9 kB
Tags Source
SHA-256 checksum
How to use checksums
34da65c885477517d4c61ba47ce8dd975e34bb1781ba4fa794a51cfc97d8074e
BLAKE2b-256 checksum
How to use checksums
a5950551f9b01f87c50b327c620c18b8dad9411c4ec30a3af8027cb4bdcec00d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / obsidian_publish_confluence-0.1.8-py3-none-any.whl

Download URL obsidian_publish_confluence-0.1.8-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1cfbe99393620d4b6d3ae1321aace1b9b79b9eae1e66e020b96a780b37ac1f51
BLAKE2b-256 checksum
How to use checksums
727737ea5be4635ff2267c5c699822e88b123653b37299e2292f6884006afadd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.11

2 release files

0.1.10

2 release files

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page