Repository: icaros-usc/pyribs (language: python)

Issue:
Import ribs[visualize] in tutorials that need it
## Description

<!-- Provide a brief description of the PR's purpose here. -->

Since the visualize extra is installed in the CI for the tutorials, we did not detect bugs where the tutorials needed ribs[visualize] but only installed ribs. This PR adds ribs[visualize] to the tutorials that need it and also makes a note in the "Adding a Tutorial" section of CONTRIBUTING.md.

## TODO

<!-- Notable points that this PR has either accomplished or will accomplish. -->

## Questions

<!-- Any concerns or points of confusion? -->

## Status

- [x] I have read the guidelines in
      [CONTRIBUTING.md](https://github.com/icaros-usc/pyribs/blob/master/CONTRIBUTING.md)
- [x] I have formatted my code using `yapf`
- [x] I have tested my code by running `pytest`
- [x] I have linted my code with `pylint`
- [x] I have added a one-line description of my change to the changelog in
      `HISTORY.md`
- [x] This PR is ready to go



Discussion / hints:

Fix patch:
diff --git a/HISTORY.md b/HISTORY.md
index 63b569d63..3fdd96ad9 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -8,6 +8,10 @@
 
 - Add GradientOperatorEmitter to support OMG-MEGA and OG-MAP-Elites ({pr}`348`)
 
+#### Improvements
+
+- Test pyribs installation in tutorials ({pr}`384`)
+
 ## 0.6.2
 
 Small patch release due to installation issues in our tutorials.
diff --git a/tutorials/fooling_mnist.ipynb b/tutorials/fooling_mnist.ipynb
index e22d7201d..dea826d7c 100644
--- a/tutorials/fooling_mnist.ipynb
+++ b/tutorials/fooling_mnist.ipynb
@@ -30,7 +30,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "%pip install ribs torch tqdm"
+    "%pip install ribs torch tqdm matplotlib"
    ]
   },
   {


Test patch:
diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
index a5fe43d23..927ac78c8 100644
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -143,7 +143,10 @@ jobs:
         with:
           python-version: "3.10"
       - name: Install deps
-        run: pip install .[visualize] jupyter nbconvert
+        run: pip install jupyter nbconvert
+      - name: Replace pyribs installation with local installation
+        run: |
+          sed -ri 's/(\%pip install .*)ribs(.*)/\1.\2/g' ${{ matrix.tutorial }}
       - name: Test Tutorials
         run: bash tests/tutorials.sh ${{ matrix.tutorial }}
   docs: