I've updated the following packages:


- ~~chore: update lxml to 4.8.0~~
- chore: update MarkupSafe to 2.1.0
- chore: update astropy to 5.0.1
- chore: update logbook to 1.5.3
- chore: update regex to 2022.1.18
- chore: update sqlalchemy to 1.4.31
- chore: updated cffi to 1.15.0
- chore: updated imageio to 2.16.1
- chore: updated setuptools to 60.9.3
- chore: updated pytest to 7.0.1
- chore: updated typing-extensions to 4.1.1
- chore: updated pyrsistent to 0.18.1
- chore: updated threadpoolctl to 3.1.0

I wasn't sure how caching was done (if I update numpy, etc. all at once will
that blow up the CI build time?), and I'm hoping to avoid failures, so I left
the big or patched ones alone. Was after lxml (see #2225), but thought I'd get a couple other ones while at it. Removed it, having an issue so will be bumped separately.

* matplotlib 3.3.3 ❌ -> 3.5.1
* nltk 3.6.7 ❌ -> 3.7
* numpy 1.21.4 ❌ -> 1.22.2
* pandas 1.3.5 ❌ -> 1.4.1
* pillow 9.0.0 ❌ -> 9.0.1
* pyrsistent 0.18.0 ❌ -> 0.18.1
* python-sat 0.1.7.dev15 ❌ -> 0.1.7.dev16
* scikit-image 0.19.1 ❌ -> 0.19.2
* scipy 1.7.3 ❌ -> 1.8.0
* statsmodels 0.13.1 ❌ -> 0.13.2
* swiglpk 5.0.3 ❌ -> 5.0.4
* yt 3.6.1 ❌ -> 4.0.2
* zarr 2.10.3 ❌ -> 2.11.0

chore: some package updates. I've updated the following packages:


- ~~chore: update lxml to 4.8.0~~
- chore: update MarkupSafe to 2.1.0
- chore: update astropy to 5.0.1
- chore: update logbook to 1.5.3
- chore: update regex to 2022.1.18
- chore: update sqlalchemy to 1.4.31
- chore: updated cffi to 1.15.0
- chore: updated imageio to 2.16.1
- chore: updated setuptools to 60.9.3
- chore: updated pytest to 7.0.1
- chore: updated typing-extensions to 4.1.1
- chore: updated pyrsistent to 0.18.1
- chore: updated threadpoolctl to 3.1.0

I wasn't sure how caching was done (if I update numpy, etc. all at once will
that blow up the CI build time?), and I'm hoping to avoid failures, so I left
the big or patched ones alone. Was after lxml (see #2225), but thought I'd get a couple other ones while at it. Removed it, having an issue so will be bumped separately.

* matplotlib 3.3.3 ❌ -> 3.5.1
* nltk 3.6.7 ❌ -> 3.7
* numpy 1.21.4 ❌ -> 1.22.2
* pandas 1.3.5 ❌ -> 1.4.1
* pillow 9.0.0 ❌ -> 9.0.1
* pyrsistent 0.18.0 ❌ -> 0.18.1
* python-sat 0.1.7.dev15 ❌ -> 0.1.7.dev16
* scikit-image 0.19.1 ❌ -> 0.19.2
* scipy 1.7.3 ❌ -> 1.8.0
* statsmodels 0.13.1 ❌ -> 0.13.2
* swiglpk 5.0.3 ❌ -> 5.0.4
* yt 3.6.1 ❌ -> 4.0.2
* zarr 2.10.3 ❌ -> 2.11.0

--- a/setup.py	2020-10-22 16:27:16.000000000 +0200
+++ b/setup.py	2020-12-15 08:43:30.000000000 +0100
@@ -557,7 +557,9 @@
 
         if feature.want("zlib"):
             _dbg("Looking for zlib")
-            if _find_include_file(self, "zlib.h"):
+            if "PYODIDE" in os.environ:
+                feature.zlib = "z"
+            elif _find_include_file(self, "zlib.h"):
                 if _find_library_file(self, "z"):
                     feature.zlib = "z"
                 elif sys.platform == "win32" and _find_library_file(self, "zlib"):
@@ -565,7 +567,9 @@
 
         if feature.want("jpeg"):
             _dbg("Looking for jpeg")
-            if _find_include_file(self, "jpeglib.h"):
+            if "PYODIDE" in os.environ:
+                feature.jpeg = "jpeg"
+            elif _find_include_file(self, "jpeglib.h"):
                 if _find_library_file(self, "jpeg"):
                     feature.jpeg = "jpeg"
                 elif sys.platform == "win32" and _find_library_file(self, "libjpeg"):
@@ -631,7 +635,9 @@
 
         if feature.want("freetype"):
             _dbg("Looking for freetype")
-            if _find_library_file(self, "freetype"):
+            if "PYODIDE" in os.environ:
+                feature.freetype = "freetype"
+            elif _find_library_file(self, "freetype"):
                 # look for freetype2 include files
                 freetype_version = 0
                 for subdir in self.compiler.include_dirs:
@@ -704,7 +710,8 @@
         libs = self.add_imaging_libs.split()
         defs = []
         if feature.jpeg:
-            libs.append(feature.jpeg)
+            if "PYODIDE" not in os.environ:
+                libs.append(feature.jpeg)
             defs.append(("HAVE_LIBJPEG", None))
         if feature.jpeg2000:
             libs.append(feature.jpeg2000)

--- a/setup.py	2020-10-22 16:27:16.000000000 +0200
+++ b/setup.py	2020-12-15 08:43:30.000000000 +0100
@@ -557,7 +557,9 @@
 
         if feature.want("zlib"):
             _dbg("Looking for zlib")
-            if _find_include_file(self, "zlib.h"):
+            if "PYODIDE" in os.environ:
+                feature.zlib = "z"
+            elif _find_include_file(self, "zlib.h"):
                 if _find_library_file(self, "z"):
                     feature.zlib = "z"
                 elif sys.platform == "win32" and _find_library_file(self, "zlib"):
@@ -565,7 +567,9 @@
 
         if feature.want("jpeg"):
             _dbg("Looking for jpeg")
-            if _find_include_file(self, "jpeglib.h"):
+            if "PYODIDE" in os.environ:
+                feature.jpeg = "jpeg"
+            elif _find_include_file(self, "jpeglib.h"):
                 if _find_library_file(self, "jpeg"):
                     feature.jpeg = "jpeg"
                 elif sys.platform == "win32" and _find_library_file(self, "libjpeg"):
@@ -631,7 +635,9 @@
 
         if feature.want("freetype"):
             _dbg("Looking for freetype")
-            if _find_library_file(self, "freetype"):
+            if "PYODIDE" in os.environ:
+                feature.freetype = "freetype"
+            elif _find_library_file(self, "freetype"):
                 # look for freetype2 include files
                 freetype_version = 0
                 for subdir in self.compiler.include_dirs:
@@ -704,7 +710,8 @@
         libs = self.add_imaging_libs.split()
         defs = []
         if feature.jpeg:
-            libs.append(feature.jpeg)
+            if "PYODIDE" not in os.environ:
+                libs.append(feature.jpeg)
             defs.append(("HAVE_LIBJPEG", None))
         if feature.jpeg2000:
             libs.append(feature.jpeg2000)
