From 6b01baf95e4d1280b1e5eeb9007da50dae868857 Mon Sep 17 00:00:00 2001 From: Radovan Bast Date: Mon, 27 Jan 2025 22:30:15 +0100 Subject: [PATCH] how to format notebooks --- content/index.md | 3 ++- content/notebooks/button.jpg | Bin 0 -> 9231 bytes content/notebooks/packages.jpg | Bin 0 -> 55450 bytes content/notebooks/tooling.md | 25 +++++++++++++++++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 content/notebooks/button.jpg create mode 100644 content/notebooks/packages.jpg create mode 100644 content/notebooks/tooling.md diff --git a/content/index.md b/content/index.md index f4ed8a0..2c80014 100644 --- a/content/index.md +++ b/content/index.md @@ -65,7 +65,7 @@ them to own projects**. - 12:45-13:30 - Working with Notebooks - Notebooks and version control - - Other tooling + - {doc}`notebooks/tooling` - {doc}`notebooks/sharing` - 13:30-14:15 - Other useful tools for Python development @@ -128,6 +128,7 @@ documentation collaboration dependencies testing +notebooks/tooling notebooks/sharing refactoring-concepts good-practices diff --git a/content/notebooks/button.jpg b/content/notebooks/button.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a0d99ea5d1eecac6a4ed727a32a3f03ace1e4a3 GIT binary patch literal 9231 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
5q`iG?&$dJek0%A8s7UzaGj&Yn)CYLmvZ!e@ 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�GgnN?C*1G6c*}x$)75V%90Wkvb=p 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 + + +:::{figure} packages.jpg +:alt: Screenshot of three additional packages in environment.yml + +We need three additional packages to format code in JupyterLab: `jupyterlab-code-formatter`, `black`, and `isort`. +::: + + +:::{figure} button.jpg +:alt: Screenshot of the button to format code in JupyterLab + +This button will format the code in all cells of the notebook. +::: + + +:::{instructor-note} +We test it out together on an example notebook. +:::