Skip to main content

With this tool, one can define pieces of a notebook that belong to teachers and should not be exposed to students.

Project description

nbprune

typical use case is, a teacher writes a notebook, with solution(s) to a problem that students must solve
so this means 2 versions, one for the teacher(s) with the solutions, and one for the students
this tool defines annotations that the teacher can use to define the parts that will be automatically removed by the tool

keywords

here are the recognized keywords

tag meaning
prune-cell remove this cell from the output
prune-begin remove this cell and the ones below from the output
prune-end remove this cell, but resume insertion on the next cell
prune-begin-next (*) keep this cell from the output, and start pruning at the next one
prune-end-previous (*) stop pruning, and insert the current cell
prune-line (*) remove just that one line from the output
prune-line-begin (**) remove that line and the following ones
prune-line-end (**) remove that line, but the following ones will show up
prune-remove-input keep the (code) cell, but mark it to have its input removed
prune-remove-output keep the (code) cell, but mark it to have its output removed

NOTES

  • (*) because prune-begin-next and prune-end-previous appear in a cell that is visible, the whole line containing the tag is removed from the output, so it is probably best to keep these tags on a separate line
  • (**) prune-line variants of course are not relevant, and are ignored, if set in the cell's metadata tags

line format

the tool will consider a tag is present in a cell if any line in the cell contains one of the above keywords, with the beginning of the line containing only # and spaces or tabs

so for exemple

line match
prune-cell yes
# prune-cell yes
# # prune-cell yes
some code prune-cell no

cell metadata

the tags can also be set in the cell's metadata as well (except for prune-line) ; something like this

{
  "tags": [
    "prune-cell"
  ]
}

examples

so that these 2 scenarios are equivalent

cell tag preserved
1 y
2 prune-cell n
3 y
4 y
5 prune-begin-next y
6 n
7 n
8 n
9 prune-end-previous y
10 y

or


cell tag preserved
1 y
2 prune-cell n
3 y
4 y
5 y
6 prune-begin n
7 n
8 prune-end n
9 y
10 y

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

nbprune-0.5.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nbprune-0.5.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file nbprune-0.5.0.tar.gz.

File metadata

  • Download URL: nbprune-0.5.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for nbprune-0.5.0.tar.gz
Algorithm Hash digest
SHA256 0cbcb0779f9614386ae06a73c9bdcef072a867ca072e8752ded6d3153b13f3c9
MD5 2f1ec3235fa1c73e228b26420e00841b
BLAKE2b-256 32d92a03ad12cb9d9cd7d600188f525396abbe935bf76f29a2cd5e5e970b0c69

See more details on using hashes here.

File details

Details for the file nbprune-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: nbprune-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for nbprune-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec09c300160ddc98601ed2890dd07c654d1fc3c6cef4afd9e1a16570220b9ff6
MD5 836adfc7ccf3921fa4e9a7e3797e9ccf
BLAKE2b-256 2e87f8fb33471a3850a5193ef8b782b4629fe2ea49cb5f1cc5d00096a67c9b32

See more details on using hashes here.

Supported by

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