|
| 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 its 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 | +## Docs |
| 15 | + |
| 16 | +- [Getting started](https://nbdev.fast.ai/getting_started.html) |
| 17 | +- [Tutorial](https://nbdev.fast.ai/tutorial.html) |
| 18 | +- [API details for each submodule](https://nbdev.fast.ai/api) |
| 19 | + |
| 20 | +## Optional |
| 21 | + |
| 22 | +- [nbdev.config](https://nbdev.fast.ai/api/config.html): Configuring nbdev and bootstrapping notebook export |
| 23 | +- [nbdev.maker](https://nbdev.fast.ai/api/maker.html): Create one or more modules from selected notebook cells |
| 24 | +- [nbdev.process](https://nbdev.fast.ai/api/process.html): A notebook processor |
| 25 | +- [nbdev.export](https://nbdev.fast.ai/api/export.html): Exporting a notebook to a library |
| 26 | +- [nbdev.doclinks](https://nbdev.fast.ai/api/doclinks.html): Generating a documentation index from a module |
| 27 | +- [nbdev.sync](https://nbdev.fast.ai/api/sync.html): Propagate small changes in the library back to notebooks |
| 28 | +- [nbdev.merge](https://nbdev.fast.ai/api/merge.html): Fix merge conflicts in jupyter notebooks |
| 29 | +- [nbdev.showdoc](https://nbdev.fast.ai/api/showdoc.html): Display symbol documentation in notebook and website |
| 30 | +- [nbdev.frontmatter](https://nbdev.fast.ai/api/frontmatter.html): A YAML and formatted-markdown frontmatter processor |
| 31 | +- [nbdev.processor](https://nbdev.fast.ai/api/processors.html): Some processors for NBProcessor |
| 32 | +- [nbdev.clean](https://nbdev.fast.ai/api/clean.html): Strip superfluous metadata from notebooks |
| 33 | +- [nbdev.test](https://nbdev.fast.ai/api/test.html): Run unit tests on notebooks in parallel |
| 34 | +- [nbdev.cli](https://nbdev.fast.ai/api/cli.html): CLI commands |
| 35 | +- [nbdev.quarto](https://nbdev.fast.ai/api/quarto.html): Install and interact with Quarto from nbdev |
| 36 | +- [nbdev.qmd](https://nbdev.fast.ai/api/qmd.html): Basic qmd generation helpers (experimental) |
| 37 | +- [nbdev.migrate](https://nbdev.fast.ai/api/migrate.html): Utilities for migrating to nbdev |
| 38 | +- [nbdev.serve](https://nbdev.fast.ai/api/serve.html): A parallel ipynb processor (experimental) |
| 39 | +- [nbdev.release](https://nbdev.fast.ai/api/release.html): Auto-generated tagged releases and release notes from GitHub issues |
0 commit comments