Skip to content

Commit 37b9c0f

Browse files
committed
finish example
1 parent fc58222 commit 37b9c0f

File tree

6 files changed

+190
-49
lines changed

6 files changed

+190
-49
lines changed

examples/sheet_vars/driver_sheet.ipynb

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
"cell_type": "markdown",
66
"metadata": {},
77
"source": [
8-
"Example driver sheet."
8+
"Example driver sheet.\n",
9+
"\n",
10+
"This can be used to run many jobs in parallel."
911
]
1012
},
1113
{
@@ -20,19 +22,14 @@
2022
"import os"
2123
]
2224
},
23-
{
24-
"cell_type": "code",
25-
"execution_count": null,
26-
"metadata": {},
27-
"outputs": [],
28-
"source": []
29-
},
3025
{
3126
"cell_type": "code",
3227
"execution_count": 2,
3328
"metadata": {},
3429
"outputs": [],
3530
"source": [
31+
"# define tasks, rendering the same Jupyter notebook\n",
32+
"# with different sheet_vars values and ouput suffices.\n",
3633
"tasks = [\n",
3734
" JTask(\n",
3835
" \"task_sheet.ipynb\",\n",
@@ -41,7 +38,10 @@
4138
" \"file_names\": [\n",
4239
" \"fname_1.txt\",\n",
4340
" \"fname_2.txt\",\n",
44-
" ]},\n",
41+
" ],\n",
42+
" \"sheet_group\": \"g1\",\n",
43+
" },\n",
44+
" exclude_input=False,\n",
4545
" ),\n",
4646
" JTask(\n",
4747
" \"task_sheet.ipynb\",\n",
@@ -50,7 +50,10 @@
5050
" \"file_names\": [\n",
5151
" \"fname_3.txt\",\n",
5252
" \"fname_4.txt\",\n",
53-
" ]},\n",
53+
" ],\n",
54+
" \"sheet_group\": \"g2\",\n",
55+
" },\n",
56+
" exclude_input=True,\n",
5457
" ),\n",
5558
"]\n"
5659
]
@@ -67,23 +70,24 @@
6770
"[JTask(\n",
6871
" sheet_name='task_sheet.ipynb',\n",
6972
" output_suffix='_g1',\n",
70-
" exclude_input=True,\n",
73+
" exclude_input=False,\n",
7174
" init_code=None,\n",
7275
" path_prefix=None,\n",
73-
" sheet_vars={'file_names': ['fname_1.txt', 'fname_2.txt']},\n",
76+
" sheet_vars={'file_names': ['fname_1.txt', 'fname_2.txt'], 'sheet_group': 'g1'},\n",
7477
"),\n",
7578
" JTask(\n",
7679
" sheet_name='task_sheet.ipynb',\n",
7780
" output_suffix='_g2',\n",
7881
" exclude_input=True,\n",
7982
" init_code=None,\n",
8083
" path_prefix=None,\n",
81-
" sheet_vars={'file_names': ['fname_3.txt', 'fname_4.txt']},\n",
84+
" sheet_vars={'file_names': ['fname_3.txt', 'fname_4.txt'], 'sheet_group': 'g2'},\n",
8285
")]\n"
8386
]
8487
}
8588
],
8689
"source": [
90+
"# print our tasks\n",
8791
"pprint(tasks)"
8892
]
8993
},
@@ -96,8 +100,8 @@
96100
"name": "stdout",
97101
"output_type": "stream",
98102
"text": [
99-
"start render_as_html \"task_sheet.ipynb\" \"_g1\" 2023-07-02 11:52:33.286698\n",
100-
"start render_as_html \"task_sheet.ipynb\" \"_g2\" 2023-07-02 11:52:33.286955\n"
103+
"start render_as_html \"task_sheet.ipynb\" \"_g2\" 2023-07-02 12:08:33.054926\n",
104+
"start render_as_html \"task_sheet.ipynb\" \"_g1\" 2023-07-02 12:08:33.056136\n"
101105
]
102106
},
103107
{
@@ -126,8 +130,8 @@
126130
"name": "stdout",
127131
"output_type": "stream",
128132
"text": [
129-
"\tdone render_as_html \"task_sheet_g2.html\" 2023-07-02 11:52:35.467671\n",
130-
"\tdone render_as_html \"task_sheet_g1.html\" 2023-07-02 11:52:35.467699\n"
133+
"\tdone render_as_html \"task_sheet_g2.html\" 2023-07-02 12:08:35.352744\n",
134+
"\tdone render_as_html \"task_sheet_g1.html\" 2023-07-02 12:08:35.438916\n"
131135
]
132136
},
133137
{
@@ -142,7 +146,8 @@
142146
}
143147
],
144148
"source": [
145-
"# ignore \n",
149+
"# run the tasks, in parallel\n",
150+
"# ignore warning msgs\n",
146151
"# \"This version of python seems to be incorrectly compiled\"\n",
147152
"# Just MacOS problems\n",
148153
"run_pool(\n",
@@ -172,17 +177,11 @@
172177
}
173178
],
174179
"source": [
180+
"# convert HTMLs from renders to PNGs to show\n",
175181
"for fname in os.listdir():\n",
176182
" if fname.startswith('task_sheet_') and fname.endswith('.html'):\n",
177183
" imgkit.from_file(fname, fname.removesuffix('.html') + \".png\")"
178184
]
179-
},
180-
{
181-
"cell_type": "code",
182-
"execution_count": null,
183-
"metadata": {},
184-
"outputs": [],
185-
"source": []
186185
}
187186
],
188187
"metadata": {

examples/sheet_vars/task_sheet.ipynb

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
{
22
"cells": [
33
{
4-
"cell_type": "code",
5-
"execution_count": null,
4+
"attachments": {},
5+
"cell_type": "markdown",
66
"metadata": {},
7-
"outputs": [],
8-
"source": []
7+
"source": [
8+
"Example task sheet.\n",
9+
"\n",
10+
"Example of a single job to run. Values come in through `sheet_vars` and even optional `init_code`."
11+
]
912
},
1013
{
11-
"attachments": {},
12-
"cell_type": "markdown",
14+
"cell_type": "code",
15+
"execution_count": null,
1316
"metadata": {},
17+
"outputs": [],
1418
"source": [
15-
"Example task sheet"
19+
"from pprint import pprint\n",
20+
"from IPython.display import display, HTML, Markdown"
1621
]
1722
},
1823
{
@@ -21,7 +26,15 @@
2126
"metadata": {},
2227
"outputs": [],
2328
"source": [
24-
"from pprint import pprint"
29+
"display(HTML(f'File names assigned: {sheet_vars[\"file_names\"]}.'))"
30+
]
31+
},
32+
{
33+
"attachments": {},
34+
"cell_type": "markdown",
35+
"metadata": {},
36+
"source": [
37+
"The sheet variables are the following."
2538
]
2639
},
2740
{
@@ -30,7 +43,7 @@
3043
"metadata": {},
3144
"outputs": [],
3245
"source": [
33-
"pprint(sheet_vars[\"file_names\"])"
46+
"pprint(sheet_vars)"
3447
]
3548
}
3649
],

examples/sheet_vars/task_sheet_g1.html

Lines changed: 102 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15212,25 +15212,119 @@
1521215212
</style>
1521315213
<!-- End of mermaid configuration --></head>
1521415214
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
15215-
<div id="cell-id=wvpy_header_cell" class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs jp-mod-noInput ">
15216-
15217-
</div><div id="cell-id=cell0" class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs jp-mod-noInput ">
15215+
<div id="cell-id=wvpy_header_cell" class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs ">
15216+
<div class="jp-Cell-inputWrapper">
15217+
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
15218+
</div>
15219+
<div class="jp-InputArea jp-Cell-inputArea">
15220+
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[1]:</div>
15221+
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
15222+
<div class="CodeMirror cm-s-jupyter">
15223+
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">pickle</span>
15224+
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s1">&#39;/var/folders/r4/160vp9kd1qzb47y0jqd3s6480000gn/T/tmpzxx1_4is&#39;</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">pf</span><span class="p">:</span>
15225+
<span class="n">sheet_vars</span> <span class="o">=</span> <span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">pf</span><span class="p">)</span>
15226+
</pre></div>
15227+
15228+
</div>
15229+
</div>
15230+
</div>
15231+
</div>
1521815232

1521915233
</div>
15220-
<div id="cell-id=cell1" class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
15234+
<div id="cell-id=cell0" class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
1522115235
<div class="jp-Cell-inputWrapper">
1522215236
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
1522315237
</div>
1522415238
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
1522515239
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
15226-
<p>Example task sheet</p>
15240+
<p>Example task sheet.</p>
15241+
<p>Example of a single job to run. Values come in through <code>sheet_vars</code> and even optional <code>init_code</code>.</p>
15242+
15243+
</div>
15244+
</div>
15245+
</div>
15246+
</div><div id="cell-id=cell1" class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs ">
15247+
<div class="jp-Cell-inputWrapper">
15248+
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
15249+
</div>
15250+
<div class="jp-InputArea jp-Cell-inputArea">
15251+
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[2]:</div>
15252+
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
15253+
<div class="CodeMirror cm-s-jupyter">
15254+
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">pprint</span> <span class="kn">import</span> <span class="n">pprint</span>
15255+
<span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">display</span><span class="p">,</span> <span class="n">HTML</span><span class="p">,</span> <span class="n">Markdown</span>
15256+
</pre></div>
15257+
15258+
</div>
15259+
</div>
15260+
</div>
15261+
</div>
15262+
15263+
</div><div id="cell-id=cell2" class="jp-Cell jp-CodeCell jp-Notebook-cell ">
15264+
<div class="jp-Cell-inputWrapper">
15265+
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
15266+
</div>
15267+
<div class="jp-InputArea jp-Cell-inputArea">
15268+
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[3]:</div>
15269+
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
15270+
<div class="CodeMirror cm-s-jupyter">
15271+
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">display</span><span class="p">(</span><span class="n">HTML</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;File names assigned: </span><span class="si">{</span><span class="n">sheet_vars</span><span class="p">[</span><span class="s2">&quot;file_names&quot;</span><span class="p">]</span><span class="si">}</span><span class="s1">.&#39;</span><span class="p">))</span>
15272+
</pre></div>
15273+
15274+
</div>
15275+
</div>
15276+
</div>
15277+
</div>
15278+
15279+
<div class="jp-Cell-outputWrapper">
15280+
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
15281+
</div>
15282+
15283+
15284+
<div class="jp-OutputArea jp-Cell-outputArea">
15285+
<div class="jp-OutputArea-child">
15286+
15287+
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
15288+
15289+
15290+
15291+
<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output " data-mime-type="text/html">
15292+
File names assigned: ['fname_1.txt', 'fname_2.txt'].
15293+
</div>
15294+
15295+
</div>
15296+
15297+
</div>
1522715298

1522815299
</div>
15300+
1522915301
</div>
15302+
<div id="cell-id=cell3" class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
15303+
<div class="jp-Cell-inputWrapper">
15304+
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
1523015305
</div>
15231-
</div><div id="cell-id=cell2" class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs jp-mod-noInput ">
15306+
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
15307+
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
15308+
<p>The sheet variables are the following.</p>
1523215309

15233-
</div><div id="cell-id=cell3" class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noInput ">
15310+
</div>
15311+
</div>
15312+
</div>
15313+
</div><div id="cell-id=cell4" class="jp-Cell jp-CodeCell jp-Notebook-cell ">
15314+
<div class="jp-Cell-inputWrapper">
15315+
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
15316+
</div>
15317+
<div class="jp-InputArea jp-Cell-inputArea">
15318+
<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[4]:</div>
15319+
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
15320+
<div class="CodeMirror cm-s-jupyter">
15321+
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pprint</span><span class="p">(</span><span class="n">sheet_vars</span><span class="p">)</span>
15322+
</pre></div>
15323+
15324+
</div>
15325+
</div>
15326+
</div>
15327+
</div>
1523415328

1523515329
<div class="jp-Cell-outputWrapper">
1523615330
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
@@ -15244,7 +15338,7 @@
1524415338

1524515339

1524615340
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
15247-
<pre>[&#39;fname_1.txt&#39;, &#39;fname_2.txt&#39;]
15341+
<pre>{&#39;file_names&#39;: [&#39;fname_1.txt&#39;, &#39;fname_2.txt&#39;], &#39;sheet_group&#39;: &#39;g1&#39;}
1524815342
</pre>
1524915343
</div>
1525015344
</div>
830 KB
Loading

0 commit comments

Comments
 (0)