Skip to main content

mekk.xmind is a pure-Python handler for XMind mind-map files. It can be used to:

  • generate XMind mind-maps from scratch (for example to visualize some data as a mind-map),

  • modify existing .xmind files,

  • parse existing .xmind files and analyze their content.

Examples

Creating mind-map:

from mekk.xmind import XMindDocument

OUTPUT = "test.xmind"

xmind = XMindDocument.create(u"First sheet title", u"Root subject")
first_sheet = xmind.get_first_sheet()
root_topic = first_sheet.get_root_topic()

root_topic.add_subtopic(u"First item")
root_topic.add_subtopic(u"Second item")
t = root_topic.add_subtopic(u"Third item")
t.add_subtopic(u"Second level - 1")
t.add_subtopic(u"Second level - 2")
root_topic.add_subtopic(u"Detached topic", detached = True)
t.add_subtopic(u"Another detached", detached = True)
t.add_marker("flag-red")
root_topic.add_subtopic(u"Link example").set_link("http://mekk.waw.pl")
root_topic.add_subtopic(u"Attachment example").set_attachment(
    file("map_creator.py").read(), ".txt")
root_topic.add_subtopic(u"With note").set_note(u"""This is just some dummy note.""")

MARKER_CODE = "40g6170ftul9bo17p1r31nqk2a"
XMP = "../../py_mekk_nozbe2xmind/src/mekk/nozbe2xmind/NozbeIconsMarkerPackage.xmp"
root_topic.add_subtopic(u"With non-standard marker").add_marker(MARKER_CODE)

xmind.embed_markers(XMP)

xmind.save(OUTPUT)

#xmind.pretty_print()

print "Saved to", OUTPUT

Note: while examples above use ascii, unicode is fully supported.

Parsing mind map:

from mekk.xmind import XMindDocument

xmind = XMindDocument.open("test.xmind")

sheet = xmind.get_first_sheet()
print "Sheet title: ", sheet.get_title()

root = sheet.get_root_topic()
print "Root title: ", root.get_title()
print "Root note: ", root.get_note()

for topic in root.get_subtopics():
    print "* ", topic.get_title()
    print "   label: ", topic.get_label()
    print "   link: ", topic.get_link()
    print "   markers: ", list(topic.get_markers())
    # topic.get_subtopics()

etc.

To modify, just parse existing document, find items to modify and change them as appropriate, then save.

Development

The code is tracked using Mercurial. Repository can be found on http://bitbucket.org/Mekk/mekk.xmind/.

Use the same place to report bugs, suggest improvements and offer patches.

License

mekk.xmind is dual-licensed under Artistic License 2.0 and Mozilla Public License 1.1. The complete license texts can be found in Artistic-2.0.txt and MPL-1.1.txt.

Download files

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

Source Distribution

mekk.xmind-0.5.0.tar.gz (11.9 kB view details)

Uploaded Source

File details

Details for the file mekk.xmind-0.5.0.tar.gz.

File metadata

  • Download URL: mekk.xmind-0.5.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mekk.xmind-0.5.0.tar.gz
Algorithm Hash digest
SHA256 4a8dc01cfca6622320be586cc2dfea3ef153f684a81139b35479231ac6398210
MD5 a0afc14b0adafb8cde09c632d6483e70
BLAKE2b-256 a9ba4f74434aebfd48ce378596d2baccfb6b0e054c6cacfe1a7dd639e574e12d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.0 This release

1 file

0.4.0

1 file

0.3.1

1 file

Supported by

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