Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/deploy-book.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
environment-file: environment.yml
auto-activate-base: false
activate-environment: arcdocs-jb
python-version: 3.9
python-version: 3.14

# Build the book
- name: Build the book
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
environment-file: environment.yml
auto-activate-base: false
activate-environment: arcdocs-jb
python-version: 3.9
python-version: 3.14

# Build the book
- name: Build the book
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,12 @@ $ git clone https://github.com/ARCTraining/template-jb-docs.git
$ conda env create -f environment.yml
```

To build the html content locally you can use the `jupyter-book` command line tool:
To build the html content locally and serve on http://localhost:3000 you can use the `jupyter-book` command line tool:

```{bash}
# navigate to the repository root
$ cd template-jb-docs
# sometimes worth running jupyter-book clean book/ to remove old files
$ jupyter-book build book/
$ cd book
$ jupyter-book start
```
### Windows

Expand Down
32 changes: 0 additions & 32 deletions book/_config.yml

This file was deleted.

30 changes: 0 additions & 30 deletions book/_toc.yml

This file was deleted.

32 changes: 16 additions & 16 deletions book/course/conda.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Content from this lesson has been inspired and adapted from a number of sources
- [Conda documentation](https://docs.conda.io/en/latest/)
- [Carpentries Incubator: Introduction to Conda for data scientists](https://carpentries-incubator.github.io/introduction-to-conda-for-data-scientists/)

(introduction)=
(intro)=
## Introduction

Conda is an open source package management and environment management system that runs on multiple operating systems (Windows, Linux, macOS). Its features include:
Expand Down Expand Up @@ -450,7 +450,7 @@ We've discovered we also need the `statsmodels` package for some extra work we w

````{admonition} Searching for packages

Conda has a command-line search functionality that we describe below in the section [Use Conda to search for a package](#searching-for-packages); you can also use the [`conda-forge` repository](https://anaconda.org/conda-forge) or [`bioconda` repository](https://anaconda.org/bioconda) to search for packages.
Conda has a command-line search functionality that we describe below in the section [Using Conda to search for a package](searching-for-packages); you can also use the [`conda-forge` repository](https://anaconda.org/conda-forge) or [`bioconda` repository](https://anaconda.org/bioconda) to search for packages.
````

Once you have the name (and possibly version) of the package you want to install, again there are two different ways to add these packages, much like there were two ways to create the environment to begin with.
Expand All @@ -459,7 +459,7 @@ Once you have the name (and possibly version) of the package you want to install

You can add new packages directly from the command line using the `install` subcommand with the format `conda install PACKAGE`, where `PACKAGE` is the name of the package you wish to install.

To install packages into an existing environment we need to activate it with the [subcommand shown above](activating-environments).
To install packages into an existing environment we need to activate it with the [subcommand shown above](#activating-environments).

```bash
$ conda activate data-sci-env
Expand Down Expand Up @@ -614,7 +614,7 @@ The `--prune` argument here clears out old unused libraries and is key to keepin
### Removing a Conda environment

It is also possible to delete a Conda environment through the `remove` subcommand.
This [command is outlined below](removing-packages) in relation to removing specific packages but can also be used to delete an entire Conda environment.
This [command is outlined below](#removing-packages) in relation to removing specific packages but can also be used to delete an entire Conda environment.

To remove the `py39-env` we created earlier we use the command:

Expand Down Expand Up @@ -1494,19 +1494,19 @@ Again, this can also be easily done by updating our `environment.yaml` file to c

```{important}

- [Introduces Conda](introduction) as a cross-platform package and environment manager
- Highlights options for [how to install Conda](installing-conda)
- [Introduces Conda](#intro) as a cross-platform package and environment manager
- Highlights options for [how to install Conda](#installing-conda)
- Introduces Conda environments for separating specific package dependencies on a project-by-project basis
- How to [create an environment using Conda](creating-environments)
- How to use a created Conda environment through [environment activation](activating-environments)
- Leaving an environment through [deactivation](deactivating-environments)
- [Listing available Conda environments](listing-current-environments)
- [Deleting Conda environments](removing-a-conda-environment)
- [Exporting and sharing Conda Environments](sharing-conda-environments)
- How to [create an environment using Conda](#creating-environments)
- How to use a created Conda environment through [environment activation](#activating-environments)
- Leaving an environment through [deactivation](#deactivating-environments)
- [Listing available Conda environments](#listing-current-environments)
- [Deleting Conda environments](#removing-a-conda-environment)
- [Exporting and sharing Conda Environments](#sharing-conda-environments)
- Shows how Conda can be used for managing packages
- Using Conda to [search Conda repositories for a package](searching-for-packages)
- Using Conda to [install a package](installing-packages)
- Using Conda to [remove a package](removing-packages)
- Using Conda to [update a package](updating-a-package)
- Using Conda to [search Conda repositories for a package](#searching-for-packages)
- Using Conda to [install a package](#installing-packages)
- Using Conda to [remove a package](#removing-packages)
- Using Conda to [update a package](#updating-a-package)

```
36 changes: 18 additions & 18 deletions book/course/containers.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,25 +319,25 @@ You can now experiment inside this sandbox to work out what you need for your re
## Summary

```{important}
- [What are containers](containers:what)?
- [Why do I want a container](containers:why)?
- [Can I use Docker on HPC](containers:docker-hpc)?
- [Singularity vs Apptainer](containers:singularity-vs-apptainer)
- [Example of running a container](containers:example) and a look into the steps involved:
- [Pulling a container image down from Docker Hub](containers:pulling-from-docker)
- [Converting it into a SIF image](containers:converting-to-sif)
- [Running software within a container](containers:running-within)
- [What are containers](#containers:what)?
- [Why do I want a container](#containers:why)?
- [Can I use Docker on HPC](#containers:docker-hpc)?
- [Singularity vs Apptainer](#containers:singularity-vs-apptainer)
- [Example of running a container](#containers:example) and a look into the steps involved:
- [Pulling a container image down from Docker Hub](#containers:pulling-from-docker)
- [Converting it into a SIF image](#containers:converting-to-sif)
- [Running software within a container](#containers:running-within)
- What else can I do with containers?
- [Access host storage within a container](containers:host-storage)
- [Run an alternative command within a container](containers:run-alternative-command)
- [Have an interactive shell inside the container](containers:shell)
- [Use GPUs within a container](containers:gpu)
- [Access host storage within a container](#containers:host-storage)
- [Run an alternative command within a container](#containers:run-alternative-command)
- [Have an interactive shell inside the container](#containers:shell)
- [Use GPUs within a container](#containers:gpu)
- Building a container
- [Creating a recipe](containers:recipe)
- [Converting a Dockerfile to a Singularity recipe](containers:convert-from-dockerfile)
- [Generate a SIF image from a recipe](containers:generate-sif)
- [Test the image we've created](containers:test)
- [Submitting jobs with containers](containers:submit-job)
- [Creating a recipe](#containers:recipe)
- [Converting a Dockerfile to a Singularity recipe](#containers:convert-from-dockerfile)
- [Generate a SIF image from a recipe](#containers:generate-sif)
- [Test the image we've created](#containers:test)
- [Submitting jobs with containers](#containers:submit-job)
- Bonus section
- [Sandboxes](containers:sandbox)
- [Sandboxes](#containers:sandbox)
```
6 changes: 3 additions & 3 deletions book/course/spack.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ I'll introduce Spack by quoting the first paragraph of their documentation:
> specific microarchitectures.

So what does this mean in practice? You've already learnt about build systems
like [Autotools](autotools) and [CMake](cmake), and may be familiar with
like [Autotools](./autotools) and [CMake](./cmake), and may be familiar with
[module systems](https://arcdocs.leeds.ac.uk/aire/software/start.html#modules)
as used on Aire. You may also have worked through the section on
[containers](containers) and wondered if there was an easier way of building a
[containers](./containers) and wondered if there was an easier way of building a
potentially deep stack of software for a particular project.

You may have already tried [Conda](conda) and found it wonderful, but for the
You may have already tried [Conda](./conda) and found it wonderful, but for the
fact that the piece of software you want isn't built with the options you
wanted, so you can't use it. Or maybe you just can't make the conda installed
version work with the MPI setup on the HPC cluster you're using.
Expand Down
Loading
Loading