Skip to content

Commit 5e9ae9d

Browse files
committed
Make mistletoe a standard dependency
1 parent 2d710ab commit 5e9ae9d

File tree

4 files changed

+23
-13
lines changed

4 files changed

+23
-13
lines changed

execnb/shell.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
try: from matplotlib_inline.backend_inline import set_matplotlib_formats
3030
except ImportError: set_matplotlib_formats = None
3131

32+
from mistletoe import markdown, HTMLRenderer
33+
from mistletoe.contrib.pygments_renderer import PygmentsRenderer
3234

3335
from .nbio import *
3436
from .nbio import _dict2obj
@@ -161,11 +163,13 @@ async def run_async(self:CaptureShell,
161163
def _pre(s, xtra=''): return f"<pre {xtra}><code>{escape(s)}</code></pre>"
162164
def _strip(s): return strip_ansi(escape(s))
163165

164-
def render_outputs(outputs, ansi_renderer=_strip, include_imgs=True, pygments=False):
165-
try:
166-
from mistletoe import markdown, HTMLRenderer
167-
from mistletoe.contrib.pygments_renderer import PygmentsRenderer
168-
except ImportError: return print('mistletoe not found -- please install it')
166+
def render_outputs(outputs,
167+
ansi_renderer=_strip,
168+
include_imgs=True,
169+
pygments=False,
170+
pygments_renderer=PygmentsRenderer,
171+
html_renderer=HTMLRenderer
172+
):
169173
renderer = PygmentsRenderer if pygments else HTMLRenderer
170174
def render_output(out):
171175
otype = out['output_type']

nbs/01_nbio.ipynb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,7 @@
414414
" 'execution_count': 0,\n",
415415
" 'idx_': 0,\n",
416416
" 'metadata': {},\n",
417+
" 'outputs': [],\n",
417418
" 'source': 'print(1)'}\n",
418419
"```"
419420
],
@@ -423,6 +424,7 @@
423424
" 'directives_': {},\n",
424425
" 'execution_count': 0,\n",
425426
" 'metadata': {},\n",
427+
" 'outputs': [],\n",
426428
" 'idx_': 0}"
427429
]
428430
},
@@ -570,7 +572,7 @@
570572
"name": "stdout",
571573
"output_type": "stream",
572574
"text": [
573-
"[{'cell_type': 'code', 'metadata': {}, 'source': 'print(1)', 'idx_': 0}]\n"
575+
"[{'cell_type': 'code', 'execution_count': 0, 'metadata': {}, 'outputs': [], 'source': 'print(1)', 'idx_': 0}]\n"
574576
]
575577
}
576578
],

nbs/02_shell.ipynb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@
5252
"try: from matplotlib_inline.backend_inline import set_matplotlib_formats\n",
5353
"except ImportError: set_matplotlib_formats = None\n",
5454
"\n",
55+
"from mistletoe import markdown, HTMLRenderer\n",
56+
"from mistletoe.contrib.pygments_renderer import PygmentsRenderer\n",
5557
"\n",
5658
"from execnb.nbio import *\n",
5759
"from execnb.nbio import _dict2obj"
@@ -977,11 +979,13 @@
977979
"def _pre(s, xtra=''): return f\"<pre {xtra}><code>{escape(s)}</code></pre>\"\n",
978980
"def _strip(s): return strip_ansi(escape(s))\n",
979981
"\n",
980-
"def render_outputs(outputs, ansi_renderer=_strip, include_imgs=True, pygments=False):\n",
981-
" try:\n",
982-
" from mistletoe import markdown, HTMLRenderer\n",
983-
" from mistletoe.contrib.pygments_renderer import PygmentsRenderer\n",
984-
" except ImportError: return print('mistletoe not found -- please install it')\n",
982+
"def render_outputs(outputs,\n",
983+
" ansi_renderer=_strip,\n",
984+
" include_imgs=True,\n",
985+
" pygments=False,\n",
986+
" pygments_renderer=PygmentsRenderer,\n",
987+
" html_renderer=HTMLRenderer\n",
988+
" ):\n",
985989
" renderer = PygmentsRenderer if pygments else HTMLRenderer\n",
986990
" def render_output(out):\n",
987991
" otype = out['output_type']\n",

settings.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ author_email = [email protected]
1111
branch = master
1212
version = 0.1.12
1313
min_python = 3.7
14-
requirements = fastcore>=1.5.5 ipython
15-
dev_requirements = matplotlib Pillow mistletoe
14+
requirements = fastcore>=1.5.5 ipython mistletoe
15+
dev_requirements = matplotlib Pillow
1616
console_scripts = exec_nb=execnb.shell:exec_nb
1717
audience = Developers
1818
language = English

0 commit comments

Comments
 (0)