|
22 | 22 | ":::" |
23 | 23 | ] |
24 | 24 | }, |
| 25 | + { |
| 26 | + "cell_type": "markdown", |
| 27 | + "id": "b56fe3f2", |
| 28 | + "metadata": {}, |
| 29 | + "source": [ |
| 30 | + "## 🛑**Jan 2026 Major Version Update -- Breaking Change**🛑\n", |
| 31 | + "\n", |
| 32 | + "**nbdev3 is here!** As many of you have been requesting, configuration has moved from `settings.ini` to `pyproject.toml`, following modern Python packaging standards ([PEP 621](https://peps.python.org/pep-0621/)). Your project metadata now lives in the standard `[project]` section, while nbdev-specific settings go in `[tool.nbdev]`.\n", |
| 33 | + "\n", |
| 34 | + "**Migrating from nbdev2:** Run `nbdev_migrate_config` in your project root to automatically convert your `settings.ini` to `pyproject.toml` and update your GitHub Actions workflows to use nbdev3-compatible versions. Your existing notebooks and code don't need any changes." |
| 35 | + ] |
| 36 | + }, |
25 | 37 | { |
26 | 38 | "cell_type": "markdown", |
27 | 39 | "id": "c512bf61", |
|
67 | 79 | "pip install nbdev\n", |
68 | 80 | "```\n", |
69 | 81 | "\n", |
70 | | - "... or with conda (or mamba):\n", |
71 | | - "\n", |
72 | | - "```sh\n", |
73 | | - "conda install -c fastai nbdev\n", |
74 | | - "```\n", |
75 | | - "\n", |
76 | 82 | "Note that `nbdev` must be installed into the same Python environment that you use for both Jupyter and your project." |
77 | 83 | ] |
78 | 84 | }, |
|
142 | 148 | "name": "stdout", |
143 | 149 | "output_type": "stream", |
144 | 150 | "text": [ |
145 | | - "\u001b[1m\u001b[94mnbdev_bump_version\u001b[22m\u001b[39m Increment version in settings.ini by one\n", |
146 | | - "\u001b[1m\u001b[94mnbdev_changelog\u001b[22m\u001b[39m Create a CHANGELOG.md file from closed and labeled GitHub issues\n", |
147 | | - "\u001b[1m\u001b[94mnbdev_clean\u001b[22m\u001b[39m Clean all notebooks in `fname` to avoid merge conflicts\n", |
148 | | - "\u001b[1m\u001b[94mnbdev_conda\u001b[22m\u001b[39m Create a `meta.yaml` file ready to be built into a package, and optionally build and upload it\n", |
149 | | - "\u001b[1m\u001b[94mnbdev_create_config\u001b[22m\u001b[39m Create a config file.\n", |
150 | | - "\u001b[1m\u001b[94mnbdev_docs\u001b[22m\u001b[39m Create Quarto docs and README.md\n", |
151 | | - "\u001b[1m\u001b[94mnbdev_export\u001b[22m\u001b[39m Export notebooks in `path` to Python modules\n", |
152 | | - "\u001b[1m\u001b[94mnbdev_filter\u001b[22m\u001b[39m A notebook filter for Quarto\n", |
153 | | - "\u001b[1m\u001b[94mnbdev_fix\u001b[22m\u001b[39m Create working notebook from conflicted notebook `nbname`\n", |
154 | | - "\u001b[1m\u001b[94mnbdev_help\u001b[22m\u001b[39m Show help for all console scripts\n", |
155 | | - "\u001b[1m\u001b[94mnbdev_install\u001b[22m\u001b[39m Install Quarto and the current library\n", |
156 | | - "\u001b[1m\u001b[94mnbdev_install_hooks\u001b[22m\u001b[39m Install Jupyter and git hooks to automatically clean, trust, and fix merge conflicts in notebooks\n", |
157 | | - "\u001b[1m\u001b[94mnbdev_install_quarto\u001b[22m\u001b[39m Install latest Quarto on macOS or Linux, prints instructions for Windows\n", |
158 | | - "\u001b[1m\u001b[94mnbdev_merge\u001b[22m\u001b[39m Git merge driver for notebooks\n", |
159 | | - "\u001b[1m\u001b[94mnbdev_migrate\u001b[22m\u001b[39m Convert all markdown and notebook files in `path` from v1 to v2\n", |
160 | | - "\u001b[1m\u001b[94mnbdev_new\u001b[22m\u001b[39m Create an nbdev project.\n", |
161 | | - "\u001b[1m\u001b[94mnbdev_prepare\u001b[22m\u001b[39m Export, test, and clean notebooks, and render README if needed\n", |
162 | | - "\u001b[1m\u001b[94mnbdev_preview\u001b[22m\u001b[39m Preview docs locally\n", |
163 | | - "\u001b[1m\u001b[94mnbdev_proc_nbs\u001b[22m\u001b[39m Process notebooks in `path` for docs rendering\n", |
164 | | - "\u001b[1m\u001b[94mnbdev_pypi\u001b[22m\u001b[39m Create and upload Python package to PyPI\n", |
165 | | - "\u001b[1m\u001b[94mnbdev_readme\u001b[22m\u001b[39m Create README.md from readme_nb (index.ipynb by default)\n", |
166 | | - "\u001b[1m\u001b[94mnbdev_release_both\u001b[22m\u001b[39m Release both conda and PyPI packages\n", |
167 | | - "\u001b[1m\u001b[94mnbdev_release_gh\u001b[22m\u001b[39m Calls `nbdev_changelog`, lets you edit the result, then pushes to git and calls `nbdev_release_git`\n", |
168 | | - "\u001b[1m\u001b[94mnbdev_release_git\u001b[22m\u001b[39m Tag and create a release in GitHub for the current version\n", |
169 | | - "\u001b[1m\u001b[94mnbdev_requirements\u001b[22m\u001b[39m Writes a `requirements.txt` file to `directory` based on settings.ini.\n", |
170 | | - "\u001b[1m\u001b[94mnbdev_sidebar\u001b[22m\u001b[39m Create sidebar.yml\n", |
171 | | - "\u001b[1m\u001b[94mnbdev_test\u001b[22m\u001b[39m Test in parallel notebooks matching `path`, passing along `flags`\n", |
172 | | - "\u001b[1m\u001b[94mnbdev_trust\u001b[22m\u001b[39m Trust notebooks matching `fname`\n", |
173 | | - "\u001b[1m\u001b[94mnbdev_update\u001b[22m\u001b[39m Propagate change in modules matching `fname` to notebooks that created them\n", |
174 | | - "\u001b[1m\u001b[94mnbdev_update_license\u001b[22m\u001b[39m Allows you to update the license of your project.\n" |
| 151 | + "\u001b[1m\u001b[94mnb_export\u001b[22m\u001b[39m Export a single nbdev notebook to a python script.\r\n", |
| 152 | + "\u001b[1m\u001b[94mnbdev_bump_version\u001b[22m\u001b[39m Increment version in __init__.py by one\r\n", |
| 153 | + "\u001b[1m\u001b[94mnbdev_changelog\u001b[22m\u001b[39m Create a CHANGELOG.md file from closed and labeled GitHub issues\r\n", |
| 154 | + "\u001b[1m\u001b[94mnbdev_clean\u001b[22m\u001b[39m Clean all notebooks in `fname` to avoid merge conflicts\r\n", |
| 155 | + "\u001b[1m\u001b[94mnbdev_conda\u001b[22m\u001b[39m Create a `meta.yaml` file ready to be built into a package, and optionally build and upload it\r\n", |
| 156 | + "\u001b[1m\u001b[94mnbdev_contributing\u001b[22m\u001b[39m Create CONTRIBUTING.md from contributing_nb (defaults to 'contributing.ipynb' if present). Skips if the file doesn't exist.\r\n", |
| 157 | + "\u001b[1m\u001b[94mnbdev_create_config\u001b[22m\u001b[39m Create a pyproject.toml config file.\r\n", |
| 158 | + "\u001b[1m\u001b[94mnbdev_docs\u001b[22m\u001b[39m Create Quarto docs and README.md\r\n", |
| 159 | + "\u001b[1m\u001b[94mnbdev_export\u001b[22m\u001b[39m Export notebooks in `path` to Python modules\r\n", |
| 160 | + "\u001b[1m\u001b[94mnbdev_filter\u001b[22m\u001b[39m A notebook filter for Quarto\r\n", |
| 161 | + "\u001b[1m\u001b[94mnbdev_fix\u001b[22m\u001b[39m Create working notebook from conflicted notebook `nbname`\r\n", |
| 162 | + "\u001b[1m\u001b[94mnbdev_help\u001b[22m\u001b[39m Show help for all console scripts\r\n", |
| 163 | + "\u001b[1m\u001b[94mnbdev_install\u001b[22m\u001b[39m Install Quarto and the current library\r\n", |
| 164 | + "\u001b[1m\u001b[94mnbdev_install_hooks\u001b[22m\u001b[39m Install Jupyter and git hooks to automatically clean, trust, and fix merge conflicts in notebooks\r\n", |
| 165 | + "\u001b[1m\u001b[94mnbdev_install_quarto\u001b[22m\u001b[39m Install latest Quarto on macOS or Linux, prints instructions for Windows\r\n", |
| 166 | + "\u001b[1m\u001b[94mnbdev_merge\u001b[22m\u001b[39m Git merge driver for notebooks\r\n", |
| 167 | + "\u001b[1m\u001b[94mnbdev_migrate\u001b[22m\u001b[39m Convert all markdown and notebook files in `path` from v1 to v2\r\n", |
| 168 | + "\u001b[1m\u001b[94mnbdev_migrate_config\u001b[22m\u001b[39m Migrate settings.ini to pyproject.toml\r\n", |
| 169 | + "\u001b[1m\u001b[94mnbdev_new\u001b[22m\u001b[39m Create an nbdev project.\r\n", |
| 170 | + "\u001b[1m\u001b[94mnbdev_prepare\u001b[22m\u001b[39m Export, test, and clean notebooks, and render README if needed\r\n", |
| 171 | + "\u001b[1m\u001b[94mnbdev_preview\u001b[22m\u001b[39m Preview docs locally\r\n", |
| 172 | + "\u001b[1m\u001b[94mnbdev_proc_nbs\u001b[22m\u001b[39m Process notebooks in `path` for docs rendering\r\n", |
| 173 | + "\u001b[1m\u001b[94mnbdev_pypi\u001b[22m\u001b[39m Create and upload Python package to PyPI\r\n", |
| 174 | + "\u001b[1m\u001b[94mnbdev_readme\u001b[22m\u001b[39m Create README.md from readme_nb (index.ipynb by default)\r\n", |
| 175 | + "\u001b[1m\u001b[94mnbdev_release_both\u001b[22m\u001b[39m Release both conda and PyPI packages\r\n", |
| 176 | + "\u001b[1m\u001b[94mnbdev_release_gh\u001b[22m\u001b[39m Calls `nbdev_changelog`, lets you edit the result, then pushes to git and calls `nbdev_release_git`\r\n", |
| 177 | + "\u001b[1m\u001b[94mnbdev_release_git\u001b[22m\u001b[39m Tag and create a release in GitHub for the current version\r\n", |
| 178 | + "\u001b[1m\u001b[94mnbdev_requirements\u001b[22m\u001b[39m Writes a `requirements.txt` file to `directory` based on pyproject.toml.\r\n", |
| 179 | + "\u001b[1m\u001b[94mnbdev_sidebar\u001b[22m\u001b[39m Create sidebar.yml\r\n", |
| 180 | + "\u001b[1m\u001b[94mnbdev_test\u001b[22m\u001b[39m Test in parallel notebooks matching `path`, passing along `flags`\r\n", |
| 181 | + "\u001b[1m\u001b[94mnbdev_trust\u001b[22m\u001b[39m Trust notebooks matching `fname`.\r\n", |
| 182 | + "\u001b[1m\u001b[94mnbdev_update\u001b[22m\u001b[39m Propagate change in modules matching `fname` to notebooks that created them\r\n", |
| 183 | + "\u001b[1m\u001b[94mnbdev_update_license\u001b[22m\u001b[39m Allows you to update the license of your project.\r\n", |
| 184 | + "\u001b[1m\u001b[94mwatch_export\u001b[22m\u001b[39m Use `nb_export` on ipynb files in `nbs` directory on changes using nbdev config if available\r\n" |
175 | 185 | ] |
176 | 186 | } |
177 | 187 | ], |
|
0 commit comments