Documentation can be found hosted on this GitHub repository’s pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
How to use
Fill me in please! Don’t forget code examples:
1+1
2
Annex — nbdev & development workflows
How to create a new nbdev project
Create a new conda environment with python<3.14 (Still not compatible, oct 2025) > conda create -n my_env python=3.12
Activate the environment > conda activate my_env
Install nbdev > pip install -U nbdev
Create a folder > mkdir Project_1
Change dir to a folder > cd Project_1
Create a new nbdev project > nbdev_new
It will ask for data (or read it automatically if it is a cloned github repo)
With that data nbdev creates the files and folders:
README.md
/nbs
pyproject.toml
settings.ini
setup.py
…
We should edit settings.ini with the packages that we need, for example: > requirements = fastcore pandas seaborn matplotlib
When we do > pip install -e .
pip looks first for pyproject.toml and finds: > [build-system]
> requires = [“setuptools=64.0”]
> build-backend = “setuptools.build_meta”
which says: > “Hey pip — before installing, create a temporary build environment and install setuptools>=64.0 in it. Then ask setuptools how to build this package.”
setuptools looks for project metadata in the form of
a [project] section in pyproject.toml (modern, PEP 621)
a setup.cfg
or a setup.py (which we have and reads our settings.ini)
setuptools reads and executes setup.py which contains a line:
install_requires = requirements (read from settings.ini)
Finally we have to maintain our repo updated with the packages that we use