Literate package development with Jupyter
Project description
Literary
TL;DR
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.
Philosophy 📖
- Low mental overhead
Realistically, most Python programmers that wish to write packages need to have some familiarity with the Python package development model, including the conventional structure of a package. For this reason, I feel that it is important to designliterary
such that these skills translate directly to designing libraries with notebooks - Minimal downstream impact
Users ofliterary
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for literary-4.0.0a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f740531c6d5625c337a8e158288e98f4c7e374a183035bc1842b6e4c3199cb54 |
|
MD5 | 656c4ee4075c6937289f05f672191997 |
|
BLAKE2b-256 | 3a7360ee74cdc1bfd1eca4f11cf50ea36d152479020eb02d8fac84788da7889f |