Mindmap Formatter
Export mindmaps: Freemind and FreePlane
Scope
Out of scope
- HTML nodes
Features
- Specify a formatter from the command-line
- Formatters are specified as Python programs
Priority / Deprecated
FreePlane is better supported than Freemind.
The existing behavior for Freemind will be kept for a while (as of 2026-01), but prefer using FreePlane
How to use it
Setup
This project uses uv for Python package and virtual environment management.
To set up the project:
# Install uv (if not already installed)
# See https://docs.astral.sh/uv/getting-started/installation/
# uv will automatically create a virtual environment and install dependencies
uv syncRunning tests
make test # Run all tests (typecheck + e2e)
make typecheck # Run mypy type checker in strict mode
make test-e2e # Run end-to-end testsSample usage
See examples in approval_tests:
python3 main.py --input ./data/test1.mm --formatter leaf_as_text.pyExtending the formatters
This project has been designed so that the formatting is separated from the XML representation.
To use another Exporter, implement another child of MindmapExporter, then call it in the main arguments.
See example invocation in the approval_tests folder.
There is a sample exporter in the print_as_titles.py file.
On this page
Languages
Python98.4%Makefile1.5%Shell0.1%
Contributors
Created November 9, 2021
Updated January 26, 2026