From 30d3acfae77ffca2d66a68aaf9ecc1e3d5919821 Mon Sep 17 00:00:00 2001 From: Scott Archer-Nicholls Date: Tue, 21 Apr 2026 19:04:22 +0100 Subject: [PATCH 1/4] feat: added uv and poetry refs, corrected grammar in section --- episodes/04-software_package_management.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/episodes/04-software_package_management.md b/episodes/04-software_package_management.md index 9874dbb..d641bea 100644 --- a/episodes/04-software_package_management.md +++ b/episodes/04-software_package_management.md @@ -24,7 +24,9 @@ exercises: 0 Virtual environments are a useful tool for isolating and managing the software packages you use. Doing this enables you to track the packages you use for your work (enabling you to create reproducable environments, so that others can also use your code). It also allows you to use packages which might have conflicting requirements (or even different versions of the same package) without the hassle of haveing to install and uninstall these each time. -Python has a built in tools for managing virtual environments ([venv](https://docs.python.org/3/tutorial/venv.html)) and packages ([pip](https://pypi.org/project/pip/)). However we will not cover these tools today. While venv and pip are very useful for managing pure python packages, they are not very flexible when we want to use packages which are built on other languages (or perhaps do not use python at all). Another tool, conda, has been built to extend their functionality to cover these mixed-language packages, for a wide range of computing platforms, and it is this which we will cover today. More details on the differences between conda and pip are given in this [summary](https://www.anaconda.com/blog/understanding-conda-and-pip). +Python has built in tools for managing virtual environments ([venv](https://docs.python.org/3/tutorial/venv.html)) and packages ([pip](https://pypi.org/project/pip/)). However, we will not cover these tools today. While venv and pip are very useful for managing pure python packages, they are not very flexible when we want to use packages which are built on other languages (or perhaps do not use python at all). Another tool, [conda](https://docs.conda.io/en/latest/index.html), has been built to extend their functionality to cover these mixed-language packages, for a wide range of computing platforms, and it is this which we will cover today. + +More details on the differences between conda and pip are given in this [summary](https://www.anaconda.com/blog/understanding-conda-and-pip). Other tools for package management exist as well as conda - popular ones include [uv](https://docs.astral.sh/uv/) and [poetry](https://python-poetry.org/). A full list of tools can be found [here](https://packaging.python.org/en/latest/key_projects/). The lesson below is not conducted using a python interpreter, but instead using the unix shell. When you are asked to type in code below, please do this in a terminal window and not in this browser. From 3a637b2b5eaac90f5b2a305ba8e07556dddebc27 Mon Sep 17 00:00:00 2001 From: Scott Archer-Nicholls Date: Tue, 21 Apr 2026 19:06:23 +0100 Subject: [PATCH 2/4] fix: more grammar fixes --- episodes/04-software_package_management.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/episodes/04-software_package_management.md b/episodes/04-software_package_management.md index d641bea..c518357 100644 --- a/episodes/04-software_package_management.md +++ b/episodes/04-software_package_management.md @@ -22,13 +22,13 @@ exercises: 0 :::::::::::::::::::::::::::::::::::::::::::::::::: -Virtual environments are a useful tool for isolating and managing the software packages you use. Doing this enables you to track the packages you use for your work (enabling you to create reproducable environments, so that others can also use your code). It also allows you to use packages which might have conflicting requirements (or even different versions of the same package) without the hassle of haveing to install and uninstall these each time. +Virtual environments are a useful tool for isolating and managing the software packages you use. Doing this enables you to track the packages you use for your work, letting you to create reproducable environments so that others can use your code. It also allows you to use packages which might have conflicting requirements (or even different versions of the same package) without the hassle of having to install and uninstall these each time. -Python has built in tools for managing virtual environments ([venv](https://docs.python.org/3/tutorial/venv.html)) and packages ([pip](https://pypi.org/project/pip/)). However, we will not cover these tools today. While venv and pip are very useful for managing pure python packages, they are not very flexible when we want to use packages which are built on other languages (or perhaps do not use python at all). Another tool, [conda](https://docs.conda.io/en/latest/index.html), has been built to extend their functionality to cover these mixed-language packages, for a wide range of computing platforms, and it is this which we will cover today. +Python has built in tools for managing virtual environments ([venv](https://docs.python.org/3/tutorial/venv.html)) and packages ([pip](https://pypi.org/project/pip/)). However, we will not cover these tools today. While venv and pip are very useful for managing pure python packages, they are not very flexible when we want to use packages which are built on other languages (or perhaps do not use python at all). Another tool, [conda](https://docs.conda.io/en/latest/index.html), has been built to extend their functionality to cover these mixed-language packages for a wide range of computing platforms, and it is this which we will cover today. More details on the differences between conda and pip are given in this [summary](https://www.anaconda.com/blog/understanding-conda-and-pip). Other tools for package management exist as well as conda - popular ones include [uv](https://docs.astral.sh/uv/) and [poetry](https://python-poetry.org/). A full list of tools can be found [here](https://packaging.python.org/en/latest/key_projects/). -The lesson below is not conducted using a python interpreter, but instead using the unix shell. When you are asked to type in code below, please do this in a terminal window and not in this browser. +The lesson below is not conducted using a Python interpreter, but instead using the unix shell. When you are asked to type in code below, please do this in a terminal window and not in a Jupyter notebook or other Python interpreter. ## Installing Conda From ba5810b1abf21cd1f1bab045538bc8eca06a2491 Mon Sep 17 00:00:00 2001 From: Scott Archer-Nicholls Date: Tue, 21 Apr 2026 19:08:29 +0100 Subject: [PATCH 3/4] minor grammar fix --- episodes/04-software_package_management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/episodes/04-software_package_management.md b/episodes/04-software_package_management.md index c518357..9b0eb46 100644 --- a/episodes/04-software_package_management.md +++ b/episodes/04-software_package_management.md @@ -22,7 +22,7 @@ exercises: 0 :::::::::::::::::::::::::::::::::::::::::::::::::: -Virtual environments are a useful tool for isolating and managing the software packages you use. Doing this enables you to track the packages you use for your work, letting you to create reproducable environments so that others can use your code. It also allows you to use packages which might have conflicting requirements (or even different versions of the same package) without the hassle of having to install and uninstall these each time. +Virtual environments are a useful tool for isolating and managing the software packages you use. Doing this enables you to track the packages you use for your work, letting you create reproducable environments so that others can use your code. It also allows you to use packages which might have conflicting requirements (or even different versions of the same package) without the hassle of having to install and uninstall these each time. Python has built in tools for managing virtual environments ([venv](https://docs.python.org/3/tutorial/venv.html)) and packages ([pip](https://pypi.org/project/pip/)). However, we will not cover these tools today. While venv and pip are very useful for managing pure python packages, they are not very flexible when we want to use packages which are built on other languages (or perhaps do not use python at all). Another tool, [conda](https://docs.conda.io/en/latest/index.html), has been built to extend their functionality to cover these mixed-language packages for a wide range of computing platforms, and it is this which we will cover today. From 9d93103dddf1720c91c1696e5bf1f8dde839d7ac Mon Sep 17 00:00:00 2001 From: Scott Archer-Nicholls Date: Wed, 22 Apr 2026 09:28:37 +0100 Subject: [PATCH 4/4] fix: editted link to packaging proojects to silence warning --- episodes/04-software_package_management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/episodes/04-software_package_management.md b/episodes/04-software_package_management.md index 9b0eb46..0cfb797 100644 --- a/episodes/04-software_package_management.md +++ b/episodes/04-software_package_management.md @@ -26,7 +26,7 @@ Virtual environments are a useful tool for isolating and managing the software p Python has built in tools for managing virtual environments ([venv](https://docs.python.org/3/tutorial/venv.html)) and packages ([pip](https://pypi.org/project/pip/)). However, we will not cover these tools today. While venv and pip are very useful for managing pure python packages, they are not very flexible when we want to use packages which are built on other languages (or perhaps do not use python at all). Another tool, [conda](https://docs.conda.io/en/latest/index.html), has been built to extend their functionality to cover these mixed-language packages for a wide range of computing platforms, and it is this which we will cover today. -More details on the differences between conda and pip are given in this [summary](https://www.anaconda.com/blog/understanding-conda-and-pip). Other tools for package management exist as well as conda - popular ones include [uv](https://docs.astral.sh/uv/) and [poetry](https://python-poetry.org/). A full list of tools can be found [here](https://packaging.python.org/en/latest/key_projects/). +More details on the differences between conda and pip are given in this [summary](https://www.anaconda.com/blog/understanding-conda-and-pip). Other tools for package management exist as well as conda - popular ones include [uv](https://docs.astral.sh/uv/) and [poetry](https://python-poetry.org/). See here for a full list of [packaging projects](https://packaging.python.org/en/latest/key_projects/). The lesson below is not conducted using a Python interpreter, but instead using the unix shell. When you are asked to type in code below, please do this in a terminal window and not in a Jupyter notebook or other Python interpreter.