Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 57 additions & 8 deletions docs/clean.html
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,39 @@ <h4 id="rm_execution_count" class="doc_header"><code>rm_execution_count</code><a


<div class="output_markdown rendered_html output_subarea ">
<h4 id="clean_cell_output" class="doc_header"><code>clean_cell_output</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L18" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>clean_cell_output</code>(<strong><code>cell</code></strong>)</p>
<h4 id="clean_output_data_vnd" class="doc_header"><code>clean_output_data_vnd</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L19" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>clean_output_data_vnd</code>(<strong><code>o</code></strong>)</p>
</blockquote>
<p>Remove <code>application/vnd.google.colaboratory.intrinsic+json</code> in data entries</p>

</div>

</div>

</div>
</div>

</div>
{% endraw %}

{% raw %}

<div class="cell border-box-sizing code_cell rendered">

</div>
{% endraw %}

{% raw %}

<div class="cell border-box-sizing code_cell rendered">

<div class="output_wrapper">
<div class="output">

<div class="output_area">


<div class="output_markdown rendered_html output_subarea ">
<h4 id="clean_cell_output" class="doc_header"><code>clean_cell_output</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L28" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>clean_cell_output</code>(<strong><code>cell</code></strong>)</p>
</blockquote>
<p>Remove execution count in <code>cell</code></p>

Expand Down Expand Up @@ -136,7 +168,7 @@ <h4 id="clean_cell_output" class="doc_header"><code>clean_cell_output</code><a h


<div class="output_markdown rendered_html output_subarea ">
<h4 id="clean_cell" class="doc_header"><code>clean_cell</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L28" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>clean_cell</code>(<strong><code>cell</code></strong>, <strong><code>clear_all</code></strong>=<em><code>False</code></em>)</p>
<h4 id="clean_cell" class="doc_header"><code>clean_cell</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L40" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>clean_cell</code>(<strong><code>cell</code></strong>, <strong><code>clear_all</code></strong>=<em><code>False</code></em>)</p>
</blockquote>
<p>Clean <code>cell</code> by removing superluous metadata or everything except the input if <code>clear_all</code></p>

Expand All @@ -160,15 +192,24 @@ <h4 id="clean_cell" class="doc_header"><code>clean_cell</code><a href="https://g
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">tst</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;cell_type&#39;</span><span class="p">:</span> <span class="s1">&#39;code&#39;</span><span class="p">,</span>
<span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="mi">26</span><span class="p">,</span>
<span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;hide_input&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;meta&#39;</span><span class="p">:</span> <span class="mi">23</span><span class="p">},</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
<span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="p">{</span>
<span class="s1">&#39;application/vnd.google.colaboratory.intrinsic+json&#39;</span><span class="p">:</span> <span class="p">{</span>
<span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;string&#39;</span><span class="p">},</span>
<span class="s1">&#39;plain/text&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;sample output&#39;</span><span class="p">,]</span>
<span class="p">},</span>
<span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>

<span class="s1">&#39;source&#39;</span><span class="p">:</span> <span class="s1">&#39;awesome_code&#39;</span><span class="p">}</span>
<span class="n">tst1</span> <span class="o">=</span> <span class="n">tst</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>

<span class="n">clean_cell</span><span class="p">(</span><span class="n">tst</span><span class="p">)</span>
<span class="n">test_eq</span><span class="p">(</span><span class="n">tst</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;cell_type&#39;</span><span class="p">:</span> <span class="s1">&#39;code&#39;</span><span class="p">,</span>
<span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
<span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;hide_input&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">},</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
<span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;plain/text&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;sample output&#39;</span><span class="p">,]},</span>
<span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>
<span class="s1">&#39;source&#39;</span><span class="p">:</span> <span class="s1">&#39;awesome_code&#39;</span><span class="p">})</span>

<span class="n">clean_cell</span><span class="p">(</span><span class="n">tst1</span><span class="p">,</span> <span class="n">clear_all</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
Expand Down Expand Up @@ -204,7 +245,7 @@ <h4 id="clean_cell" class="doc_header"><code>clean_cell</code><a href="https://g


<div class="output_markdown rendered_html output_subarea ">
<h4 id="clean_nb" class="doc_header"><code>clean_nb</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L37" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>clean_nb</code>(<strong><code>nb</code></strong>, <strong><code>clear_all</code></strong>=<em><code>False</code></em>)</p>
<h4 id="clean_nb" class="doc_header"><code>clean_nb</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L49" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>clean_nb</code>(<strong><code>nb</code></strong>, <strong><code>clear_all</code></strong>=<em><code>False</code></em>)</p>
</blockquote>
<p>Clean <code>nb</code> from superfulous metadata, passing <code>clear_all</code> to <a href="/clean#clean_cell"><code>clean_cell</code></a></p>

Expand All @@ -228,7 +269,13 @@ <h4 id="clean_nb" class="doc_header"><code>clean_nb</code><a href="https://githu
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">tst</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;cell_type&#39;</span><span class="p">:</span> <span class="s1">&#39;code&#39;</span><span class="p">,</span>
<span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="mi">26</span><span class="p">,</span>
<span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;hide_input&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;meta&#39;</span><span class="p">:</span> <span class="mi">23</span><span class="p">},</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
<span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="p">{</span>
<span class="s1">&#39;application/vnd.google.colaboratory.intrinsic+json&#39;</span><span class="p">:</span> <span class="p">{</span>
<span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;string&#39;</span><span class="p">},</span>
<span class="s1">&#39;plain/text&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;sample output&#39;</span><span class="p">,]</span>
<span class="p">},</span>
<span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>
<span class="s1">&#39;source&#39;</span><span class="p">:</span> <span class="s1">&#39;awesome_code&#39;</span><span class="p">}</span>
<span class="n">nb</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;kernelspec&#39;</span><span class="p">:</span> <span class="s1">&#39;some_spec&#39;</span><span class="p">,</span> <span class="s1">&#39;jekyll&#39;</span><span class="p">:</span> <span class="s1">&#39;some_meta&#39;</span><span class="p">,</span> <span class="s1">&#39;meta&#39;</span><span class="p">:</span> <span class="mi">37</span><span class="p">},</span>
<span class="s1">&#39;cells&#39;</span><span class="p">:</span> <span class="p">[</span><span class="n">tst</span><span class="p">]}</span>
Expand All @@ -237,7 +284,9 @@ <h4 id="clean_nb" class="doc_header"><code>clean_nb</code><a href="https://githu
<span class="n">test_eq</span><span class="p">(</span><span class="n">nb</span><span class="p">[</span><span class="s1">&#39;cells&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span> <span class="p">{</span><span class="s1">&#39;cell_type&#39;</span><span class="p">:</span> <span class="s1">&#39;code&#39;</span><span class="p">,</span>
<span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
<span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;hide_input&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">},</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>
<span class="s1">&#39;outputs&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;execution_count&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
<span class="s1">&#39;data&#39;</span><span class="p">:</span> <span class="p">{</span> <span class="s1">&#39;plain/text&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;sample output&#39;</span><span class="p">,]},</span>
<span class="s1">&#39;output&#39;</span><span class="p">:</span> <span class="s1">&#39;super&#39;</span><span class="p">}],</span>
<span class="s1">&#39;source&#39;</span><span class="p">:</span> <span class="s1">&#39;awesome_code&#39;</span><span class="p">})</span>
<span class="n">test_eq</span><span class="p">(</span><span class="n">nb</span><span class="p">[</span><span class="s1">&#39;metadata&#39;</span><span class="p">],</span> <span class="p">{</span><span class="s1">&#39;kernelspec&#39;</span><span class="p">:</span> <span class="s1">&#39;some_spec&#39;</span><span class="p">,</span> <span class="s1">&#39;jekyll&#39;</span><span class="p">:</span> <span class="s1">&#39;some_meta&#39;</span><span class="p">})</span>
</pre></div>
Expand Down Expand Up @@ -287,7 +336,7 @@ <h2 id="Main-function">Main function<a class="anchor-link" href="#Main-function"


<div class="output_markdown rendered_html output_subarea ">
<h4 id="nbdev_clean_nbs" class="doc_header"><code>nbdev_clean_nbs</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L55" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>nbdev_clean_nbs</code>(<strong><code>fname</code></strong>:"A notebook name or glob to convert"=<em><code>None</code></em>, <strong><code>clear_all</code></strong>:"Clean all metadata and outputs"=<em><code>False</code></em>, <strong><code>disp</code></strong>:"Print the cleaned outputs"=<em><code>False</code></em>, <strong><code>read_input_stream</code></strong>:"Read input stram and not nb folder"=<em><code>False</code></em>)</p>
<h4 id="nbdev_clean_nbs" class="doc_header"><code>nbdev_clean_nbs</code><a href="https://github.com/fastai/nbdev/tree/master/nbdev/clean.py#L67" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>nbdev_clean_nbs</code>(<strong><code>fname</code></strong>:"A notebook name or glob to convert"=<em><code>None</code></em>, <strong><code>clear_all</code></strong>:"Clean all metadata and outputs"=<em><code>False</code></em>, <strong><code>disp</code></strong>:"Print the cleaned outputs"=<em><code>False</code></em>, <strong><code>read_input_stream</code></strong>:"Read input stram and not nb folder"=<em><code>False</code></em>)</p>
</blockquote>
<p>Clean all notebooks in <code>fname</code> to avoid merge conflicts</p>

Expand Down
2 changes: 2 additions & 0 deletions nbdev/_nbdev.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@
"nbdev_install_git_hooks": "06_cli.ipynb",
"nbdev_new": "06_cli.ipynb",
"rm_execution_count": "07_clean.ipynb",
"clean_output_data_vnd": "07_clean.ipynb",
"colab_json": "07_clean.ipynb",
"clean_cell_output": "07_clean.ipynb",
"cell_metadata_keep": "07_clean.ipynb",
"nb_metadata_keep": "07_clean.ipynb",
Expand Down
18 changes: 15 additions & 3 deletions nbdev/clean.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# AUTOGENERATED! DO NOT EDIT! File to edit: nbs/07_clean.ipynb (unless otherwise specified).

__all__ = ['rm_execution_count', 'clean_cell_output', 'cell_metadata_keep', 'nb_metadata_keep', 'clean_cell',
'clean_nb', 'nbdev_clean_nbs']
__all__ = ['rm_execution_count', 'clean_output_data_vnd', 'colab_json', 'clean_cell_output', 'cell_metadata_keep',
'nb_metadata_keep', 'clean_cell', 'clean_nb', 'nbdev_clean_nbs']

# Cell
import io,sys,json,glob
Expand All @@ -14,11 +14,23 @@ def rm_execution_count(o):
"Remove execution count in `o`"
if 'execution_count' in o: o['execution_count'] = None

# Cell
colab_json = "application/vnd.google.colaboratory.intrinsic+json"
def clean_output_data_vnd(o):
"Remove `application/vnd.google.colaboratory.intrinsic+json` in data entries"
if 'data' in o:
data = o['data']
if colab_json in data:
new_data = {k:v for k,v in data.items() if k != colab_json}
o['data'] = new_data

# Cell
def clean_cell_output(cell):
"Remove execution count in `cell`"
if 'outputs' in cell:
for o in cell['outputs']: rm_execution_count(o)
for o in cell['outputs']:
rm_execution_count(o)
clean_output_data_vnd(o)

# Cell
cell_metadata_keep = ["hide_input", "tags"]
Expand Down
Loading