Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
689 lines (441 sloc) 38.8 KB

Release notes

2.3.9

New Features

  • utility that creates a requirements.txt file from settings.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.yml with 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_quarto may install and remove unrelated packages (#1208), thanks to @seeM
  • fix: key error if widgets is missing state (#1207), thanks to @seeM -nbdev_install_quarto may install and remove unrelated packages (#1182)
  • Key error if widgets is missing state (#1167)

2.3.8

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

2.3.7

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.

2.3.4

New Features

Bugs Squashed

2.3.3

New Features

2.3.2

New Features

  • Support GitHub Enterprise (#944)

Bugs Squashed

  • nbdev_new fails with AttributeError: path_ (#1063)

2.3.1

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

2.3.0

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)
  • Vscode extension for nbdev which cleans notebooks (#952)
  • 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

2.2.10

Bugs Squashed

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

2.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_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)

2.2.7

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)

2.2.6

New Features

  • Build _modidx.py on 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_doc triggers 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

2.2.0

Breaking Changes

  • Combine preprocs and postprocs into new Processor class (#874)
  • Rename nbdev.read to nbdev.config (#879)
  • Use H3 for functions and properties, instead of H4 (#875)
  • Remove nbflags directive (#871)
  • Deprecate config_key in favor of get_config (#856), thanks to @seeM

New Features

  • Add simple qmd generation functions in nbdev.qmd (#893)
  • Add FrontmatterProc (#890)
  • Improvements to nbdev_new and nbdev_create_config (#878), thanks to @seeM
    • nbdev_create_config infers settings from git/GitHub, prompts for missing settings, and renders the settings file with commented sections
    • nbdev_new uses nbdev_create_config instead of a file provided by nbdev-template, which means it'll benefit from future improvements to nbdev_create_config as well as always using latest defaults
  • Add frontmatter bullet point processor (#873)
  • Allow specifying port for preview (#872), thanks to @dleen
  • nbdev_new renders notebooks with information from your config file (#866), thanks to @seeM
  • Improve config documentation in read module (#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_export warning 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_doc title_level argument has no effect (#869)
  • show_doc sometimes does not show wrapped functions correctly (#863)
  • show_doc treats functions decorated with lru_cache as classes (#862), thanks to @seeM
  • Fix show_doc signature whitespace removal (#855), thanks to @seeM
  • nbdev_new doesn't infer anything if no gitconfig (#846)
  • show_doc paremeter default may render as footnote (#796)
  • Conda description is empty (#745)

2.1.6

New Features

  • add nbdev_conda to create and upload conda packages (#850)

2.1.4

New Features

  • Add custom_quarto_yml setting (#842), thanks to @benoit-cty
  • Display multiline docstrings (#841)
  • Include filename in nbdev_export warning when nbdev1 syntax is used (#835)
  • Streamline nbdev_new: outputs are now in color, you can pass --lib_name, and it calls nbdev_export (#820), thanks to @seeM
  • A command for uploading to the test pypi server (#818), thanks to @tourdownunder
  • Include notebook title in nbdev_preview error message (#802)
  • Migrate collapsible code cell directives (#783), thanks to @hamelsmu
  • Simplify jupyter_hooks configuration (#780), thanks to @seeM
  • Support nbdev_install_hooks in 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_hooks in non-nbdev repos (#777)
  • Port doc() from nbdev1 (#772)
  • Make show_doc for function parameter defaults concise and deterministic (#771)
  • Clean id from text repr outputs to further avoid git merge conflicts (#749)
  • Add repo root to sys path on exec (#735)
  • Use frontmatter eval and showdoc for controlling notebook execution (#734)

Bugs Squashed

  • #|exports directive does not show source code in the docs (#822)
  • nbdev commands fail when doc_path contains whitespace (#813), thanks to @mone27
  • show_doc html renderer is incorrectly formatted (#808)
  • show_doc cell output is incorrectly styled (#807)
  • links aren't rendered as code (#795), thanks to @seeM
  • clean_ids corrupts string outputs (#794), thanks to @seeM
  • quarto frontmatter is removed (#789)
  • nbdev_merge fails on git stash pop conflict (#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_prepare throws BrokenProcessPool error on MacOS (#731)
  • settings.ini not inferred by nbdev_new on newly cloned repo on MacOS (#710)

2.1.2

New Features

  • use global defaults instead of respecifying each time (#770), thanks to @seeM
  • get_config works without a settings file (#768), thanks to @seeM
  • add site url (#767), thanks to @hamelsmu
  • add show_src to display rich source code (#763), thanks to @seeM
  • add support for #|exports (#762)
  • nbdev_merge prints info like git 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 user option to jupyter_hooks setting (#738), thanks to @seeM
  • Add appropriate output-file to existing frontmatter (#728)

Bugs Squashed

  • nbdev_prepare sometimes throws BrokenProcessPool error on MacOS (#731)
  • Incorrect relative import from package root inside nested module (#773)
  • Jupyter hooks break in environments without nbdev installed (#760)
  • nbdev_fix breaks with empty ours patch (#752)
  • fix nbdev_merge during rebase; fix nbdev_fix nobackup default (#737), thanks to @seeM
  • non-notebooks do not have nbformat field (#732), thanks to @dleen

2.1.1

New Features

  • add tools from fastrelease to nbdev (#733)

Bugs Squashed

  • fix nbdev_test with no --fname in non-nbdev repos (#730), thanks to @seeM
  • Auto-generated showdoc headers not in ToC (#703)

2.1.0

Breaking Changes

  • nbdev_sidebar now looks for .qmd files instead of .md files

New Features

  • automatically add output:asis for showdoc cells (#726)
  • accelerate nbdev_readme (#715)
  • deterministic show_doc and DocmentTbl repr (#707), thanks to @seeM

Bugs Squashed

  • KeyError 'repo' when trying to create a new nbdev project with nbdev_new (#720)
  • show_doc ends the details column at any | character (#712)
  • only add to .gitattributes if missing (#706), thanks to @seeM

2.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)

2.0.6

New Features

  • new jupyter save hook to clean NBs (#697), thanks to @seeM
  • new directive exec_doc to auto-exec cell when building docs (#699)
  • automatically escape YAML strings for title and description in frontmatter (#691)
  • add unbump param to nbdev_bump_version (#689)
  • install ghapi automatically (#690)

2.0.5

New Features

  • add nbdev_readme (#688)

2.0.4

New Features

  • add readme_nb config option (#668)

Bugs Squashed

  • exporti cells can cause showdocs exec to fail (#679)
  • missing .html suffix in links (#674)
  • Add early return (#670), thanks to @dleen

2.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_directives after upgrading to use the new comment directive format (e.g #| export instead of #export)

1.2.11

New Features

  • support py310 style union annotations (#636), thanks to @seeM

Bugs Squashed

  • fix show_doc for properties (#635), thanks to @seeM
  • nbdev_nb2md throws error when called in a notebook (#381)

1.2.10

New Features

Bugs Squashed

1.2.9

New Features

  • Implement show_doc for dataclass (#622), thanks to @MarkB2

Bugs Squashed

  • Fix show doc for object, class methods. (#621), thanks to @v-ahuja
  • Fix show doc for keywords. (#619), thanks to @v-ahuja
  • Including @dataclass breaks nbdev_build_lib (#595)
  • nbdev_nb2md throws error when called in a notebook (#381)

1.2.7

Bugs Squashed

  • Don't build NBs with no #default_exp

1.2.6

New Features

  • nbdev_build_libs now works on a single file even without a settings.ini or any #default_exp cell
  • Handle #| as directive prefix

Bugs Squashed

  • nbdev_nb2md throws error when called in a notebook (#381)

1.2.5

New Features

  • Update dependencies

1.2.3

Bugs Squashed

  • Pin jinja2 due to deprecation bug in nbconvert

1.2.2

New Features

  • Update dependencies

1.2.1

New Features

  • Make sure docments have linking capability (#585), thanks to @muellerzr
  • better logging for duplicate titles (#584), thanks to @hamelsmu

Bugs Squashed

1.2.0

  • upgrade nbconvert dep to v6

1.1.23

Bugs Squashed

  • fix verbose flag

1.1.20

New Features

  • skip symlinks in recursive glob (#515)

1.1.15

Breaking Changes

  • make recursive behavior for nbdev_build_docs consistent with nbdev_build_lib (#467), thanks to @hamelsmu

New Features

  • Allow for a one-time only (potentially) .py -> .ipynb generation (#369)

Bugs Squashed

  • Images with attachment: break export (#501), thanks to @yacchin1205
  • Docs nav doesn't work on gitlab (#488), thanks to @tcapelle
  • clean up all instances of recursive (#470), thanks to @hamelsmu
  • After 'conda install -c fastai nbdev', error "HTMLExporter object has no attribute template_path" (#431)

1.1.13

New Features

  • support windows (#392), thanks to @mszhanyi
  • nbdev_new: get template from latest release asset (#382), thanks to @hamelsmu
  • Add more license options

Bugs Squashed

  • Fix recursive flag (#433), thanks to @hamelsmu
  • conda not installing nbdev properly on WSL2 (#430)
  • fix nb2md (#424), thanks to @hamelsmu
  • nbdev_build_lib seems to convert more notebooks than expected (#423)
  • fix default arg issue with nbdev_update_lib (#416), thanks to @hamelsmu
  • nbdev_update_lib errors out when fname not supplied (#415)
  • nbdev_new fails on calling the GitHub API without guidance (#404)
  • fix recurse issue (#391), thanks to @hamelsmu
  • nbdev_build_docs----ModuleNotFoundError: No module named 'fastcore' (#390)
  • nbdev_test_nbs --fname broke in 1.1.7 (#388)
  • set recursive=True for docs (#387), thanks to @hamelsmu
  • fix url for getting branch (#386), thanks to @hamelsmu
  • nbdev_nb2md throws error when called in a notebook (#381)

1.1.12

New Features

  • nbdev_new should grab files from a release asset in nbdev_template (#383)
  • Use Jekyll Theme instead of vendoring all required files (#379)
  • Create relevant directories in docs/_data if do not already exist (#377)

1.1.6

New Features

  • Clean Google Colab metadata and line endings (#364), thanks to @muellerzr
  • add ability to find notebooks recursively (#359), thanks to @hamelsmu
  • Add bare flag to nbdev_build_lib (#336)
  • install git hooks in nbdev_new (#308)
  • nbdev_new now works on an existing cloned repo, instead of creating a new repo (#307)

Bugs Squashed

  • nbdev_update_lib --fname notebook.ipynb crashes (while nbdev_update_lib works) (#341)
  • Copy new files only if they don't exist for nbdev_new (#309)

1.1.3

New Features

  • Place source code below heading on #exports (#265), thanks to @hamelsmu

1.1.2

Bugs Squashed

  • update fastcore requirement (#281)

1.1.1

New Features

  • Make CLI faster by removing unneeded imports and moving CLI commands to source modules (#271)
  • Move Config to fastcore (#280)

1.1.0

Breaking Changes

  • Remove magics (#269)
  • Removed callbacks (#253), thanks to @pete88b
  • move conda packager to fastrelease (#252)

New Features

  • Place source code below heading on #exports (#265), thanks to @hamelsmu
  • always skip cells labeled "skip" in test (#257)

1.0.17

Bugs Squashed

  • restrict nbconvert<6 to avoid upgrade problems (#249)

1.0.16

Bugs Squashed

  • When generating docs, import cells are run even if not exported (#248)

1.0.15

New Features

  • add option to not exec nb for fastpages (#244)
  • Enable Codespaces for nbdev (#243)

Bugs Squashed

  • Fix: correct notebook2html path operation for Windows. (#239)

1.0.13

New Features

  • remove numpy conda dep and update to fastcore 1.0.5 (#241)

Bugs Squashed

  • allow nbdev imports when not in an nbdev project (#238)

1.0.10

New Features

  • Magic flags for tests (#232)
  • Add ability to have Colab badges on pages (#210)
  • Support for doc_path (#235)

Bugs Squashed

  • Remove colab vendor specific tags which cause nbdev_build_docs to fail (#207)
  • hooks folder inside .git must be manually created before nbdev_install_git_hooks (#230)
  • updates to how backtick names are converted to doc links (#218)

Version 1.0.0

  • Initial release