Skip to main content

Literate package development with Jupyter

Project description

Literary logo with an orange cursive uppercase L inside black square brackets

Literary

pypi-badge binder-badge wiki-badge gitter-badge nbviewer

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 📖

  1. 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 design literary such that these skills translate directly to designing libraries with notebooks
  2. Minimal downstream impact
    Users of literary 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

literary-1.9.1.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

literary-1.9.1-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file literary-1.9.1.tar.gz.

File metadata

  • Download URL: literary-1.9.1.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for literary-1.9.1.tar.gz
Algorithm Hash digest
SHA256 52b78d2698cfbae8fdedf81223d99d4efcb32c765242701b8d8ff634aba2c7ff
MD5 b9ee5a77172cb77e30f0bee5f7513da1
BLAKE2b-256 a9c3e1ecb9294f1346769db1055a8ba2720f3437c01d5ae4a4e5cad51d82cd04

See more details on using hashes here.

File details

Details for the file literary-1.9.1-py3-none-any.whl.

File metadata

  • Download URL: literary-1.9.1-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for literary-1.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0388c1c3939dca7c3be6250ed2453238de5e83a6de1ef9a3e5d4c34f61c7b7a1
MD5 ae5e2d9ec2fb953e78a4af3b791f598a
BLAKE2b-256 32ee2df0cda5d12c577febdeba0439f8b3f4ff5d376a260050e4ef1fa1c43795

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page