From 5ae3d377898e078ad341f73c986b05bee8492639 Mon Sep 17 00:00:00 2001
From: Rowan Cockett <rowanc1@gmail.com>
Date: Wed, 5 Jun 2024 10:45:24 +0200
Subject: [PATCH 01/37] =?UTF-8?q?Remove=20likely=20copy-paste=20of=20pilcr?=
 =?UTF-8?q?ow=20("=C2=B6")?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 content/tutorial-nlp-from-scratch.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/tutorial-nlp-from-scratch.md b/content/tutorial-nlp-from-scratch.md
index e51d6b1d..2eb581da 100644
--- a/content/tutorial-nlp-from-scratch.md
+++ b/content/tutorial-nlp-from-scratch.md
@@ -441,7 +441,7 @@ emb_path = textproc.unzipper(glove, 'glove.6B.300d.txt')
 emb_matrix = textproc.loadGloveModel(emb_path)
 ```
 
-## 3. Build the Deep Learning Model¶
+## 3. Build the Deep Learning Model
  It is time to start implementing our LSTM! You will have to first familiarize yourself with some high-level concepts of the basic building blocks of a deep learning model. You can refer to the [Deep learning on MNIST from scratch tutorial](https://numpy.org/numpy-tutorials/content/tutorial-deep-learning-on-mnist.html) for the same. 
 
 You will then learn how a Recurrent Neural Network differs from a plain Neural Network and what makes it so suitable for processing sequential data. Afterwards, you will construct the building blocks of a simple deep learning model in Python and NumPy and train it to learn to classify the sentiment of a piece of text as positive or negative with a certain level of accuracy

From be5acf1f9fda9f893cc9e30ae95c9f50d86353d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= <bsipocz@gmail.com>
Date: Fri, 14 Jun 2024 02:15:48 -0700
Subject: [PATCH 02/37] Adding dependabot for GHA version updates (#211)

---
 .github/dependabot.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 .github/dependabot.yml

diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..4ebfc460
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,12 @@
+version: 2
+updates:
+  - package-ecosystem: "github-actions"
+    directory: ".github/workflows"
+    schedule:
+      interval: "weekly"
+    groups:
+      actions:
+        patterns:
+          - "*"
+    labels:
+      - "infrastructure"

From b19d28f8d6fb61564f28623a982d3f7cee5f220e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 14 Jun 2024 09:16:52 +0000
Subject: [PATCH 03/37] Bump actions/checkout in /.github/workflows in the
 actions group

Bumps the actions group in /.github/workflows with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 4.1.6 to 4.1.7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 .github/workflows/conda.yml                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index ba47d458..9f0c991a 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -46,7 +46,7 @@ jobs:
             os: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29  # v4.1.6
+    - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332  # v4.1.7
     - name: Set up Python ${{ matrix.python-version }}
       uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d  #v5.1.0
       with:
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index 03a0b4a0..c4860014 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -24,7 +24,7 @@ jobs:
         shell: bash -l {0}
 
     steps:
-      - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29  # v4.1.6
+      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332  # v4.1.7
       - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca  # v3.0.4
         with:
           auto-update-conda: true

From 694d57c6b24c09d372dbaa4872cb031c9a6c90f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= <bsipocz@gmail.com>
Date: Mon, 17 Jun 2024 17:45:26 -0700
Subject: [PATCH 04/37] CI: update action that got moved org

---
 .github/workflows/circleci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/circleci.yml b/.github/workflows/circleci.yml
index ee793c73..88ac6e4f 100644
--- a/.github/workflows/circleci.yml
+++ b/.github/workflows/circleci.yml
@@ -5,7 +5,7 @@ jobs:
      name: Run CircleCI artifacts redirector
      steps:
        - name: GitHub Action step
-         uses: larsoner/circleci-artifacts-redirector-action@4e13a10d89177f4bfc8007a7064bdbeda848d8d1  # v1.0.0
+         uses: scientific-python/circleci-artifacts-redirector-action@4e13a10d89177f4bfc8007a7064bdbeda848d8d1  # v1.0.0
          with:
            repo-token: ${{ secrets.GITHUB_TOKEN }}
            api-token: ${{ secrets.CIRCLE_TOKEN }}

From 49b33035aa7a7fe1430f145e6ee65a77624b8cb7 Mon Sep 17 00:00:00 2001
From: M Bussonnier <bussonniermatthias@gmail.com>
Date: Tue, 18 Jun 2024 10:00:38 -0700
Subject: [PATCH 05/37] Add Jupytext requirement for binder. (#217)

I think binder looks at env.yaml not at requirements.txt maybe that's
the reason that binder don't have jupytext installed
---
 environment.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/environment.yml b/environment.yml
index 509d1bc7..15dd1085 100644
--- a/environment.yml
+++ b/environment.yml
@@ -14,3 +14,5 @@ dependencies:
   - myst-nb
   - sphinx-book-theme
   - sphinx-copybutton
+  # to load the md files in binder
+  - jupytext

From ce12babf8b4f00e6ca030c17f0d729563daee14f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 8 Jul 2024 12:34:42 +0000
Subject: [PATCH 06/37] Bump actions/upload-artifact in /.github/workflows in
 the actions group

Bumps the actions group in /.github/workflows with 1 update: [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/upload-artifact` from 4.3.3 to 4.3.4
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/65462800fd760344b1a7b4382951275a0abb4808...0b2256b8c012f0828dc542b3febcab082c67f72b)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/conda.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index c4860014..24702096 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -43,7 +43,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808  # v4.3.3
+      - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b  # v4.3.4
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From e1510d893552bdd4548a7eae118ff05dcd638857 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 5 Aug 2024 12:29:33 +0000
Subject: [PATCH 07/37] Bump the actions group across 1 directory with 2
 updates

Bumps the actions group with 2 updates in the /.github/workflows directory: [actions/setup-python](https://github.com/actions/setup-python) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/setup-python` from 5.1.0 to 5.1.1
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/82c7e631bb3cdc910f68e0081d67478d79c6982d...39cd14951b08e74b54015e9e001cdefcf80e669f)

Updates `actions/upload-artifact` from 4.3.4 to 4.3.5
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/0b2256b8c012f0828dc542b3febcab082c67f72b...89ef406dd8d7e03cfd12d9e0a4a378f454709029)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 .github/workflows/conda.yml                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index 9f0c991a..18858f65 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -48,7 +48,7 @@ jobs:
     steps:
     - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332  # v4.1.7
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d  #v5.1.0
+      uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f  #v5.1.1
       with:
         python-version: ${{ matrix.python-version }}
 
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index 24702096..787b626e 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -43,7 +43,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b  # v4.3.4
+      - uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029  # v4.3.5
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From 974b89e190c8a62f38ddeaac1d35135929959903 Mon Sep 17 00:00:00 2001
From: Ross Barnowski <rossbar@caltech.edu>
Date: Mon, 5 Aug 2024 12:32:41 -0700
Subject: [PATCH 08/37] Fix typo in Moore's law tutorial.

---
 content/mooreslaw-tutorial.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/mooreslaw-tutorial.md b/content/mooreslaw-tutorial.md
index b9fefc8d..8e66104e 100644
--- a/content/mooreslaw-tutorial.md
+++ b/content/mooreslaw-tutorial.md
@@ -183,7 +183,7 @@ print("trans. cnt:\t", transistor_count[:10])
 
 You are creating a function that predicts the transistor count given a
 year. You have an _independent variable_, `year`, and a _dependent
-variable_, `transistor_count`. Transform the independent variable to
+variable_, `transistor_count`. Transform the dependent variable to
 log-scale,
 
 $y_i = \log($ `transistor_count[i]` $),$

From a379973e6fb1b67a0276f889ff2492142dc6db2b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 2 Sep 2024 12:42:19 +0000
Subject: [PATCH 09/37] Bump the actions group across 1 directory with 2
 updates

Bumps the actions group with 2 updates in the /.github/workflows directory: [actions/setup-python](https://github.com/actions/setup-python) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/setup-python` from 5.1.1 to 5.2.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/39cd14951b08e74b54015e9e001cdefcf80e669f...f677139bbe7f9c59b41e40162b753c062f5d49a3)

Updates `actions/upload-artifact` from 4.3.5 to 4.4.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/89ef406dd8d7e03cfd12d9e0a4a378f454709029...50769540e7f4bd5e21e526ee35c689e35e0d6874)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 .github/workflows/conda.yml                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index 18858f65..d7b6fbd8 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -48,7 +48,7 @@ jobs:
     steps:
     - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332  # v4.1.7
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f  #v5.1.1
+      uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3  #v5.2.0
       with:
         python-version: ${{ matrix.python-version }}
 
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index 787b626e..d2f6cd86 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -43,7 +43,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029  # v4.3.5
+      - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874  # v4.4.0
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From a8f7b4c49d0284b1e0ba8df7013d7ef161f455df Mon Sep 17 00:00:00 2001
From: Liam Connors <connorsl@tcd.ie>
Date: Thu, 19 Sep 2024 22:05:51 -0400
Subject: [PATCH 10/37] update broken link

---
 content/tutorial-svd.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/tutorial-svd.md b/content/tutorial-svd.md
index 614a7dc5..aded8df0 100644
--- a/content/tutorial-svd.md
+++ b/content/tutorial-svd.md
@@ -47,7 +47,7 @@ except ImportError:  # Data was in scipy.misc prior to scipy v1.10
 img = face()
 ```
 
-**Note**: If you prefer, you can use your own image as you work through this tutorial. In order to transform your image into a NumPy array that can be manipulated, you can use the `imread` function from the [matplotlib.pyplot](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html#module-matplotlib.pyplot) submodule. Alternatively, you can use the [imageio.imread](https://imageio.readthedocs.io/en/stable/userapi.html#imageio.imread) function from the `imageio` library. Be aware that if you use your own image, you'll likely need to adapt the steps below. For more information on how images are treated when converted to NumPy arrays, see [A crash course on NumPy for images](https://scikit-image.org/docs/stable/user_guide/numpy_images.html) from the `scikit-image` documentation.
+**Note**: If you prefer, you can use your own image as you work through this tutorial. In order to transform your image into a NumPy array that can be manipulated, you can use the `imread` function from the [matplotlib.pyplot](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html#module-matplotlib.pyplot) submodule. Alternatively, you can use the [imageio.imread](https://imageio.readthedocs.io/en/stable/_autosummary/imageio.v3.imread.html) function from the `imageio` library. Be aware that if you use your own image, you'll likely need to adapt the steps below. For more information on how images are treated when converted to NumPy arrays, see [A crash course on NumPy for images](https://scikit-image.org/docs/stable/user_guide/numpy_images.html) from the `scikit-image` documentation.
 
 +++
 

From 01b934cf47ac5499bfaf6c872419921891f7055e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 30 Sep 2024 12:40:26 +0000
Subject: [PATCH 11/37] Bump actions/checkout in /.github/workflows in the
 actions group

Bumps the actions group in /.github/workflows with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 4.1.7 to 4.2.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/692973e3d937129bcbf40652eb9f2f61becf3332...d632683dd7b4114ad314bca15554477dd762a938)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 .github/workflows/conda.yml                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index d7b6fbd8..e69d8069 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -46,7 +46,7 @@ jobs:
             os: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332  # v4.1.7
+    - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938  # v4.2.0
     - name: Set up Python ${{ matrix.python-version }}
       uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3  #v5.2.0
       with:
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index d2f6cd86..4be1c835 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -24,7 +24,7 @@ jobs:
         shell: bash -l {0}
 
     steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332  # v4.1.7
+      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938  # v4.2.0
       - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca  # v3.0.4
         with:
           auto-update-conda: true

From f6a2721f6324ecb13771640f4905b068e6cf390a Mon Sep 17 00:00:00 2001
From: Ross Barnowski <rossbar@caltech.edu>
Date: Tue, 1 Oct 2024 13:26:50 -0700
Subject: [PATCH 12/37] Turn off edit-this-page button.

---
 site/conf.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/site/conf.py b/site/conf.py
index e1fe5b63..4aea25ca 100644
--- a/site/conf.py
+++ b/site/conf.py
@@ -65,7 +65,7 @@
     "repository_branch": "main",
     "use_repository_button": True,
     "use_issues_button": True,
-    "use_edit_page_button": True,
+    "use_edit_page_button": False,
     "path_to_docs": "site/",
     "launch_buttons": {
         "binderhub_url": "https://mybinder.org",

From 0dce8f3dc15623504b5d0be0015a29471dd4a594 Mon Sep 17 00:00:00 2001
From: Liam Connors <connorsl@tcd.ie>
Date: Tue, 1 Oct 2024 22:30:25 -0400
Subject: [PATCH 13/37] fix broken link

---
 content/mooreslaw-tutorial.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/mooreslaw-tutorial.md b/content/mooreslaw-tutorial.md
index 8e66104e..93722261 100644
--- a/content/mooreslaw-tutorial.md
+++ b/content/mooreslaw-tutorial.md
@@ -22,7 +22,7 @@ In 1965, engineer Gordon Moore
 [predicted](https://en.wikipedia.org/wiki/Moore%27s_law) that
 transistors on a chip would double every two years in the coming decade
 [[1](https://en.wikipedia.org/wiki/Moore%27s_law),
-[2](https://newsroom.intel.com/wp-content/uploads/sites/11/2018/05/moores-law-electronics.pdf)].
+[2](https://www.intel.com/content/www/us/en/newsroom/resources/moores-law.html)].
 You'll compare Moore's prediction against actual transistor counts in
 the 53 years following his prediction. You will determine the best-fit constants to describe the exponential growth of transistors on semiconductors compared to Moore's Law.
 

From 3d073169119f391f65e727256ffad834c3ba0c49 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Melissa=20Weber=20Mendon=C3=A7a?= <melissawm@gmail.com>
Date: Wed, 2 Oct 2024 16:23:07 -0300
Subject: [PATCH 14/37] Fix conda job in CI

---
 .github/workflows/conda.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index 4be1c835..b285d395 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -30,7 +30,6 @@ jobs:
           auto-update-conda: true
           activate-environment: numpy-tutorials
           environment-file: environment.yml
-          miniforge-variant: Mambaforge
           miniforge-version: latest
           use-mamba: true
           python-version: "3.11"

From 350dc6c1e02d1e6226316bf505d95178b3948a4c Mon Sep 17 00:00:00 2001
From: Liam Connors <connorsl@tcd.ie>
Date: Mon, 7 Oct 2024 19:13:58 -0400
Subject: [PATCH 15/37] remove broken reference

---
 content/mooreslaw-tutorial.md | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/content/mooreslaw-tutorial.md b/content/mooreslaw-tutorial.md
index 93722261..42c0de15 100644
--- a/content/mooreslaw-tutorial.md
+++ b/content/mooreslaw-tutorial.md
@@ -21,8 +21,7 @@ _The number of transistors reported per a given chip plotted on a log scale in t
 In 1965, engineer Gordon Moore
 [predicted](https://en.wikipedia.org/wiki/Moore%27s_law) that
 transistors on a chip would double every two years in the coming decade
-[[1](https://en.wikipedia.org/wiki/Moore%27s_law),
-[2](https://www.intel.com/content/www/us/en/newsroom/resources/moores-law.html)].
+[[1](https://en.wikipedia.org/wiki/Moore%27s_law)].
 You'll compare Moore's prediction against actual transistor counts in
 the 53 years following his prediction. You will determine the best-fit constants to describe the exponential growth of transistors on semiconductors compared to Moore's Law.
 
@@ -130,7 +129,7 @@ print("This is x{:.2f} more transistors than 1971".format(ML_1973 / ML_1971))
 
 Now, make a prediction based upon the historical data for
 semiconductors per chip. The [Transistor Count
-\[4\]](https://en.wikipedia.org/wiki/Transistor_count#Microprocessors)
+\[3\]](https://en.wikipedia.org/wiki/Transistor_count#Microprocessors)
 each year is in the `transistor_data.csv` file. Before loading a \*.csv
 file into a NumPy array, its a good idea to inspect the structure of the
 file first. Then, locate the columns of interest and save them to a
@@ -520,7 +519,7 @@ double every two years from 1965 through 1975, but the average growth
 has maintained a consistent increase of $\times 1.98 \pm 0.01$ every two
 years from 1971 through 2019.  In 2015, Moore revised his prediction to
 say Moore's law should hold until 2025.
-[[3](https://spectrum.ieee.org/computing/hardware/gordon-moore-the-man-whose-name-means-progress)].
+[[2](https://spectrum.ieee.org/computing/hardware/gordon-moore-the-man-whose-name-means-progress)].
 You can share these results as a zipped NumPy array file,
 `mooreslaw_regression.npz`, or as another csv,
 `mooreslaw_regression.csv`.  The amazing progress in semiconductor
@@ -533,6 +532,5 @@ has been over the last half-century.
 ## References
 
 1. ["Moore's Law." Wikipedia article. Accessed Oct. 1, 2020.](https://en.wikipedia.org/wiki/Moore%27s_law)
-2. [Moore, Gordon E. (1965-04-19). "Cramming more components onto integrated circuits". intel.com. Electronics Magazine. Retrieved April 1, 2020.](https://newsroom.intel.com/wp-content/uploads/sites/11/2018/05/moores-law-electronics.pdf)
-3. [Courtland, Rachel. "Gordon Moore: The Man Whose Name Means Progress." IEEE Spectrum. 30 Mar. 2015.](https://spectrum.ieee.org/computing/hardware/gordon-moore-the-man-whose-name-means-progress).
-4. ["Transistor Count." Wikipedia article. Accessed Oct. 1, 2020.](https://en.wikipedia.org/wiki/Transistor_count#Microprocessors)
+2. [Courtland, Rachel. "Gordon Moore: The Man Whose Name Means Progress." IEEE Spectrum. 30 Mar. 2015.](https://spectrum.ieee.org/computing/hardware/gordon-moore-the-man-whose-name-means-progress).
+3. ["Transistor Count." Wikipedia article. Accessed Oct. 1, 2020.](https://en.wikipedia.org/wiki/Transistor_count#Microprocessors)

From 147ded20e8fdf6be89988a0f9ee0b0a4cde0ea57 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 14 Oct 2024 12:18:02 +0000
Subject: [PATCH 16/37] Bump the actions group in /.github/workflows with 2
 updates

Bumps the actions group in /.github/workflows with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/checkout` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/d632683dd7b4114ad314bca15554477dd762a938...eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871)

Updates `actions/upload-artifact` from 4.4.0 to 4.4.3
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/50769540e7f4bd5e21e526ee35c689e35e0d6874...b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 .github/workflows/conda.yml                  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index e69d8069..71f23f81 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -46,7 +46,7 @@ jobs:
             os: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938  # v4.2.0
+    - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871  # v4.2.1
     - name: Set up Python ${{ matrix.python-version }}
       uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3  #v5.2.0
       with:
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index b285d395..a390cf22 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -24,7 +24,7 @@ jobs:
         shell: bash -l {0}
 
     steps:
-      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938  # v4.2.0
+      - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871  # v4.2.1
       - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca  # v3.0.4
         with:
           auto-update-conda: true
@@ -42,7 +42,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874  # v4.4.0
+      - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882  # v4.4.3
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From d770172911756291bdf87f3dbb38c70839f5dff4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= <bsipocz@gmail.com>
Date: Mon, 14 Oct 2024 09:03:34 -0700
Subject: [PATCH 17/37] MAINT: doing only montly dependabot

---
 .github/dependabot.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 4ebfc460..8db2976b 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -3,7 +3,7 @@ updates:
   - package-ecosystem: "github-actions"
     directory: ".github/workflows"
     schedule:
-      interval: "weekly"
+      interval: "monthly"
     groups:
       actions:
         patterns:

From d25c606607073db5b43855bff18716c2a3b4f6e2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 1 Nov 2024 12:53:51 +0000
Subject: [PATCH 18/37] Bump the actions group in /.github/workflows with 2
 updates

Bumps the actions group in /.github/workflows with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/setup-python](https://github.com/actions/setup-python).


Updates `actions/checkout` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871...11bd71901bbe5b1630ceea73d27597364c9af683)

Updates `actions/setup-python` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/f677139bbe7f9c59b41e40162b753c062f5d49a3...0b93645e9fea7318ecaed2b359559ac225c90a2b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 4 ++--
 .github/workflows/conda.yml                  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index 71f23f81..a9c8bcee 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -46,9 +46,9 @@ jobs:
             os: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871  # v4.2.1
+    - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3  #v5.2.0
+      uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b  #v5.3.0
       with:
         python-version: ${{ matrix.python-version }}
 
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index a390cf22..4867c4fc 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -24,7 +24,7 @@ jobs:
         shell: bash -l {0}
 
     steps:
-      - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871  # v4.2.1
+      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
       - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca  # v3.0.4
         with:
           auto-update-conda: true

From fa7a0e6bfe398e51958c4b71bf97279896099c1c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 1 Dec 2024 12:24:12 +0000
Subject: [PATCH 19/37] Bump conda-incubator/setup-miniconda

Bumps the actions group in /.github/workflows with 1 update: [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda).


Updates `conda-incubator/setup-miniconda` from 3.0.4 to 3.1.0
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/conda-incubator/setup-miniconda/compare/a4260408e20b96e80095f42ff7f1a15b27dd94ca...d2e6a045a86077fb6cad6f5adf368e9076ddaa8d)

---
updated-dependencies:
- dependency-name: conda-incubator/setup-miniconda
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/conda.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index 4867c4fc..8ed5abb7 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -25,7 +25,7 @@ jobs:
 
     steps:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
-      - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca  # v3.0.4
+      - uses: conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d  # v3.1.0
         with:
           auto-update-conda: true
           activate-environment: numpy-tutorials

From 510f847e073f1b408480a148a63966aaded74065 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 1 Jan 2025 12:54:55 +0000
Subject: [PATCH 20/37] Bump actions/upload-artifact in /.github/workflows in
 the actions group

Bumps the actions group in /.github/workflows with 1 update: [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/upload-artifact` from 4.4.3 to 4.5.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882...6f51ac03b9356f520e9adb1b1b7802705f340c2b)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/conda.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index 8ed5abb7..a6ecde9e 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -42,7 +42,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882  # v4.4.3
+      - uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b  # v4.5.0
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From 552fcd08a574ede9fa1ce1e131d71edf73ebd523 Mon Sep 17 00:00:00 2001
From: "Christine P. Chai" <star1327p@gmail.com>
Date: Tue, 7 Jan 2025 14:23:23 -0800
Subject: [PATCH 21/37] Make some https URLs clickable (#241)

---
 content/tutorial-nlp-from-scratch.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/content/tutorial-nlp-from-scratch.md b/content/tutorial-nlp-from-scratch.md
index 2eb581da..ae2eeb14 100644
--- a/content/tutorial-nlp-from-scratch.md
+++ b/content/tutorial-nlp-from-scratch.md
@@ -107,8 +107,8 @@ We made sure to include different demographics in our data and included a range
 1. **Text Denoising** : Before converting your text into vectors, it is important to clean it and remove all unhelpful parts a.k.a the noise from your data by converting all characters to lowercase, removing html tags, brackets and stop words (words that don't add much meaning to a sentence). Without this step the dataset is often a cluster of words that the computer doesn't understand. 
 
 
-2. **Converting words to vectors** : A word embedding is a learned representation for text where words that have the same meaning have a similar representation. Individual words are represented as real-valued vectors in a predefined vector space. GloVe is an unsupervised algorithm developed by Stanford for generating word embeddings by generating global word-word co-occurence matrix from a corpus. You can download the zipped files containing the embeddings from https://nlp.stanford.edu/projects/glove/. Here you can choose any of the four options for different sizes or training datasets. We have chosen the least memory consuming embedding file. 
- >The GloVe word embeddings include sets that were trained on billions of tokens, some up to 840 billion tokens. These algorithms exhibit stereotypical biases, such as gender bias which can be traced back to the original training data. For example certain occupations seem to be more biased towards a particular gender, reinforcing problematic stereotypes. The nearest solution to this problem are some de-biasing algorithms as the one presented in https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1184/reports/6835575.pdf which one can use on embeddings of their choice to mitigate bias, if present.
+2. **Converting words to vectors** : A word embedding is a learned representation for text where words that have the same meaning have a similar representation. Individual words are represented as real-valued vectors in a predefined vector space. GloVe is an unsupervised algorithm developed by Stanford for generating word embeddings by generating global word-word co-occurence matrix from a corpus. You can download the zipped files containing the embeddings from [the GloVe official website](https://nlp.stanford.edu/projects/glove/). Here you can choose any of the four options for different sizes or training datasets. We have chosen the least memory consuming embedding file. 
+ >The GloVe word embeddings include sets that were trained on billions of tokens, some up to 840 billion tokens. These algorithms exhibit stereotypical biases, such as gender bias which can be traced back to the original training data. For example certain occupations seem to be more biased towards a particular gender, reinforcing problematic stereotypes. The nearest solution to this problem are some de-biasing algorithms as the one presented in [this research article](https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1184/reports/6835575.pdf), which one can use on embeddings of their choice to mitigate bias, if present.
 <!-- #endregion -->
 
 You'll start with importing the necessary packages to build our Deep Learning network.
@@ -1049,11 +1049,11 @@ To further enhance and optimize your neural network model, you can consider one
 - Initialize weights using [Xavier Initialization](https://d2l.ai/chapter_multilayer-perceptrons/numerical-stability-and-init.html#xavier-initialization) to prevent vanishing/exploding gradients instead of initializing them randomly.
 - Replace LSTM with a [Bidirectional LSTM](https://en.wikipedia.org/wiki/Bidirectional_recurrent_neural_networks) to use both left and right context for predicting sentiment.
 
-Nowadays, LSTMs have been replaced by the [Transformer](https://jalammar.github.io/illustrated-transformer/)( which uses [Attention](https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/) to tackle all the problems that plague an LSTM such as as lack of [transfer learning](https://en.wikipedia.org/wiki/Transfer_learning), lack of [parallel training](https://web.stanford.edu/~rezab/classes/cme323/S16/projects_reports/hedge_usmani.pdf) and a long gradient chain for lengthy sequences
+Nowadays, LSTMs have been replaced by the [Transformer](https://jalammar.github.io/illustrated-transformer/) which uses [Attention](https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/) to tackle all the problems that plague an LSTM such as lack of [transfer learning](https://en.wikipedia.org/wiki/Transfer_learning), lack of [parallel training](https://web.stanford.edu/~rezab/classes/cme323/S16/projects_reports/hedge_usmani.pdf), and a long gradient chain for lengthy sequences.
 
 Building a neural network from scratch with NumPy is a great way to learn more about NumPy and about deep learning. However, for real-world applications you should use specialized frameworks — such as PyTorch, JAX or TensorFlow — that provide NumPy-like APIs, have built-in automatic differentiation and GPU support, and are designed for high-performance numerical computing and machine learning.
 
 Finally, to know more about how ethics come into play when developing a machine learning model, you can refer to the following resources :
-- Data ethics resources by the Turing Institute. https://www.turing.ac.uk/research/data-ethics
+- [Data ethics resources](https://www.turing.ac.uk/research/data-ethics) by the Turing Institute
 - Considering how artificial intelligence shifts power, an [article](https://www.nature.com/articles/d41586-020-02003-2) and [talk](https://slideslive.com/38923453/the-values-of-machine-learning) by Pratyusha Kalluri
 - More ethics resources on [this blog post](https://www.fast.ai/2018/09/24/ai-ethics-resources/) by Rachel Thomas and the [Radical AI podcast](https://www.radicalai.org/)

From 54a5cfa8fef50b9f989611274bf9304bd8456098 Mon Sep 17 00:00:00 2001
From: "Christine P. Chai" <star1327p@gmail.com>
Date: Mon, 20 Jan 2025 09:46:12 -0800
Subject: [PATCH 22/37] DOC: Update Vector Mechanics book link

---
 content/tutorial-static_equilibrium.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/content/tutorial-static_equilibrium.md b/content/tutorial-static_equilibrium.md
index 0e8b82f7..f649e56e 100644
--- a/content/tutorial-static_equilibrium.md
+++ b/content/tutorial-static_equilibrium.md
@@ -263,7 +263,7 @@ print("Reaction moment =", M)
 ```
 
 ### Another Example
-Let's look at a slightly more complicated model.  In this example you will be observing a beam with two cables and an applied force.  This time you need to find both the tension in the cords and the reaction forces of the beam. *(Source: [Vector Mechanics for Engineers: Statics](https://www.mheducation.com/highered/product/vector-mechanics-engineers-statics-beer-johnston/M9780077687304.html), Problem 4.106)*
+Let's look at a slightly more complicated model.  In this example you will be observing a beam with two cables and an applied force.  This time you need to find both the tension in the cords and the reaction forces of the beam. *(Source: [Vector Mechanics for Engineers: Statics and Dynamics](https://www.mheducation.com/highered/product/Vector-Mechanics-for-Engineers-Statics-and-Dynamics-Beer.html), Problem 4.106)*
 
 
 ![image.png](_static/problem4.png)
@@ -387,5 +387,5 @@ This same process can be applied to kinetic problems or in any number of dimensi
 
 ### References
 
-1. [Vector Mechanics for Engineers: Statics (Beer & Johnston & Mazurek)](https://www.mheducation.com/highered/product/vector-mechanics-engineers-statics-beer-johnston/M9780077687304.html)
+1. [Vector Mechanics for Engineers: Statics and Dynamics (Beer & Johnston & Mazurek & et al.)](https://www.mheducation.com/highered/product/Vector-Mechanics-for-Engineers-Statics-and-Dynamics-Beer.html)
 2. [NumPy Reference](https://numpy.org/doc/stable/reference/)

From 43949b51163d946ff32234d4acfa04392a37857e Mon Sep 17 00:00:00 2001
From: "Christine P. Chai" <star1327p@gmail.com>
Date: Sun, 26 Jan 2025 18:59:01 -0800
Subject: [PATCH 23/37] DOC: Update the link to linear algebra tutorial (#243)

---
 content/tutorial-deep-learning-on-mnist.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/tutorial-deep-learning-on-mnist.md b/content/tutorial-deep-learning-on-mnist.md
index a41438c5..fc874f02 100644
--- a/content/tutorial-deep-learning-on-mnist.md
+++ b/content/tutorial-deep-learning-on-mnist.md
@@ -33,7 +33,7 @@ This tutorial was adapted from the work by [Andrew Trask](https://github.com/iam
 
 The reader should have some knowledge of Python, NumPy array manipulation, and linear algebra. In addition, you should be familiar with main concepts of [deep learning](https://en.wikipedia.org/wiki/Deep_learning).
 
-To refresh the memory, you can take the [Python](https://docs.python.org/dev/tutorial/index.html) and [Linear algebra on n-dimensional arrays](https://numpy.org/doc/stable/user/tutorial-svd.html) tutorials.
+To refresh the memory, you can take the [Python](https://docs.python.org/dev/tutorial/index.html) and [Linear algebra on n-dimensional arrays](https://numpy.org/numpy-tutorials/content/tutorial-svd.html) tutorials.
 
 You are advised to read the [Deep learning](http://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf) paper published in 2015 by Yann LeCun, Yoshua Bengio, and Geoffrey Hinton, who are regarded as some of the pioneers of the field. You should also consider reading Andrew Trask's [Grokking Deep Learning](https://www.manning.com/books/grokking-deep-learning), which teaches deep learning with NumPy.
 

From 4fbfeac3aea25a10290141467dd543b5a80aa065 Mon Sep 17 00:00:00 2001
From: "Christine P. Chai" <star1327p@gmail.com>
Date: Mon, 27 Jan 2025 16:41:19 -0800
Subject: [PATCH 24/37] DOC: Update link to Central Pollution Control Board of
 India

---
 content/tutorial-air-quality-analysis.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/tutorial-air-quality-analysis.md b/content/tutorial-air-quality-analysis.md
index 14e46acf..fda0dbf3 100644
--- a/content/tutorial-air-quality-analysis.md
+++ b/content/tutorial-air-quality-analysis.md
@@ -97,7 +97,7 @@ With this, we have successfully imported the data and checked that it is complet
 ## Calculating the Air Quality Index
 
 
-We will calculate the AQI using [the method](https://app.cpcbccr.com/ccr_docs/FINAL-REPORT_AQI_.pdf) adopted by the [Central Pollution Control Board](https://www.cpcb.nic.in/national-air-quality-index) of India.  To summarize the steps:
+We will calculate the AQI using [the method](https://app.cpcbccr.com/ccr_docs/FINAL-REPORT_AQI_.pdf) adopted by the [Central Pollution Control Board](https://www.cpcb.nic.in/national-air-quality-index/) of India.  To summarize the steps:
 
 - Collect 24-hourly average concentration values for the standard pollutants; 8-hourly in case of CO and O3.
 

From 2d2a30fc60da12ced652a5845b338a92793f6ddc Mon Sep 17 00:00:00 2001
From: "Christine P. Chai" <star1327p@gmail.com>
Date: Tue, 28 Jan 2025 22:04:31 -0800
Subject: [PATCH 25/37] DOC: Update another link to linear algebra tutorial
 (#245)

---
 content/tutorial-nlp-from-scratch.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/tutorial-nlp-from-scratch.md b/content/tutorial-nlp-from-scratch.md
index ae2eeb14..a4771883 100644
--- a/content/tutorial-nlp-from-scratch.md
+++ b/content/tutorial-nlp-from-scratch.md
@@ -31,7 +31,7 @@ Today, Deep Learning is getting adopted in everyday life and now it is more impo
 
 ## Prerequisites
 
-You are expected to be familiar with the Python programming language and array manipulation with NumPy. In addition, some understanding of Linear Algebra and Calculus is recommended. You should also be familiar with how Neural Networks work. For reference, you can visit the [Python](https://docs.python.org/dev/tutorial/index.html), [Linear algebra on n-dimensional arrays](https://numpy.org/doc/stable/user/tutorial-svd.html) and [Calculus](https://d2l.ai/chapter_appendix-mathematics-for-deep-learning/multivariable-calculus.html) tutorials.
+You are expected to be familiar with the Python programming language and array manipulation with NumPy. In addition, some understanding of Linear Algebra and Calculus is recommended. You should also be familiar with how Neural Networks work. For reference, you can visit the [Python](https://docs.python.org/dev/tutorial/index.html), [Linear algebra on n-dimensional arrays](https://numpy.org/numpy-tutorials/content/tutorial-svd.html) and [Calculus](https://d2l.ai/chapter_appendix-mathematics-for-deep-learning/multivariable-calculus.html) tutorials.
 
 To get a refresher on Deep Learning basics, You should consider reading [the d2l.ai book](https://d2l.ai/chapter_recurrent-neural-networks/index.html), which is an interactive deep learning book with multi-framework code, math, and discussions. You can also go through the [Deep learning on MNIST from scratch tutorial](https://numpy.org/numpy-tutorials/content/tutorial-deep-learning-on-mnist.html) to understand how a basic neural network is implemented from scratch.
 

From c5cd85f160d1549dbb66fc1be427d00f582e3b6c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 1 Feb 2025 12:49:08 +0000
Subject: [PATCH 26/37] Bump the actions group in /.github/workflows with 3
 updates

Bumps the actions group in /.github/workflows with 3 updates: [actions/setup-python](https://github.com/actions/setup-python), [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/setup-python` from 5.3.0 to 5.4.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/0b93645e9fea7318ecaed2b359559ac225c90a2b...42375524e23c412d93fb67b49958b491fce71c38)

Updates `conda-incubator/setup-miniconda` from 3.1.0 to 3.1.1
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/conda-incubator/setup-miniconda/compare/d2e6a045a86077fb6cad6f5adf368e9076ddaa8d...505e6394dae86d6a5c7fbb6e3fb8938e3e863830)

Updates `actions/upload-artifact` from 4.5.0 to 4.6.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/6f51ac03b9356f520e9adb1b1b7802705f340c2b...65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: conda-incubator/setup-miniconda
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 .github/workflows/conda.yml                  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index a9c8bcee..243a59d0 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -48,7 +48,7 @@ jobs:
     steps:
     - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b  #v5.3.0
+      uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38  #v5.4.0
       with:
         python-version: ${{ matrix.python-version }}
 
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index a6ecde9e..cf78ba1e 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -25,7 +25,7 @@ jobs:
 
     steps:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
-      - uses: conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d  # v3.1.0
+      - uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830  # v3.1.1
         with:
           auto-update-conda: true
           activate-environment: numpy-tutorials
@@ -42,7 +42,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b  # v4.5.0
+      - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08  # v4.6.0
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From 54bef6fe73ec03af907e27a498599bc746070e00 Mon Sep 17 00:00:00 2001
From: "Christine P. Chai" <star1327p@gmail.com>
Date: Sun, 2 Feb 2025 19:06:11 -0800
Subject: [PATCH 27/37] DOC: Update two links in deep reinforcement learning
 tutorial (#247)

---
 ...orial-deep-reinforcement-learning-with-pong-from-pixels.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md b/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
index 69607388..1598e572 100644
--- a/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
+++ b/content/tutorial-deep-reinforcement-learning-with-pong-from-pixels.md
@@ -22,7 +22,7 @@ Help improve this article by developing an example with reduced dependency
 footprint!
 ```
 
-This tutorial demonstrates how to implement a deep reinforcement learning (RL) agent from scratch using a policy gradient method that learns to play the [Pong](https://gym.openai.com/envs/Pong-v0/) video game using screen pixels as inputs with NumPy. Your Pong agent will obtain experience on the go using an [artificial neural network](https://en.wikipedia.org/wiki/Artificial_neural_network) as its [policy](https://en.wikipedia.org/wiki/Reinforcement_learning).
+This tutorial demonstrates how to implement a deep reinforcement learning (RL) agent from scratch using a policy gradient method that learns to play the [Pong](https://en.wikipedia.org/wiki/Pong) video game using screen pixels as inputs with NumPy. Your Pong agent will obtain experience on the go using an [artificial neural network](https://en.wikipedia.org/wiki/Artificial_neural_network) as its [policy](https://en.wikipedia.org/wiki/Reinforcement_learning).
 
 Pong is a 2D game from 1972 where two players use "rackets" to play a form of table tennis. Each player moves the racket up and down the screen and tries to hit a ball in their opponent's direction by touching it. The goal is to hit the ball such that it goes past the opponent's racket (they miss their shot). According to the rules, if a player reaches 21 points, they win. In Pong, the RL agent that learns to play against an opponent is displayed on the right.
 
@@ -32,7 +32,7 @@ This example is based on the [code](https://gist.github.com/karpathy/a4166c7fe25
 
 ## Prerequisites
 
-- **OpenAI Gym**: To help with the game environment, you will use [Gym](https://gym.openai.com) — an open-source Python interface [developed by OpenAI](https://arxiv.org/abs/1606.01540) that helps perform RL tasks while supporting many simulation environments.
+- **OpenAI Gym**: To help with the game environment, you will use [Gym](https://github.com/openai/gym) — an open-source Python interface [developed by OpenAI](https://arxiv.org/abs/1606.01540) that helps perform RL tasks while supporting many simulation environments.
 - **Python and NumPy**: The reader should have some knowledge of Python, NumPy array manipulation, and linear algebra.
 - **Deep learning and deep RL**: You should be familiar with main concepts of [deep learning](https://en.wikipedia.org/wiki/Deep_learning), which are explained in the [Deep learning](http://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf) paper published in 2015 by Yann LeCun, Yoshua Bengio, and Geoffrey Hinton, who are regarded as some of the pioneers of the field. The tutorial will try to guide you through the main concepts of deep RL and you will find various literature with links to original sources for your convenience.
 - **Jupyter notebook environments**: Because RL experiments can require high computing power, you can run the tutorial on the cloud for free using [Binder](https://mybinder.org) or [Google Colaboratory](https://colab.research.google.com/notebooks/intro.ipynb) (which offers free limited GPU and TPU acceleration).

From 3eadd491e3236fa6e87376b7a0410ca1ac92c422 Mon Sep 17 00:00:00 2001
From: "Christine P. Chai" <star1327p@gmail.com>
Date: Mon, 10 Feb 2025 18:33:15 -0800
Subject: [PATCH 28/37] DOC: Update the MNIST data link (#249)

---
 content/tutorial-deep-learning-on-mnist.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/tutorial-deep-learning-on-mnist.md b/content/tutorial-deep-learning-on-mnist.md
index fc874f02..89647016 100644
--- a/content/tutorial-deep-learning-on-mnist.md
+++ b/content/tutorial-deep-learning-on-mnist.md
@@ -62,7 +62,7 @@ This tutorial can be run locally in an isolated environment, such as [Virtualenv
 
 ## 1. Load the MNIST dataset
 
-In this section, you will download the zipped MNIST dataset files originally stored in [Yann LeCun's website](http://yann.lecun.com/exdb/mnist/). Then, you will transform them into 4 files of NumPy array type using built-in Python modules. Finally, you will split the arrays into training and test sets.
+In this section, you will download the zipped MNIST dataset files originally developed by Yann LeCun's research team. (More details of the MNIST dataset are available on [Kaggle](https://www.kaggle.com/datasets/hojjatk/mnist-dataset).) Then, you will transform them into 4 files of NumPy array type using built-in Python modules. Finally, you will split the arrays into training and test sets.
 
 **1.** Define a variable to store the training/test image/label names of the MNIST dataset in a list:
 

From 4cce9690d3cbf1dd898cebe5ee326cd4504ebee4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 1 Mar 2025 12:28:49 +0000
Subject: [PATCH 29/37] Bump actions/upload-artifact in /.github/workflows in
 the actions group

Bumps the actions group in /.github/workflows with 1 update: [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/upload-artifact` from 4.6.0 to 4.6.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08...4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/conda.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index cf78ba1e..b9524df9 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -42,7 +42,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08  # v4.6.0
+      - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1  # v4.6.1
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From 30e9ae688d672b551e5ecf4669cbeab15294e7a7 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 1 Apr 2025 12:12:12 +0000
Subject: [PATCH 30/37] Bump the actions group in /.github/workflows with 2
 updates

Bumps the actions group in /.github/workflows with 2 updates: [actions/setup-python](https://github.com/actions/setup-python) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/setup-python` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/42375524e23c412d93fb67b49958b491fce71c38...8d9ed9ac5c53483de85588cdf95a591a75ab9f55)

Updates `actions/upload-artifact` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1...ea165f8d65b6e75b540449e92b4886f43607fa02)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 .github/workflows/conda.yml                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index 243a59d0..baafd383 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -48,7 +48,7 @@ jobs:
     steps:
     - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38  #v5.4.0
+      uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55  #v5.5.0
       with:
         python-version: ${{ matrix.python-version }}
 
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index b9524df9..f4dce2f5 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -42,7 +42,7 @@ jobs:
           conda list
           make -C site/ SPHINXOPTS="-nWT --keep-going" html
 
-      - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1  # v4.6.1
+      - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02  # v4.6.2
         with:
           name: sphinx-build-artifact
           path: site/_build/html/reports

From 4987e37f58cc944cf91fd2e1026ab781b7a76a2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= <bsipocz@gmail.com>
Date: Tue, 8 Apr 2025 18:27:04 -0700
Subject: [PATCH 31/37] MAINT: fix link causing warning in html build

---
 site/contributing.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/site/contributing.md b/site/contributing.md
index c35db184..e95774a5 100644
--- a/site/contributing.md
+++ b/site/contributing.md
@@ -42,7 +42,7 @@ You may notice our content is in markdown format (`.md` files). We review and
 host notebooks in the [MyST-NB](https://myst-nb.readthedocs.io/) format. We
 accept both Jupyter notebooks (`.ipynb`) and MyST-NB notebooks (`.md`).
 If you want to sync your `.ipynb` to your `.md` file follow the [pairing
-tutorial](content/pairing.md).
+tutorial](content/pairing).
 
 ```{toctree}
 :hidden:

From 64b5f638943cd770db83dc6d03237c3db29441e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= <bsipocz@gmail.com>
Date: Tue, 8 Apr 2025 18:27:27 -0700
Subject: [PATCH 32/37] CI: adding make to tox allowlist

---
 tox.ini | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tox.ini b/tox.ini
index 4c3157e3..ff48327d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -28,7 +28,7 @@ deps =
     devdeps: matplotlib>=0.0.dev0
     devdeps: pandas>=0.0.dev0
 
-allowlist_externals = bash
+allowlist_externals = bash, make
 
 commands =
     # Force numpy reinstall to work around upper version limits in downstream dependencies (e.g. pandas)

From a553bed3464bee1b72b0d478fca0aa4629f715d8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 1 May 2025 12:37:51 +0000
Subject: [PATCH 33/37] Bump actions/setup-python in /.github/workflows in the
 actions group

Bumps the actions group in /.github/workflows with 1 update: [actions/setup-python](https://github.com/actions/setup-python).


Updates `actions/setup-python` from 5.5.0 to 5.6.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/8d9ed9ac5c53483de85588cdf95a591a75ab9f55...a26af69be951a213d495a4c3e4e4022e16d87065)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 5.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/ci_tests_run_notebooks.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci_tests_run_notebooks.yml b/.github/workflows/ci_tests_run_notebooks.yml
index baafd383..7b54b916 100644
--- a/.github/workflows/ci_tests_run_notebooks.yml
+++ b/.github/workflows/ci_tests_run_notebooks.yml
@@ -48,7 +48,7 @@ jobs:
     steps:
     - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55  #v5.5.0
+      uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065  #v5.6.0
       with:
         python-version: ${{ matrix.python-version }}
 

From 180dca7042bd77ef844e69200bbc05d4effe4fec Mon Sep 17 00:00:00 2001
From: Ross Barnowski <rossbar@caltech.edu>
Date: Tue, 20 May 2025 09:31:51 -0700
Subject: [PATCH 34/37] MNT: Point mnist data download to ossci server.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Brigitta Sipőcz <b.sipocz@gmail.com>
Co-authored-by: Melissa Weber Mendonça <melissawm@gmail.com>
---
 content/tutorial-deep-learning-on-mnist.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/content/tutorial-deep-learning-on-mnist.md b/content/tutorial-deep-learning-on-mnist.md
index 89647016..e1085b91 100644
--- a/content/tutorial-deep-learning-on-mnist.md
+++ b/content/tutorial-deep-learning-on-mnist.md
@@ -99,7 +99,7 @@ import os
 data_dir = "../_data"
 os.makedirs(data_dir, exist_ok=True)
 
-base_url = "https://github.com/rossbar/numpy-tutorial-data-mirror/blob/main/"
+base_url = "https://ossci-datasets.s3.amazonaws.com/mnist/"
 
 for fname in data_sources.values():
     fpath = os.path.join(data_dir, fname)

From 396f038fc38f816b750c881cbc1093745d01ed3b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 1 Jun 2025 12:50:58 +0000
Subject: [PATCH 35/37] Bump
 scientific-python/circleci-artifacts-redirector-action

Bumps the actions group in /.github/workflows with 1 update: [scientific-python/circleci-artifacts-redirector-action](https://github.com/scientific-python/circleci-artifacts-redirector-action).


Updates `scientific-python/circleci-artifacts-redirector-action` from 1.0.0 to 1.1.0
- [Release notes](https://github.com/scientific-python/circleci-artifacts-redirector-action/releases)
- [Commits](https://github.com/scientific-python/circleci-artifacts-redirector-action/compare/4e13a10d89177f4bfc8007a7064bdbeda848d8d1...7eafdb60666f57706a5525a2f5eb76224dc8779b)

---
updated-dependencies:
- dependency-name: scientific-python/circleci-artifacts-redirector-action
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/circleci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/circleci.yml b/.github/workflows/circleci.yml
index 88ac6e4f..681c37aa 100644
--- a/.github/workflows/circleci.yml
+++ b/.github/workflows/circleci.yml
@@ -5,7 +5,7 @@ jobs:
      name: Run CircleCI artifacts redirector
      steps:
        - name: GitHub Action step
-         uses: scientific-python/circleci-artifacts-redirector-action@4e13a10d89177f4bfc8007a7064bdbeda848d8d1  # v1.0.0
+         uses: scientific-python/circleci-artifacts-redirector-action@7eafdb60666f57706a5525a2f5eb76224dc8779b  # v1.1.0
          with:
            repo-token: ${{ secrets.GITHUB_TOKEN }}
            api-token: ${{ secrets.CIRCLE_TOKEN }}

From 82031537432d1bb4426bd44e36b678c353cf1a7b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 1 Jul 2025 13:19:34 +0000
Subject: [PATCH 36/37] Bump conda-incubator/setup-miniconda

Bumps the actions group in /.github/workflows with 1 update: [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda).


Updates `conda-incubator/setup-miniconda` from 3.1.1 to 3.2.0
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/conda-incubator/setup-miniconda/compare/505e6394dae86d6a5c7fbb6e3fb8938e3e863830...835234971496cad1653abb28a638a281cf32541f)

---
updated-dependencies:
- dependency-name: conda-incubator/setup-miniconda
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/conda.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index f4dce2f5..18da4854 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -25,7 +25,7 @@ jobs:
 
     steps:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
-      - uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830  # v3.1.1
+      - uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f  # v3.2.0
         with:
           auto-update-conda: true
           activate-environment: numpy-tutorials

From 2290d1f1b458dab79424a3c5c0be10b7f23e26eb Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 1 Aug 2025 12:39:02 +0000
Subject: [PATCH 37/37] Bump
 scientific-python/circleci-artifacts-redirector-action

Bumps the actions group in /.github/workflows with 1 update: [scientific-python/circleci-artifacts-redirector-action](https://github.com/scientific-python/circleci-artifacts-redirector-action).


Updates `scientific-python/circleci-artifacts-redirector-action` from 1.1.0 to 1.2.0
- [Release notes](https://github.com/scientific-python/circleci-artifacts-redirector-action/releases)
- [Commits](https://github.com/scientific-python/circleci-artifacts-redirector-action/compare/7eafdb60666f57706a5525a2f5eb76224dc8779b...839631420e45a08af893032e5a5e8843bf47e8ff)

---
updated-dependencies:
- dependency-name: scientific-python/circleci-artifacts-redirector-action
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 .github/workflows/circleci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/circleci.yml b/.github/workflows/circleci.yml
index 681c37aa..642252b7 100644
--- a/.github/workflows/circleci.yml
+++ b/.github/workflows/circleci.yml
@@ -5,7 +5,7 @@ jobs:
      name: Run CircleCI artifacts redirector
      steps:
        - name: GitHub Action step
-         uses: scientific-python/circleci-artifacts-redirector-action@7eafdb60666f57706a5525a2f5eb76224dc8779b  # v1.1.0
+         uses: scientific-python/circleci-artifacts-redirector-action@839631420e45a08af893032e5a5e8843bf47e8ff  # v1.2.0
          with:
            repo-token: ${{ secrets.GITHUB_TOKEN }}
            api-token: ${{ secrets.CIRCLE_TOKEN }}
