1212
1313import marimo
1414from marimo import MarimoIslandGenerator
15- from marimo ._cli .convert .markdown import (
16- MARIMO_MD ,
17- MarimoParser ,
18- SafeWrap ,
19- )
15+
16+ try :
17+ from marimo ._ast .app import App
18+ from marimo ._convert .markdown .markdown import (
19+ MARIMO_MD ,
20+ MarimoMdParser as MarimoParser ,
21+ SafeWrap as SafeWrapGeneric ,
22+ )
23+
24+ SafeWrap = SafeWrapGeneric [App ]
25+ except ImportError :
26+ # Fallback for marimo < 0.13.16
27+ from marimo ._cli .convert .markdown import ( # type: ignore[import, no-redef]
28+ MARIMO_MD ,
29+ MarimoParser ,
30+ SafeWrap ,
31+ )
32+
2033from marimo ._islands import MarimoIslandStub
2134
2235__version__ = "0.0.1"
@@ -196,6 +209,7 @@ def tree_to_pandoc_export(root: Element) -> SafeWrap:
196209class MarimoPandocParser (MarimoParser ):
197210 """Parses Markdown to marimo notebook string."""
198211
212+ # TODO: Could upstream generic for keys- but this is fine.
199213 output_formats = { # type: ignore[assignment, misc]
200214 "marimo-pandoc-export" : build_export_with_mime_context (mime_sensitive = False ), # type: ignore[dict-item]
201215 "marimo-pandoc-export-with-mime" : build_export_with_mime_context (
@@ -208,9 +222,9 @@ def convert_from_md_to_pandoc_export(text: str, mime_sensitive: bool) -> dict[st
208222 if not text :
209223 return {"header" : "" , "outputs" : []}
210224 if mime_sensitive :
211- parser = MarimoPandocParser (output_format = "marimo-pandoc-export-with-mime" )
225+ parser = MarimoPandocParser (output_format = "marimo-pandoc-export-with-mime" ) # type: ignore[arg-type]
212226 else :
213- parser = MarimoPandocParser (output_format = "marimo-pandoc-export" )
227+ parser = MarimoPandocParser (output_format = "marimo-pandoc-export" ) # type: ignore[arg-type]
214228 return parser .convert (text ) # type: ignore[arg-type, return-value]
215229
216230
0 commit comments