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.0a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeb1156c67824dd356bffffec976fc81f2de88f00bd12a73d4a38881a3e76b63 |
|
MD5 | 745e691f447d1649895498102b636db0 |
|
BLAKE2b-256 | 57b36cabbce15235d7940b433dda533d71e5b0cbecbf385a02273090075b1537 |