Name | literary JSON |
Version |
4.0.2
JSON |
| download |
home_page | None |
Summary | Literate package development with Jupyter |
upload_time | 2025-08-17 16:52:47 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | BSD 3-Clause License
Copyright (c) 2020, Angus Hollands
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the hist package developers nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
keywords |
jupyter
literate-programming
nbconvert
notebooks
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|

# Literary
[![pypi-badge][]][pypi] [![binder-badge][]][binder] [![wiki-badge][]][wiki] [![gitter-badge][]][gitter] [](https://nbviewer.jupyter.org/github/agoose77/literary/tree/master/src/)
[gitter-badge]: https://badges.gitter.im/literary-nb/literary.svg
[gitter]: https://gitter.im/literary-nb/literary?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
[binder-badge]: https://mybinder.org/badge_logo.svg
[binder]:
https://mybinder.org/v2/gh/agoose77/literary/HEAD?urlpath=lab%2Ftree%2Fexamples
[pypi-badge]: https://img.shields.io/pypi/v/literary
[pypi]: https://pypi.org/project/literary
[wiki-badge]: https://img.shields.io/static/v1?label=wiki&message=read&color=green&logo=github
[wiki]: https://github.com/agoose77/literary/wiki
## TL;DR
> [!Info]
> To get started, see [the wiki]
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](https://en.wikipedia.org/wiki/Bootstrapping); it is developed with Literary 🤯.
This package is an exploration of the [literate programming](http://www.literateprogramming.com) idea [pioneered by
Donald
Knuth](https://www-cs-faculty.stanford.edu/~knuth/lp.html) and implemented in the
[`nbdev` package](https://github.com/fastai/nbdev). 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.
[the wiki]: https://github.com/agoose77/literary/wiki
Raw data
{
"_id": null,
"home_page": null,
"name": "literary",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "jupyter, literate-programming, nbconvert, notebooks",
"author": null,
"author_email": "Angus Hollands <goosey15@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/bc/07/32516d72744ed6e7d5017e87c0b79890634b23fb489ad955748eb9e7121a/literary-4.0.2.tar.gz",
"platform": null,
"description": "\n\n# Literary \n\n[![pypi-badge][]][pypi] [![binder-badge][]][binder] [![wiki-badge][]][wiki] [![gitter-badge][]][gitter] [](https://nbviewer.jupyter.org/github/agoose77/literary/tree/master/src/) \n\n[gitter-badge]: https://badges.gitter.im/literary-nb/literary.svg\n[gitter]: https://gitter.im/literary-nb/literary?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n[binder-badge]: https://mybinder.org/badge_logo.svg\n[binder]:\n https://mybinder.org/v2/gh/agoose77/literary/HEAD?urlpath=lab%2Ftree%2Fexamples\n[pypi-badge]: https://img.shields.io/pypi/v/literary\n[pypi]: https://pypi.org/project/literary\n[wiki-badge]: https://img.shields.io/static/v1?label=wiki&message=read&color=green&logo=github\n[wiki]: https://github.com/agoose77/literary/wiki\n\n## TL;DR\n> [!Info]\n> To get started, see [the wiki]\n\nLiterary 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](https://en.wikipedia.org/wiki/Bootstrapping); it is developed with Literary \ud83e\udd2f.\n\nThis package is an exploration of the [literate programming](http://www.literateprogramming.com) idea [pioneered by\n Donald\nKnuth](https://www-cs-faculty.stanford.edu/~knuth/lp.html) and implemented in the\n [`nbdev` package](https://github.com/fastai/nbdev). Although `nbdev` looks to be a very\nmature and comprehensive tool, it resembles a significant departure from conventional package development. Literary is an\nexploration of what a smaller `nbdev` might look like.\n\n## Philosophy \ud83d\udcd6\n1. **Low mental overhead** \n Realistically, most Python programmers that wish to write packages need to have some\n familiarity with the Python package development model, including the conventional\nstructure of a package. For this reason, I feel that it is important to design\n`literary` such that these skills translate directly to designing libraries with\nnotebooks\n2. **Minimal downstream impact** \n Users of `literary` packages should not realise that they are consuming \n notebook-generated code at runtime. This means that a pure-Python package needs to\n be generated from the notebooks, and it must use the conventional import model. For\n this reason, `literary` should only exist as a development dependency of\n the package.\n\n[the wiki]: https://github.com/agoose77/literary/wiki",
"bugtrack_url": null,
"license": "BSD 3-Clause License\n \n Copyright (c) 2020, Angus Hollands\n All rights reserved.\n \n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n \n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n \n * Neither the name of the hist package developers nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n \n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
"summary": "Literate package development with Jupyter",
"version": "4.0.2",
"project_urls": {
"Bug Tracker": "http://github.com/agoose77/literary/issues",
"Repository": "http://github.com/agoose77/literary"
},
"split_keywords": [
"jupyter",
" literate-programming",
" nbconvert",
" notebooks"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "be27742bdd2cae44593c70fe1269a970c969a78d8f7cd86087ce975b1d78deaf",
"md5": "d69107f1efc793b0134cc65a81eee180",
"sha256": "4da83483b9b13e8cc1cdb580228446d9cffeeb60b865b44d81c329b6ecbd6d02"
},
"downloads": -1,
"filename": "literary-4.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d69107f1efc793b0134cc65a81eee180",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 19555,
"upload_time": "2025-08-17T16:52:46",
"upload_time_iso_8601": "2025-08-17T16:52:46.096052Z",
"url": "https://files.pythonhosted.org/packages/be/27/742bdd2cae44593c70fe1269a970c969a78d8f7cd86087ce975b1d78deaf/literary-4.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bc0732516d72744ed6e7d5017e87c0b79890634b23fb489ad955748eb9e7121a",
"md5": "bbdd9065a12ccabcbaf5907d522e7cdc",
"sha256": "ef1333b4d09ba53c22a2c4cb7cc2bb22d7139446a633af06304c3df6a71dfd72"
},
"downloads": -1,
"filename": "literary-4.0.2.tar.gz",
"has_sig": false,
"md5_digest": "bbdd9065a12ccabcbaf5907d522e7cdc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 758603,
"upload_time": "2025-08-17T16:52:47",
"upload_time_iso_8601": "2025-08-17T16:52:47.371780Z",
"url": "https://files.pythonhosted.org/packages/bc/07/32516d72744ed6e7d5017e87c0b79890634b23fb489ad955748eb9e7121a/literary-4.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-17 16:52:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "agoose77",
"github_project": "literary",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "literary"
}