An open API service indexing awesome lists of open source software.

https://github.com/sosiristseng/template-juliabook

Publish Julia Jupyter notebooks
https://github.com/sosiristseng/template-juliabook

julia jupyter-book jupyter-notebook literate parallel

Last synced: 23 days ago
JSON representation

Publish Julia Jupyter notebooks

Awesome Lists containing this project

README

          

# Julia Jupyter / Literate Notebooks Template

> Template for publishing Julia Jupyter / Literate notebooks

Click `Use this template` button to copy this repository.

Publish Julia notebooks using [Jupyter Book](https://jupyterbook.org/stable/).
- Supports both [Literate](https://github.com/fredrikekre/Literate.jl) (`*.jl`) and Jupyter (`*.ipynb`) notebooks. Jupyter notebooks will be converted to the Literate format before execution.
- Supports multi-processing (setting `LITERATE_PROC` in `ci.yml`) and runs notebooks in parallel in GitHub actions. See `ci.yml`.
- Automatic dependency updates by dependabot and `update-manifest.yml` GitHub actions.
- Checks if the links in the notebooks are valid with `lychee`. (See `linkcheck.yml`)

See also:

- https://github.com/sosiristseng/template-juliabook : Using multiprocessing to run Literate notebooks in parallel. Jupyter Book builds the website.
- https://github.com/sosiristseng/template-juliabook-matrix : Using the dynamic parallel matrix to run Literate notebooks in parallel. Jupyter Book builds the website.
- https://github.com/sosiristseng/template-quarto-julia-matrix : Using the dynamic parallel matrix to run Literate notebooks in parallel. Quarto builds the website.
- https://github.com/sosiristseng/template-quarto-julia : Using multiprocessing to run Literate notebooks in parallel. Quarto builds the website.

## You need to enable GitHub pages

From your repository settings => Pages => GitHub Pages => Build and deployment => Source, select `GitHub actions`.

## Automatic dependency updates

See `.kodiak.toml` and `dependabot.yml`.

This repository uses [Dependabot](https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide) and [Kodiak Bot](https://kodiakhq.com/docs/quickstart) to automatically merge Python and GitHub actions updates.

### Julia dependencies

See `update-manifest.yml`.

This repository can regularly update Julia in the `Manifest.toml`, make a PR with the updated packages, and automatically merge the updates if the notebooks are executed without any problem.

See [the instructions](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs) for how to trigger CI workflows in a PR. This repo uses my [GitHub APP](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens) to generate a token on the fly.