https://github.com/agoose77/literary

Literate Python package development with Jupyter

https://github.com/agoose77/literary

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.8%) to scientific vocabulary

Keywords

jupyter literate-programming nbconvert notebooks python
Last synced: 6 months ago · JSON representation

Repository

Literate Python package development with Jupyter

Basic Info
  • Host: GitHub
  • Owner: agoose77
  • License: bsd-3-clause
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 1.21 MB
Statistics
  • Stars: 11
  • Watchers: 4
  • Forks: 1
  • Open Issues: 17
  • Releases: 23
Topics
jupyter literate-programming nbconvert notebooks python
Created over 5 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

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

Literary

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

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; 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.

Owner

  • Name: Angus Hollands
  • Login: agoose77
  • Kind: user
  • Location: United Kingdom
  • Company: 2i2c

Open Source Infrastructure Engineer @ 2i2c. Executable Books core team member. PhD in Nuclear Physics from the University of Birmingham.

GitHub Events

Total
  • Create event: 2
  • Issues event: 1
  • Release event: 2
  • Delete event: 2
  • Push event: 11
  • Gollum event: 2
  • Pull request event: 1
Last Year
  • Create event: 2
  • Issues event: 1
  • Release event: 2
  • Delete event: 2
  • Push event: 11
  • Gollum event: 2
  • Pull request event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 176
  • Total Committers: 2
  • Avg Commits per committer: 88.0
  • Development Distribution Score (DDS): 0.006
Top Committers
Name Email Commits
Angus Hollands g****5@g****m 175
The Gitter Badger b****r@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 36
  • Total pull requests: 12
  • Average time to close issues: 3 months
  • Average time to close pull requests: 21 minutes
  • Total issue authors: 1
  • Total pull request authors: 3
  • Average comments per issue: 0.28
  • Average comments per pull request: 0.08
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • agoose77 (36)
Pull Request Authors
  • agoose77 (7)
  • gitter-badger (3)
  • dependabot[bot] (2)
Top Labels
Issue Labels
enhancement (15) documentation (5) bug (3) testing (2) question (1)
Pull Request Labels
dependencies (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 345 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 36
  • Total maintainers: 1
pypi.org: literary

Literate package development with Jupyter

  • Documentation: https://literary.readthedocs.io/
  • 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.
  • Latest release: 4.0.1
    published almost 4 years ago
  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 345 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 11.9%
Stargazers count: 16.5%
Average: 16.5%
Dependent repos count: 21.6%
Forks count: 22.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

examples/pyproject.toml pypi
  • python ^3.9
.github/workflows/ci-cd.yml actions
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • pypa/gh-action-pypi-publish v1.4.2 composite
.binder/environment.yml pypi
pyproject.toml pypi
  • astunparse >=1.6; python_version < "3.9"
  • ipython >=7.33.0
  • jupyter-core >=4.7
  • nbclient >=0.5.12
  • nbconvert >=6.0
  • nbformat [fast]>=5
  • traitlets >=5
  • typing-extensions >=3.10