|
| 1 | +# nbdev |
| 2 | + |
| 3 | +nbdev makes exploration an integral part of your workflow, all while promoting software engineering best practices. It allows you to write, test, document, and distribute software packages and technical articles — all in one place, your notebook. |
| 4 | + |
| 5 | +Here are some of nbdev's features: |
| 6 | + |
| 7 | +- **Supports literate programming**: write prose, code, and tests in notebooks — no context-switching |
| 8 | +- **Git-friendly notebooks**: human-readable merge conflicts; no unwanted metadata |
| 9 | +- **Two-way sync between notebooks and plaintext source code**: allows you to use your IDE for code navigation or quick edits |
| 10 | +- **Beautiful technical documentation**: documentation is automatically generated using Quarto and hosted on GitHub Pages; docs support LaTeX, are searchable, and are automatically hyperlinked (including out-of-the-box support for many packages via nbdev-index) |
| 11 | +- **Seamless testing**: write tests as ordinary notebook cells, run them in parallel with a single command; out-of-the-box continuous integration with GitHub Actions to ensure tests pass before every merge |
| 12 | +- **Simplified package release**: publish packages to PyPI and conda; Python best practices are automatically followed (e.g. only exported objects are included in `__all__`) |
| 13 | + |
| 14 | +## Tutorials |
| 15 | + |
| 16 | +- [Getting started](https://nbdev.fast.ai/getting_started.html.md) |
| 17 | +- [Tutorial](https://nbdev.fast.ai/tutorials/tutorial.html.md) |
| 18 | +- [Best practices](https://nbdev.fast.ai/tutorials/best_practices.html.md) |
| 19 | + |
| 20 | +## API |
| 21 | + |
| 22 | +- [API List](https://nbdev.fast.ai/apilist.txt): A succint list of all functions and methods in nbdev. |
| 23 | + |
| 24 | +## Optional |
| 25 | + |
| 26 | +- [Git-Friendly Jupyter](https://nbdev.fast.ai/tutorials/git_friendly_jupyter.html.md): How to use nbdev hooks for git-friendly Jupyter notebooks |
| 27 | +- [Blogging](https://nbdev.fast.ai/tutorials/blogging.html.md: Creating a blog with notebooks) |
| 28 | +- [Pre-Commit Hooks](https://nbdev.fast.ai/tutorials/pre_commit.html.md): How to use nbdev’s git pre-commit hooks |
| 29 | +- [Documentation Only Sites](https://nbdev.fast.ai/tutorials/docs_only.html.md): How to create nbdev powered docs without a library! |
| 30 | +- [Modular nbdev](https://nbdev.fast.ai/tutorials/modular_nbdev.html.md): How to use nbdev’s various tools separately |
| 31 | +- [Writing nbdev plugins](https://nbdev.fast.ai/tutorials/extensions.html.md): How to customize nbdev processors to do what you want |
| 32 | +- [nbdev1 Migration](https://nbdev.fast.ai/tutorials/migrating.html.md): How to change your nbdev1 repo to work with nbdev2 |
| 33 | +- [nbdev.config](https://nbdev.fast.ai/api/config.html.md): Configuring nbdev and bootstrapping notebook export |
| 34 | +- [nbdev.maker](https://nbdev.fast.ai/api/maker.html.md): Create one or more modules from selected notebook cells |
| 35 | +- [nbdev.process](https://nbdev.fast.ai/api/process.html.md): A notebook processor |
| 36 | +- [nbdev.export](https://nbdev.fast.ai/api/export.html.md): Exporting a notebook to a library |
| 37 | +- [nbdev.doclinks](https://nbdev.fast.ai/api/doclinks.html.md): Generating a documentation index from a module |
| 38 | +- [nbdev.sync](https://nbdev.fast.ai/api/sync.html.md): Propagate small changes in the library back to notebooks |
| 39 | +- [nbdev.merge](https://nbdev.fast.ai/api/merge.html.md): Fix merge conflicts in jupyter notebooks |
| 40 | +- [nbdev.showdoc](https://nbdev.fast.ai/api/showdoc.html.md): Display symbol documentation in notebook and website |
| 41 | +- [nbdev.frontmatter](https://nbdev.fast.ai/api/frontmatter.html.md): A YAML and formatted-markdown frontmatter processor |
| 42 | +- [nbdev.processor](https://nbdev.fast.ai/api/processors.html.md): Some processors for NBProcessor |
| 43 | +- [nbdev.clean](https://nbdev.fast.ai/api/clean.html.md): Strip superfluous metadata from notebooks |
| 44 | +- [nbdev.test](https://nbdev.fast.ai/api/test.html.md): Run unit tests on notebooks in parallel |
| 45 | +- [nbdev.cli](https://nbdev.fast.ai/api/cli.html.md): CLI commands |
| 46 | +- [nbdev.quarto](https://nbdev.fast.ai/api/quarto.html.md): Install and interact with Quarto from nbdev |
| 47 | +- [nbdev.qmd](https://nbdev.fast.ai/api/qmd.html.md): Basic qmd generation helpers (experimental) |
| 48 | +- [nbdev.migrate](https://nbdev.fast.ai/api/migrate.html.md): Utilities for migrating to nbdev |
| 49 | +- [nbdev.serve](https://nbdev.fast.ai/api/serve.html.md): A parallel ipynb processor (experimental) |
| 50 | +- [nbdev.release](https://nbdev.fast.ai/api/release.html.md): Auto-generated tagged releases and release notes from GitHub issues |
0 commit comments