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
File details
Details for the file literary-4.0.1.tar.gz
.
File metadata
- Download URL: literary-4.0.1.tar.gz
- Upload date:
- Size: 758.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f5f05ff04392924b390aa90101a22a1ea89cfa8c543cb13fb63ae74edb2f67a |
|
MD5 | ae27c3f65769a273a3ba1a6db5f62395 |
|
BLAKE2b-256 | 83417d7f477c8fedca53469a36d34c8d8d5b05e676dd9d4930fd669544f938ea |
File details
Details for the file literary-4.0.1-py3-none-any.whl
.
File metadata
- Download URL: literary-4.0.1-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92c9f48ce79d437907c8eff4aaf88aaa8c0e9c64635c5ffd9f3b5f900cf407f3 |
|
MD5 | bf1de13e29f34c1df4804d4297fc647b |
|
BLAKE2b-256 | af4ee680b8f2e0699b59868f433f6fc0de69df4e4de5e8041270b14e3c78de9f |