Recent Releases of nbdev
nbdev - v2.4.3
New Features
- Remove obsolete pkg_resources (#1525)
- Update package build process and add 'build' to requirements (#1524), thanks to @RensDimmendaal
- Jupyter Notebook
Published by jph00 8 months ago
nbdev - v2.4.1
Breaking Changes
update_pyprojectdefaults to True, so existing custom pyproject files will be replaced or may cause an exception, unlessupdate_pyprojectconfig is set to False
New Features
- New
update_pyprojectconfig option to auto-generate or update pyproject.toml (#1515)
- Jupyter Notebook
Published by jph00 11 months ago
nbdev - v2.4.0
Breaking Changes
update_pyprojectdefaults to True, so existing custom pyproject files will be replaced or may cause an exception, unlessupdate_pyprojectconfig is set to False
New Features
- New
update_pyprojectconfig option to auto-generate or update pyproject.toml (#1515)
- Jupyter Notebook
Published by jph00 11 months ago
nbdev - v2.3.36
New Features
- Use plum dispatch (#1507), thanks to @RensDimmendaal
- auto-generate contribute.md from notebook (#1497), thanks to @bclavie
- Add exporting single notebook outside nbdev project (#1489), thanks to @radekosmulski
- add llms.txt (#1485), thanks to @radekosmulski
- Support for Quarto 1.6
_brand.yml(#1484), thanks to @marcusinthesky - Change symbols dict logic to prioritize builtins (#1482), thanks to @ncoop57
- Update NbdevLookup to support import aliases and improve docstrings (#1471), thanks to @ncoop57
- Html renderer improvements (#1463), thanks to @Isaac-Flath
- Watch export (#1454), thanks to @Isaac-Flath
Bugs Squashed
- New execnb required due to ipython 9 deprecation (#1504)
- fix: update workflow paths from fastai to answerdotai (#1496), thanks to @n-e-w
- Fix llmctxissue (#1491), thanks to @hamelsmu
- Export on modified only bug fix (#1456), thanks to @Isaac-Flath
- Regex Syntax Warning Fix (#1453), thanks to @Isaac-Flath
- Jupyter Notebook
Published by jph00 12 months ago
nbdev - v2.3.32
New Features
- Improve backtick regex matching for function names (#1469), thanks to @ncoop57
- make
nb_exporta cli Enhancement, thanks to @hamelsmu - Make
nbdev_exportwork outside nbdev repos (#799)
Bugs Squashed
- Use
rstrings to avoid new Python SyntaxWarnings in regex (#1452) - Nested
lib_pathvalues break module -> notebook sync (#1393)
- Jupyter Notebook
Published by jph00 over 1 year ago
nbdev - v2.3.26
New Features
- add enable/disable cell number in .py files (#1428), thanks to @dienhoa
- When exporting a notebook to a .py file, we currently have something like
# %% {nb_path} {cell_number}at the beginning of each exported cell. - This PR adds one new setting in the setting.ini:
cell_number. When set to False, we disable thecell_numberdiscussed above. - Side effect: The
cell_numberis used to update the changes from .py back to the notebook, so disabling it also disables this feature.
- When exporting a notebook to a .py file, we currently have something like
Bugs Squashed
- showdoc: SyntaxWarning: invalid escape sequence with Python 3.12 (#1396)
- Jupyter Notebook
Published by jph00 over 1 year ago
nbdev - v2.3.14
New Features
- Add --nobrowser option to nbdevpreview (#1400), thanks to @bamford
- added condauser and packagedata to cfg_tail (#1351), thanks to @dsm-72
- add repo and tag options to
nbdev_new(#1350), thanks to @dsm-72
Bugs Squashed
- Changed
serve.proc_nbsso that it makes use of its argumentsfile_globandfile_re(#1390), thanks to @lukastk
- Jupyter Notebook
Published by jph00 almost 2 years ago
nbdev - v2.3.13
New Features
- add support for 3.11 (#1373), thanks to @deven367
- update install_quarto to distinguish arm64 and amd64 (#1356), thanks to @JonasHarnau
- allow trailing
:in directives for YAML compliance (#1312), thanks to @hamelsmu - CI error on uncleaned notebooks suggests upgrading nbdev (#1308)
- Auto-add index file onto
section(#1307), thanks to @p4perf4ce - nbdev_clean: Add trailing newlines to mask diff between Jupyter and VSCode (#1292), thanks to @xl0
- exported modules can scrub_magics (#1250), thanks to @yegeniy
- Add extensions tutorial (#1228), thanks to @muellerzr
Bugs Squashed
- pin ipywidgets version (#1318), thanks to @hamelsmu
- Fix encoding issue for Windows OS User especially for non-English user (#1314), thanks to @JunDamin
- Jupyter Notebook
Published by jph00 over 2 years ago
nbdev - v2.3.11
New Features
- add agplv3 license to project options (#1268), thanks to @joel-lbth
- add 0 - Pre-planning status to project options (#1262), thanks to @ddobrinskiy
- add conda installation docs to end-to-end tutorial (#1215), thanks to @restlessronin
Bugs Squashed
- Fix
nbdev_condaerror when there are prior release tarballs (#1280), thanks to @restlessronin - delete build dir before pypi upload (#1277), thanks to @restlessronin
- copy contents of
_extensionsfolder from nbs (#1266), thanks to @restlessronin - Fix
nbdev_updatewhenlib_nameandlib_pathare not the same (#1254), thanks to @BirkhoffG - Make
nbdev_create_configwrite theblack_formattingsetting (#1235), thanks to @dmose - fix order of categories for migration (#1221), thanks to @hamelsmu
- make anaconda description links consistent with pypi (#1214), thanks to @restlessronin
- .get instead of acessing attr (#1023), thanks to @hamelsmu
- Jupyter Notebook
Published by jph00 about 3 years ago
nbdev - v2.3.9
New Features
- utility that creates a
requirements.txtfile fromsettings.ini(#1202), thanks to @hamelsmu - user-friendly error if py file has
# %%comments with unexpected format (#1211), thanks to @seeM - add parameter for name to
nb_export(#1204), thanks to @hamelsmu - ensure newline at end of
_modidx.py(#1186)
Bugs Squashed
- end
sidebar.ymlwith newline (#1212), thanks to @seeM - fix: incorrect regex pattern for setting
output-file(#1210), thanks to @seeM - ensure newline at end of
_modidx.py(#1209), thanks to @seeM - fix:
nbdev_install_quartomay install and remove unrelated packages (#1208), thanks to @seeM - fix: key error if widgets is missing
state(#1207), thanks to @seeM nbdev_install_quartomay install and remove unrelated packages (#1182)- Key error if widgets is missing
state(#1167)
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.3.8
New Features
- better error messages for
nbdev_migrate(#1177) - experimental: Users can provide extra processors via the
procskey insettings.ini(#1157), thanks to @seeM - enable Documentation Only Sites With
nbdev( + tutorial ) (#1121), thanks to @hamelsmu - support non-library projects (#1119)
- throw a warning when imports and code are mixed in a cell (#714)
Bugs Squashed
- fix duplicated sections in the sidebar (#1165), thanks to @seeM
- setting
#| echoin a cell withshow_doccauses a Quarto error (#1163) - fix copying of index assets (#1143), thanks to @hamelsmu
- images in index.ipynb causing deployments issues (#1140)
- clean takes forever on notebooks with large output (#1132)
nbdev_updateincludes folders starting with_or.(e.g..ipynb_checkpoints) (#1130), thanks to @seeMnbdev_newdefaults bool parameters toFalse(e.g.put_version_in_init) (#1129), thanks to @seeMblack_formattingsetting is ignored (#1122), thanks to @jmoraleznbdev_readme()fails on the second run for the notebook with support files (e.g. Fig image). (#1106)nbdev_newfails withAttributeError: path_(#1063)- fix #1041 (#1049), thanks to @seeM
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.3.7
New Features
- Set recursive
Trueby default (#1117), thanks to @seeM exec_docsupports re-rendering widgets (#1113), thanks to @seeM- If users update widgets with the
exec_docdirective, the widget "view" is updated (in the cell output), but the old widget "state" is used (in notebook metadata). This refreshes widget state usingipywidgets.Widget.get_manager_state.
- If users update widgets with the
nbdev_newpins on major+minor version ofnbdev-template(#1091)nbdev_proc_nbscompletes all steps to build_procfor publishing (#1086)nbdev_newdefaultsnbs_pathsetting to'nbs'(#1083)- Since all website files (quarto config, css, images, etc) are in
nbs_path, the current defaultnbs_path='.'can clutter the root folder.
- Since all website files (quarto config, css, images, etc) are in
nbdev_newqueriesbranchfrom GitHub (#1080)
Bugs Squashed
- fix exporting
patch_towhich is decorated withstaticmethod(#1100), thanks to @seeM show_docerrors if a dependency in thenbdevgroup has a sub-dependency that isn't installed (#1097)- Running
nbdev_migratewhile upgrading removes nbdev2 compatible directives (#1089) - respect
#|hideand#|include: falsefor showdoc (#1079), thanks to @hamelsmu - Export class to library but hide from documentation (#1076)
nbdev_cleanremoves widget state (#1069)- If widget state is present, it means the user had intentionally changed settings in their notebook editor.
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.3.1
Breaking Changes
_quarto.ymlno longer replaced with automatically generated version (#1059)- This was listed in 2.3.0 but wasn't actually included in the release
Bugs Squashed
- fix
nbdev_update(#1058), thanks to @seeM- fix bug in
nbdev.maker.update_importwhich meant thatnbdev_updatedidn't convert relative imports withoutNonemodule (e.gfrom . import foo->from pkg import foo) - fix
FileNotFoundErrorinnbdev_updateby passing the correct py module and corresponding notebook paths - fix
nbdev_updateintroducing whitespace changes to notebooks
- fix bug in
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.3.0
Breaking Changes
_quarto.ymlno longer replaced with automatically generated version- You can now customise your
_quarto.ymlfile and it will not be overridden by nbdev - This means that
custom_hostandcustom_portinsettings.iniare no longer supported -- use the standard quarto configuration instead
- You can now customise your
- Parallel ipynb filter (#961)
ipynb-filtersin_quarto.ymlis no longer needed or recommended. Instead, nbdev preprocesses your notebooks in parallel into a folder called_procbefore calling quarto- The new processing system generally results in speedups of around 10x compared to the previous approach
- Deprecate
config_keyin favor ofget_config(#856), thanks to @seeM
New Features
- Setting
put_version_in_initto make adding__version__to__init__.pyoptional (#1051), thanks to @MichaelJFishmanBA nbdev_newsupport for GitHub Enterprise (#1043), thanks to @seeM- Use
GITHUB_TOKENif present fornbdev.release(#1025) - Support non qmd py rendering scripts (#1014)
- Use penultimate suffix for extension of rendered .py scripts (#1010)
- Print
nbdev_testcell errors to stderr instead of usinglogging.warning(#1003) - Make nb meta
display_nameconsistent withnameto simplify diffs (#995) - Windows support for clean nb (#989), thanks to @jvanelteren
- Preview support for parallel filter (#976)
- Settings.ini option for choosing preview listen port (#967)
- Authenticate nbdev-template github API call (#940)
- Add
printitarg tonbdev_filterso it can be called withfnameand still print to stdout (#931), thanks to @seeM - Run
nbdev_readmeinnbdev_new(#919), thanks to @seeM - Improve config documentation in
readmodule (#864), thanks to @seeM - Simplify
jupyter_hooksconfiguration (#780), thanks to @seeM
Bugs Squashed
- Class method doclinks target
mod.html#methodinstead ofmod.html#class.method(#1046), thanks to @seeM - "Bad credentials" error in
nbdev_newif GitHub EnterpriseGH_HOSTandGITHUB_TOKENare used (#1038) - Suppress
UserWarningfor unsetGITHUB_TOKENinnbdev_new(#1028), thanks to @seeM nbdev.releaseusescfg.lib_nameinstead ofcfg.repo(#1024), thanks to @seeMnbdev_testdoes not restore the original working directory (#1004)clean_idscorrupts string outputs (#794), thanks to @seeM
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.2.9
New Features
- Experimental: pre-commit hooks (#959), thanks to @seeM
- setup GitHub repo automatically (#955), thanks to @hamelsmu
- Authenticate nbdev-template github API call (#940)
- Support module level docstrings (#473)
Bugs Squashed
show_docincludes parsed sections from numpy docstrings (#964)AnnAssignobject has no attribute 'targets' (#953)- Exported images not found in docs (#951)
- fix #769 (#946), thanks to @hamelsmu
recursivein settings.ini ignored (#942)- Wrong source link when using @patch (#939)
- Deploy Action fails with
ModuleNotFoundError: No module named 'https://github'(#936) - Recursive mode doesn't seem to work when running
nbdev_preview(#935) - Update All Python Scripts to nbs similar to
nbdev_update_libin v1 (#769)
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.2.7
New Features
- Add
printitarg tonbdev_filterso it can be called withfnameand still print to stdout (#931), thanks to @seeM - Run
nbdev_readmeinnbdev_new(#919), thanks to @seeM - In
nbdev_prepare()auto render README if needed (#913) - Filter keys stored in modidx settings (#903)
- Regression: reintroduce
[source]link (#692)
Bugs Squashed
- Deploy Action fails with
ModuleNotFoundError: No module named 'https://github'(#936) - Correct cell index in
nbdev_update(#934), thanks to @hamelsmu - Handle repo names with dashes and correct index page rendering with file attachments (#930), thanks to @hamelsmu
IPython.display.Image(embed=True)results in incorrect image reference in GitHub Pages (#924)nbdev_previewnot starting if there is a folder with no notebook in it (#922)- Fix images (#918), thanks to @seeM
nbdev_updatecreates a new cell, instead of updating the original code (#775)
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.2.6
New Features
- Build
_modidx.pyon demand in order to git conflicts (#911) - Add source link to index (#909)
- Order left navigation sections using numeric prefix (#901)
- Automatic rendering of python files with frontmatter (#895)
Bugs Squashed
- Make sure
#|exec_doctriggers an update even when there is no export or show_doc (#906), thanks to @hamelsmu - allow nbdev directives to work with cell magic (#905), thanks to @hamelsmu
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.2.0
Breaking Changes
- Combine preprocs and postprocs into new
Processorclass (#874) - Rename
nbdev.readtonbdev.config(#879) - Use H3 for functions and properties, instead of H4 (#875)
- Remove
nbflagsdirective (#871) - Deprecate
config_keyin favor ofget_config(#856), thanks to @seeM
New Features
- Add simple qmd generation functions in
nbdev.qmd(#893) - Add
FrontmatterProc(#890) - Improvements to
nbdev_newandnbdev_create_config(#878), thanks to @seeMnbdev_create_configinfers settings from git/GitHub, prompts for missing settings, and renders the settings file with commented sectionsnbdev_newusesnbdev_create_configinstead of a file provided bynbdev-template, which means it'll benefit from future improvements tonbdev_create_configas well as always using latest defaults
- Add frontmatter bullet point processor (#873)
- Allow specifying port for preview (#872), thanks to @dleen
nbdev_newrenders notebooks with information from your config file (#866), thanks to @seeM- Improve config documentation in
readmodule (#864), thanks to @seeM - Install quarto without root access (#860)
- Explain more detail during quarto installation process (#859)
- Automatically maintain
__version__in__init__.py(#854) - Prettify output for
nbdev_test(#849), thanks to @deven367 - Ignore .ipynb_checkpoints folder in module dir (#848), thanks to @dleen
- Escape Footnotes from Docments Table (#847), thanks to @hamelsmu
- Include filename in
nbdev_exportwarning when nbdev1 syntax is used (#838), thanks to @seeM - Show title if nbdev_filter errors (#828), thanks to @hamelsmu
- Added "topics" to match GitHub's terminology (#817), thanks to @tylere
- Accelerate
quarto preview(#748) - Throw a warning when imports and code are mixed in a cell (#714)
- Make conda release work for anyone (#653)
Bugs Squashed
_all_works for strings but not objects in py3.7 (#870)show_doctitle_levelargument has no effect (#869)show_docsometimes does not show wrapped functions correctly (#863)show_doctreats functions decorated withlru_cacheas classes (#862), thanks to @seeM- Fix
show_docsignature whitespace removal (#855), thanks to @seeM nbdev_newdoesn't infer anything if no gitconfig (#846)show_docparemeter default may render as footnote (#796)- Conda description is empty (#745)
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.1.4
New Features
- Add
custom_quarto_ymlsetting (#842), thanks to @benoit-cty - Display multiline docstrings (#841)
- Include filename in
nbdev_exportwarning when nbdev1 syntax is used (#835) - Streamline
nbdev_new: outputs are now in color, you can pass--lib_name, and it callsnbdev_export(#820), thanks to @seeM - A command for uploading to the test pypi server (#818), thanks to @tourdownunder
- Include notebook title in
nbdev_previewerror message (#802) - Migrate collapsible code cell directives (#783), thanks to @hamelsmu
- Simplify
jupyter_hooksconfiguration (#780), thanks to @seeM - Support
nbdev_install_hooksin non-nbdev repos (#779), thanks to @seeM - Allow users to provide user-level settings in ~/.config/nbdev/settings.ini (#778), thanks to @seeM
- Support
nbdev_install_hooksin non-nbdev repos (#777) - Port
doc()from nbdev1 (#772) - Make
show_docfor function parameter defaults concise and deterministic (#771) - Clean
idfrom textreproutputs to further avoid git merge conflicts (#749) - Add repo root to sys path on exec (#735)
- Use frontmatter
evalandshowdocfor controlling notebook execution (#734)
Bugs Squashed
- #|exports directive does not show source code in the docs (#822)
- nbdev commands fail when
doc_pathcontains whitespace (#813), thanks to @mone27 show_dochtml renderer is incorrectly formatted (#808)show_doccell output is incorrectly styled (#807)- links aren't rendered as code (#795), thanks to @seeM
clean_idscorrupts string outputs (#794), thanks to @seeM- quarto frontmatter is removed (#789)
nbdev_mergefails ongit stash popconflict (#787), thanks to @seeM- Hooks search Jupyter start directory instead of notebook directory for settings file (#784), thanks to @dleen
- Allow for dash in Quarto directives (#782), thanks to @hamelsmu
- Fix directive migration when there is no test flag (#781), thanks to @hamelsmu
nbdev_preparethrows BrokenProcessPool error on MacOS (#731)- settings.ini not inferred by
nbdev_newon newly cloned repo on MacOS (#710)
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.1.2
New Features
- use global defaults instead of respecifying each time (#770), thanks to @seeM
get_configworks without a settings file (#768), thanks to @seeM- add site url (#767), thanks to @hamelsmu
- add
show_srcto display rich source code (#763), thanks to @seeM - add support for
#|exports(#762) nbdev_mergeprints info likegit merge(#753)- helpers to convert fp front matter to quarto front matter (#750), thanks to @hamelsmu
- Streamline default settings (#747)
- Config keys (and their defaults) should all be documented in one place
- add
useroption tojupyter_hookssetting (#738), thanks to @seeM - Add appropriate
output-fileto existing frontmatter (#728)
Bugs Squashed
nbdev_preparesometimes throws BrokenProcessPool error on MacOS (#731)- Incorrect relative import from package root inside nested module (#773)
- Jupyter hooks break in environments without
nbdevinstalled (#760) nbdev_fixbreaks with emptyourspatch (#752)- fix
nbdev_mergeduring rebase; fixnbdev_fixnobackupdefault (#737), thanks to @seeM - non-notebooks do not have nbformat field (#732), thanks to @dleen
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.1.0
Breaking Changes
nbdev_sidebarnow looks for.qmdfiles instead of.mdfiles
New Features
- automatically add
output:asisfor showdoc cells (#726) - accelerate
nbdev_readme(#715) - deterministic
show_docandDocmentTblrepr(#707), thanks to @seeM
Bugs Squashed
- KeyError 'repo' when trying to create a new nbdev project with
nbdev_new(#720) show_docends the details column at any|character (#712)- only add to
.gitattributesif missing (#706), thanks to @seeM
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.0.7
New Features
- git merge hooks: automatically resolve conflicts and render markers as separate cells (#704), thanks to @seeM
- Allow clean to keep some metadata keys (#672), thanks to @dleen
- enable mac terminal install instead of visual installer (#705), thanks to @hamelsmu
- Conditional content for markdown vs HTML for README (#694), thanks to @hamelsmu
- Export a single module (#652)
Bugs Squashed
- Re-enable Mac CI #425)
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.0.6
New Features
- new jupyter save hook to clean NBs (#697), thanks to @seeM
- new directive
exec_docto auto-exec cell when building docs (#699) - automatically escape YAML strings for title and description in frontmatter (#691)
- add
unbumpparam tonbdev_bump_version(#689) - install ghapi automatically (#690)
- Jupyter Notebook
Published by jph00 over 3 years ago
nbdev - v2.0.0
- From-scratch rewrite of nbdev! nbdev now uses Quarto to create beautiful and full-featured websites
- nbdev2 is much faster than previous versions
- Note that you should run
nbdev_migrate_directivesafter upgrading to use the new comment directive format (e.g#| exportinstead of#export)
- Jupyter Notebook
Published by jph00 over 3 years ago