
myForm
Translates between document formats through one typed document tree.
myForm reads and writes six document formats (MyST Markdown, GitHub Markdown, Obsidian Markdown, reStructuredText, Typst, and a subset of wikitext) through one typed document tree. Formatting a file in place is just the identity case of conversion.
When the target can't represent something, myForm approximates or replaces it, leaves a provenance comment where the format allows one, and records every change in a conversion report instead of dropping it quietly. It started as a rewrite of mdformat-myst and is on PyPI, with a Rust-backed Typst reader.