A tool to split a template Jupyter notebook into a solution and a task version.
Project description
nbtemplater
A utility to convert a template Jupyter notebook into separate solution and task versions based on simple directives.
# this converts template.ipynb to template_solution.ipynb and template_task.ipynb
python cli.py template.ipynb
In addition to being able to convert a single file, nbtemplater.py
can also be
used to (recursively) convert all notebook files in a given directory like:
# this converts all .ipynb files in notebook-folders/
python cli.py notebook-folders/
# this recursively converts all .ipynb files in notebook-folders/
# so e.g. notebook-folders/bar/template.ipynb
python cli.py -r notebook-folders/
Installation
For easy installation, we provide a requirements.txt
file in
which all necessary dependencies are specified. This can be used
like follows:
pip install -r requirements.txt
Sample conversion
If the following text is included in any part or cell of the template notebook, it is split up into the appropriate versions:
Template
# This is some basic content
%%IF_SOL%%
any text before the next directive is
only going to be visible in the solution
version of this notebook
%%ELSE%%
this **optional** section is going to be copied
into the task version
%%END%%
Solution
# This is some basic content
any text before the next directive is
only going to be visible in the solution
version of this notebook
Task
# This is some basic content
this **optional** section is going to be copied
into the task version
Help text
Usage: nbtemplater.py [OPTIONS] [PATHS]...
Options:
-r, --recurse Whether to recursively go through folders [default:
False]
-f, --force Whether to overwrite an already existing file
[default: False]
-q, --quiet Disable output during conversion [default: False]
-p, --pattern TEXT The pattern to search for in folders [default:
*.ipynb]
--solution-suffix TEXT The file suffix to be used for the generated
solution file [default: solution]
--task-suffix TEXT The file suffix to be used for the generated task
file [default: student]
--start-solution TEXT The start of a solution block [default: %%IF_SOL%%]
--else-task TEXT The start of the optional task block [default:
%%ELSE%%]
--end-if TEXT The end of a solution/task if block [default:
%%FI%%]
-h, --help Show this message and exit.
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
nbtemplater-0.1.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for nbtemplater-0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e20db491ab19fd5eb544af79bc1b6ffbce2b0ce6fe4f4e46165d2a88c914a34 |
|
MD5 | 2d4488a3f2177e4bcbefa9bdba8cd95d |
|
BLAKE2b-256 | e51c048e64ce4bc6c1c6d57bed781e1f71f99441f7756b86a0d6855486fe3a86 |