mmap-tools
Read, write, and convert MindJet MindManager .mmap files. Pure Python, zero dependencies.
Features
- Read
.mmapfiles into a clean Python object model - Write back to
.mmapwith 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 attachmentsxsd/— XML schema definitionsPreview.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
Metadata
Release files for mmap-tools 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mmap_tools-0.1.0.tar.gz | 25.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mmap_tools-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.7 kB
Release files / mmap_tools-0.1.0.tar.gz
| Download URL | mmap_tools-0.1.0.tar.gz |
|---|---|
| Size | 25.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b26ddda5867952fa8271c240c981172cb570fad17dce1a58eb64dcf22957c6be
|
|
BLAKE2b-256 checksum How to use checksums |
409995071fe010da0d841bbfb5f8ce390941995b0cadc12a508a45088af0afc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 22, 2026.
Transparency logRelease files / mmap_tools-0.1.0-py3-none-any.whl
| Download URL | mmap_tools-0.1.0-py3-none-any.whl |
|---|---|
| Size | 26.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fba155117c97ea9275d483f7c3570a448b13fae872f15b269a01722edacec846
|
|
BLAKE2b-256 checksum How to use checksums |
d4b6a0d4a46164eb0c98a027ef949c294981f1a3213f1446b354af3f96f779b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 22, 2026.
Transparency log