Skip to content

Releases: fastai/nbdev

v2.3.8

02 Nov 02:07
Compare
Choose a tag to compare

New Features

  • better error messages for nbdev_migrate (#1177)
  • experimental: Users can provide extra processors via the procs key in settings.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 #| echo in a cell with show_doc causes 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_update includes folders starting with _ or . (e.g. .ipynb_checkpoints) (#1130), thanks to @seeM
  • nbdev_new defaults bool parameters to False (e.g. put_version_in_init) (#1129), thanks to @seeM
  • black_formatting setting is ignored (#1122), thanks to @jmoralez
  • nbdev_readme() fails on the second run for the notebook with support files (e.g. Fig image). (#1106)
  • nbdev_new fails with AttributeError: path_ (#1063)
  • fix #1041 (#1049), thanks to @seeM

v2.3.7

26 Sep 00:12
Compare
Choose a tag to compare

New Features

  • Set recursive True by default (#1117), thanks to @seeM
  • exec_doc supports re-rendering widgets (#1113), thanks to @seeM
    • If users update widgets with the exec_doc directive, the widget "view" is updated (in the cell output), but the old widget "state" is used (in notebook metadata). This refreshes widget state using ipywidgets.Widget.get_manager_state.
  • nbdev_new pins on major+minor version of nbdev-template (#1091)
  • nbdev_proc_nbs completes all steps to build _proc for publishing (#1086)
  • nbdev_new defaults nbs_path setting to 'nbs' (#1083)
    • Since all website files (quarto config, css, images, etc) are in nbs_path, the current default nbs_path='.' can clutter the root folder.
  • nbdev_new queries branch from GitHub (#1080)

Bugs Squashed

  • fix exporting patch_to which is decorated with staticmethod (#1100), thanks to @seeM
  • show_doc errors if a dependency in the nbdev group has a sub-dependency that isn't installed (#1097)
  • Running nbdev_migrate while upgrading removes nbdev2 compatible directives (#1089)
  • respect #|hide and #|include: false for showdoc (#1079), thanks to @hamelsmu
  • Export class to library but hide from documentation (#1076)
  • nbdev_clean removes widget state (#1069)
    • If widget state is present, it means the user had intentionally changed settings in their notebook editor.

v2.3.4

16 Sep 23:44
Compare
Choose a tag to compare

New Features

Bugs Squashed

v2.3.3

16 Sep 00:21
Compare
Choose a tag to compare

New Features

v2.3.2

15 Sep 09:01
Compare
Choose a tag to compare

New Features

  • Support GitHub Enterprise (#944)

Bugs Squashed

  • nbdev_new fails with AttributeError: path_ (#1063)

v2.3.1

14 Sep 19:23
Compare
Choose a tag to compare

Breaking Changes

  • _quarto.yml no 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_import which meant that nbdev_update didn't convert relative imports without None module (e.g from . import foo -> from pkg import foo)
    • fix FileNotFoundError in nbdev_update by passing the correct py module and corresponding notebook paths
    • fix nbdev_update introducing whitespace changes to notebooks

v2.3.0

14 Sep 05:44
Compare
Choose a tag to compare

Breaking Changes

  • _quarto.yml no longer replaced with automatically generated version
    • You can now customise your _quarto.yml file and it will not be overridden by nbdev
    • This means that custom_host and custom_port in settings.ini are no longer supported -- use the standard quarto configuration instead
  • Parallel ipynb filter (#961)
    • ipynb-filters in _quarto.yml is no longer needed or recommended. Instead, nbdev preprocesses your notebooks in parallel into a folder called _proc before calling quarto
    • The new processing system generally results in speedups of around 10x compared to the previous approach
  • Deprecate config_key in favor of get_config (#856), thanks to @seeM

New Features

  • Setting put_version_in_init to make adding __version__ to __init__.py optional (#1051), thanks to @MichaelJFishmanBA
  • nbdev_new support for GitHub Enterprise (#1043), thanks to @seeM
  • Use GITHUB_TOKEN if present for nbdev.release (#1025)
  • Support non qmd py rendering scripts (#1014)
  • Use penultimate suffix for extension of rendered .py scripts (#1010)
  • Print nbdev_test cell errors to stderr instead of using logging.warning (#1003)
  • Make nb meta display_name consistent with name to 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 printit arg to nbdev_filter so it can be called with fname and still print to stdout (#931), thanks to @seeM
  • Run nbdev_readme in nbdev_new (#919), thanks to @seeM
  • Improve config documentation in read module (#864), thanks to @seeM
  • Simplify jupyter_hooks configuration (#780), thanks to @seeM

Bugs Squashed

  • Class method doclinks target mod.html#method instead of mod.html#class.method (#1046), thanks to @seeM
  • "Bad credentials" error in nbdev_new if GitHub Enterprise GH_HOST and GITHUB_TOKEN are used (#1038)
  • Suppress UserWarning for unset GITHUB_TOKEN in nbdev_new (#1028), thanks to @seeM
  • nbdev.release uses cfg.lib_name instead of cfg.repo (#1024), thanks to @seeM
  • nbdev_test does not restore the original working directory (#1004)
  • clean_ids corrupts string outputs (#794), thanks to @seeM

v2.2.10

01 Sep 17:29
Compare
Choose a tag to compare

Bugs Squashed

  • missing doc_path.name in _docs move (#973)

v2.2.9

01 Sep 17:18
Compare
Choose a tag to compare

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_doc includes parsed sections from numpy docstrings (#964)
  • AnnAssign object has no attribute 'targets' (#953)
  • Exported images not found in docs (#951)
  • fix #769 (#946), thanks to @hamelsmu
  • recursive in 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_lib in v1 (#769)

v2.2.7

26 Aug 01:44
Compare
Choose a tag to compare

New Features

  • Add printit arg to nbdev_filter so it can be called with fname and still print to stdout (#931), thanks to @seeM
  • Run nbdev_readme in nbdev_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_preview not starting if there is a folder with no notebook in it (#922)
  • Fix images (#918), thanks to @seeM
  • nbdev_update creates a new cell, instead of updating the original code (#775)