nbdev is a fantastic workflow aimed at centralizing documentation, testing, and source code generation all out of one place: Jupyter Notebooks. However, what if you already have an existing project? As it stands the only way to convert your library over is through manual tasks (which can take > 30 hrs!).
lib2nbdev2 is the solution!
Instead, we can perform a one-time conversion on any existing library.
During the conversion process the library will help you generate a
proper settings.ini configuration file for your project. However you
can also generate your own settings.ini and put it in your project’s
core directory, such as:
my_projectsettings.inimy_projectconvert.py
Caveat: the program looks for*.py files in the subdirectory of your
project whose name is taken from lib_name in the settings.ini of
your project. You wou For generating a valid settings.ini, see an
example at
nbdev_template
and the related nbdev
documentation
pip install lib2nbdev2
From your project directory (in bash), simply run:
convert_libAnd it will automatically generate the notebooks needed, as well as
privatizing any functions that may need it (anything preceding with a
_ in the name) where they shouldn’t show in the generated
documentation.
Afterwards you have a fully-functional nbdev library, and can make use
of all its goodies!
Not tested on windows
This is a one-time conversion, this does not allow for repeated python -> notebook conversions.