nbdev 3.0.13__tar.gz → 3.0.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nbdev-3.0.13/nbdev.egg-info → nbdev-3.0.15}/PKG-INFO +1 -1
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/__init__.py +1 -1
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/clean.py +11 -7
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/maker.py +6 -8
- {nbdev-3.0.13 → nbdev-3.0.15/nbdev.egg-info}/PKG-INFO +1 -1
- {nbdev-3.0.13 → nbdev-3.0.15}/CONTRIBUTING.md +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/LICENSE +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/MANIFEST.in +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/README.md +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/_modidx.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/cli.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/config.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/diff.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/doclinks.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/export.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/extract_attachments.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/frontmatter.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/imports.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/merge.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/migrate.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/process.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/processors.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/qmd.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/quarto.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/release.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/scrubmagics.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/serve.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/serve_drv.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/showdoc.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/sync.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev/test.py +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev.egg-info/SOURCES.txt +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev.egg-info/dependency_links.txt +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev.egg-info/entry_points.txt +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev.egg-info/requires.txt +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/nbdev.egg-info/top_level.txt +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/pyproject.toml +0 -0
- {nbdev-3.0.13 → nbdev-3.0.15}/setup.cfg +0 -0
|
@@ -58,7 +58,7 @@ def _clean_cell_output_id(lines):
|
|
|
58
58
|
return _skip_or_sub(lines) if isinstance(lines,str) else [_skip_or_sub(o) for o in lines]
|
|
59
59
|
|
|
60
60
|
# %% ../nbs/api/11_clean.ipynb #b4cde615
|
|
61
|
-
def _clean_cell_output(cell, clean_ids):
|
|
61
|
+
def _clean_cell_output(cell, clean_ids, allowed_out_meta_keys):
|
|
62
62
|
"Remove `cell` output execution count and optionally ids from text reprs"
|
|
63
63
|
outputs = cell.get('outputs', [])
|
|
64
64
|
for o in outputs:
|
|
@@ -69,15 +69,15 @@ def _clean_cell_output(cell, clean_ids):
|
|
|
69
69
|
if k.startswith('text') and clean_ids: data[k] = _clean_cell_output_id(data[k])
|
|
70
70
|
if k.startswith('image') and "svg" not in k: data[k] = data[k].rstrip()
|
|
71
71
|
if 'text' in o and clean_ids: o['text'] = _clean_cell_output_id(o['text'])
|
|
72
|
-
|
|
72
|
+
if 'metadata' in o: o['metadata'] = {k:v for k,v in o['metadata'].items() if k in allowed_out_meta_keys}
|
|
73
73
|
|
|
74
74
|
# %% ../nbs/api/11_clean.ipynb #2ba79c93
|
|
75
|
-
def _clean_cell(cell, clear_all, allowed_metadata_keys, clean_ids):
|
|
75
|
+
def _clean_cell(cell, clear_all, allowed_metadata_keys, clean_ids, allowed_out_meta_keys):
|
|
76
76
|
"Clean `cell` by removing superfluous metadata or everything except the input if `clear_all`"
|
|
77
77
|
if 'execution_count' in cell: cell['execution_count'] = None
|
|
78
78
|
if 'outputs' in cell:
|
|
79
79
|
if clear_all: cell['outputs'] = []
|
|
80
|
-
else: _clean_cell_output(cell, clean_ids)
|
|
80
|
+
else: _clean_cell_output(cell, clean_ids, allowed_out_meta_keys)
|
|
81
81
|
if cell['source'] == ['']: cell['source'] = []
|
|
82
82
|
cell['metadata'] = {} if clear_all else {
|
|
83
83
|
k:v for k,v in cell['metadata'].items() if k in allowed_metadata_keys}
|
|
@@ -90,13 +90,16 @@ def clean_nb(
|
|
|
90
90
|
allowed_metadata_keys:list=None, # Preserve the list of keys in the main notebook metadata
|
|
91
91
|
allowed_cell_metadata_keys:list=None, # Preserve the list of keys in cell level metadata
|
|
92
92
|
clean_ids=True, # Remove ids from plaintext reprs?
|
|
93
|
+
allowed_out_metadata_keys:list=None, # Preserve the list of keys in output metadata
|
|
93
94
|
):
|
|
94
95
|
"Clean `nb` from superfluous metadata"
|
|
95
96
|
metadata_keys = {"kernelspec", "jekyll", "jupytext", "doc", "widgets"}
|
|
96
97
|
if allowed_metadata_keys: metadata_keys.update(allowed_metadata_keys)
|
|
97
98
|
cell_metadata_keys = {"hide_input"}
|
|
98
99
|
if allowed_cell_metadata_keys: cell_metadata_keys.update(allowed_cell_metadata_keys)
|
|
99
|
-
|
|
100
|
+
out_meta_keys = set()
|
|
101
|
+
if allowed_out_metadata_keys: out_meta_keys.update(allowed_out_metadata_keys)
|
|
102
|
+
for c in nb['cells']: _clean_cell(c, clear_all, cell_metadata_keys, clean_ids, out_meta_keys)
|
|
100
103
|
if nb.get('metadata', {}).get('kernelspec', {}).get('name', None):
|
|
101
104
|
nb['metadata']['kernelspec']['display_name'] = nb["metadata"]["kernelspec"]["name"]
|
|
102
105
|
nb['metadata'] = {k:v for k,v in nb['metadata'].items() if k in metadata_keys}
|
|
@@ -127,7 +130,8 @@ def _nbdev_clean(nb, path=None, clear_all=None):
|
|
|
127
130
|
clear_all = clear_all or cfg.clear_all
|
|
128
131
|
allowed_metadata_keys = cfg.get("allowed_metadata_keys") or []
|
|
129
132
|
allowed_cell_metadata_keys = cfg.get("allowed_cell_metadata_keys") or []
|
|
130
|
-
|
|
133
|
+
allowed_out_metadata_keys = cfg.get("allowed_out_metadata_keys") or []
|
|
134
|
+
clean_nb(nb, clear_all, allowed_metadata_keys, allowed_cell_metadata_keys, cfg.clean_ids, allowed_out_metadata_keys)
|
|
131
135
|
if path: nbdev_trust.__wrapped__(path)
|
|
132
136
|
|
|
133
137
|
# %% ../nbs/api/11_clean.ipynb #6af3b9d4
|
|
@@ -209,7 +213,7 @@ def nbdev_install_hooks():
|
|
|
209
213
|
os.chmod(fn, os.stat(fn).st_mode | stat.S_IEXEC)
|
|
210
214
|
|
|
211
215
|
cmd = 'git config --local include.path ../.gitconfig'
|
|
212
|
-
(repo_path/'.gitconfig').write_text(f'''# Generated by
|
|
216
|
+
(repo_path/'.gitconfig').write_text(f'''# Generated by nbdev-install-hooks
|
|
213
217
|
#
|
|
214
218
|
# If you need to disable this instrumentation do:
|
|
215
219
|
# git config --local --unset include.path
|
|
@@ -5,10 +5,6 @@
|
|
|
5
5
|
# %% auto #0
|
|
6
6
|
__all__ = ['find_var', 'read_var', 'update_var', 'ModuleMaker', 'decor_id', 'make_code_cells', 'relative_import', 'update_import']
|
|
7
7
|
|
|
8
|
-
# %% ../nbs/api/02_maker.ipynb #aac32462
|
|
9
|
-
#| export
|
|
10
|
-
|
|
11
|
-
|
|
12
8
|
# %% ../nbs/api/02_maker.ipynb #ae4d461b
|
|
13
9
|
from .config import *
|
|
14
10
|
from .imports import *
|
|
@@ -23,6 +19,7 @@ import ast,contextlib
|
|
|
23
19
|
from collections import defaultdict
|
|
24
20
|
from pprint import pformat
|
|
25
21
|
from textwrap import TextWrapper
|
|
22
|
+
from itertools import dropwhile,takewhile
|
|
26
23
|
|
|
27
24
|
# %% ../nbs/api/02_maker.ipynb #c2d38766
|
|
28
25
|
def find_var(lines, varname):
|
|
@@ -178,12 +175,13 @@ def _import2relative(cells, lib_path=None):
|
|
|
178
175
|
|
|
179
176
|
# %% ../nbs/api/02_maker.ipynb #5bff9d71
|
|
180
177
|
def _retr_mdoc(cells):
|
|
181
|
-
"Search for md meta quote
|
|
178
|
+
"Search for md meta quote lines, used to create module docstring"
|
|
182
179
|
md1 = first(o for o in cells if o.cell_type=='markdown' and o.source.startswith('# '))
|
|
183
180
|
if not md1: return ''
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
181
|
+
lines = dropwhile(lambda l: not l.startswith('> '), md1.source.splitlines())
|
|
182
|
+
lines = list(takewhile(lambda l: l.startswith('> '), lines))
|
|
183
|
+
if not lines: return ''
|
|
184
|
+
summ = '\n'.join(l.lstrip('> ').strip() for l in lines)
|
|
187
185
|
return f'"""{summ}"""\n\n' if summ else ''
|
|
188
186
|
|
|
189
187
|
# %% ../nbs/api/02_maker.ipynb #cdd205d6
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|