This project contains some tools to help authoring and maintaing python tutorials presented on notebooks.
You are strongly encouraged to use a virtual env or similar.
python -m pip install gepetuto
- create a (eg.
tp1
) directory (tp0
can be used to check prerequisites) - write python scripts (eg.
example_script.py
) in this directory - delimit snippets inside those scripts between
# %jupyter_snippet example_snippet
and# %end_jupyter_snippet
- create a (eg.
1-example_notebook.ipynb
) notebook, containingimport gepetuto.magic
- run
gepetuto -a generate
: this will create atp{i}/generated
directory with eg.example_script_example_snippet
- cells can contain either eg.
%load tp1/generated/example_script_example_snippet
to display some code to students, or their%do_not_load
version to let the student write the code themself - run
gepetuto -a test
to check all python scripts in tp directories - run
gepetuto -a lint
to ensure the coding standards are respected in all python scripts in tp directories - add
gepetuto -a test
in your CI, andgepetuto -a lint
+gepetuto -a generate
in your pre-commit
example of CI using all gepetuto actions on tests folder here :