Skip to main content

Read, write, and convert MindJet MindManager .mmap files. Pure Python, no dependencies.

Project description

mmap-tools

Tests License: AGPL-3.0 Python 3.10+

Read, write, and convert MindJet MindManager .mmap files. Pure Python, zero dependencies.

Features

  • Read .mmap files into a clean Python object model
  • Write back to .mmap with round-trip fidelity (preserves styles, icons, layout)
  • Export to Obsidian-compatible markdown (with Tasks plugin syntax)
  • Import from markdown back to .mmap
  • CLI for quick inspection and conversion
  • No dependencies — only Python stdlib

Install

pip install mmap-tools

Quick Start

import mmap_tools

# Read a mind map
m = mmap_tools.read("ToDo List.mmap")
print(m)  # MindMap('ToDo', 186 topics)

# Navigate the tree
for branch in m.root.children:
    print(f"{branch.text}: {len(branch.children)} children")

# Find topics
health = m.find("Health & Fitness")
for item in health.walk():
    print("  " * item.depth + item.text)

# List tasks
for topic in m.tasks(status=mmap_tools.TaskStatus.NOT_STARTED):
    print(f"TODO: {topic.text}")

# Modify
new_task = health.add_child("Book dentist appointment")
new_task.task = mmap_tools.Task(priority=mmap_tools.TaskPriority.HIGH)

# Export to markdown
md = mmap_tools.to_markdown(m)
print(md)

# Write back to .mmap
mmap_tools.write(m, "updated.mmap")

CLI

# Show map summary
mmap-tools info "ToDo List.mmap"

# Print full tree
mmap-tools tree "ToDo List.mmap" --depth 3

# List open tasks
mmap-tools tasks "ToDo List.mmap" --status open

# Search
mmap-tools find "ToDo List.mmap" "insurance"

# Export to markdown
mmap-tools export "ToDo List.mmap" -o tasks.md

How .mmap files work

MindManager .mmap files are ZIP archives containing:

  • Document.xml — the map structure (topics, tasks, icons, notes, hyperlinks)
  • bin/ — embedded images and attachments
  • xsd/ — XML schema definitions
  • Preview.png — thumbnail

This library reads and writes Document.xml while preserving all other contents.

Obsidian Integration

The markdown export uses Obsidian Tasks syntax:

- [ ] Book dentist ⏫ 📅 2026-03-15
- [x] Submit tax return
- [ ] Review insurance (25%)

Import back to .mmap:

md = open("tasks.md").read()
m = mmap_tools.from_markdown(md)
mmap_tools.write(m, "from_obsidian.mmap")

License

AGPL-3.0 — see LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmap_tools-0.1.0.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mmap_tools-0.1.0-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file mmap_tools-0.1.0.tar.gz.

File metadata

  • Download URL: mmap_tools-0.1.0.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mmap_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b26ddda5867952fa8271c240c981172cb570fad17dce1a58eb64dcf22957c6be
MD5 c052eab4d8fa62e163b629adbc1f0920
BLAKE2b-256 409995071fe010da0d841bbfb5f8ce390941995b0cadc12a508a45088af0afc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmap_tools-0.1.0.tar.gz:

Publisher: publish.yml on lifehackjohn/mmap-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mmap_tools-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mmap_tools-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mmap_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fba155117c97ea9275d483f7c3570a448b13fae872f15b269a01722edacec846
MD5 65b1325715bce2dbf85a50670694a059
BLAKE2b-256 d4b6a0d4a46164eb0c98a027ef949c294981f1a3213f1446b354af3f96f779b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmap_tools-0.1.0-py3-none-any.whl:

Publisher: publish.yml on lifehackjohn/mmap-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page