[binder]: https://mybinder.org/v2/gh/agoose77/literary/HEAD?urlpath=lab%2Ftree%2Fexamples
Literary is a Python tool to make Jupyter (IPython) notebooks behave like pure-Python packages. This allows pure-Python packages to be generated from notebooks, and notebooks to be imported at runtime. Literary now bootstraps itself; it is developed with Literary 🤯.
This package is an exploration of the literate programming idea pioneered by
Donald
Knuth and implemented in the
nbdev
package. Although nbdev
looks to be a very
mature and comprehensive tool, it resembles a significant departure from conventional package development. Literary is an
exploration of what a smaller nbdev
might look like.
literary
such that these skills translate directly to designing libraries with
notebooksliterary
packages should not realise that they are consuming
notebook-generated code at runtime. This means that a pure-Python package needs to
be generated from the notebooks, and it must use the conventional import model. For
this reason, literary
should only exist as a development dependency of
the package.