Repository: jupyterhub/jupyter-server-proxy (language: python)

Issue:
Require at least tornado 6.1 - a dependency for notebook 6.2+ and jupyterlab 3+
We are meant to test our oldest supported dependencies, but adding the test was done incorrectly so it wasn't tested. When I'm fixing that bug, I note that testing our oldest deps fails because of installing transient dependencies not supporting tornado 5.1.

I think we should bump to require tornado 6.1 as we are supposed to be used with jupyterlab 3.0.0 or notebook<7, so for example notebook 6.x. If we assume jupyterlab 3, we need tornado 6.1. If we assume notebook 6.2+, we need tornado 6.1 - so requiring tornado 6.1 should be fine right?


Discussion / hints:

Fix patch:
diff --git a/pyproject.toml b/pyproject.toml
index 971bbe4d..54fc46c2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -48,10 +48,10 @@ classifiers = [
 dependencies = [
     "aiohttp",
     "importlib_metadata >=4.8.3 ; python_version<\"3.10\"",
-    "jupyter-server >=1.0",
-    "simpervisor >=1.0",
-    "tornado >=5.1",
-    "traitlets >= 4.2.1",
+    "jupyter-server >=1.24.0",
+    "simpervisor >=1.0.0",
+    "tornado >=6.1.0",
+    "traitlets >= 5.1.0",
 ]
 
 [project.optional-dependencies]


Test patch:
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 5d6c8ef4..e0517efc 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -62,7 +62,7 @@ jobs:
           path: ./dist
 
   test:
-    name: ${{ matrix.os }} ${{ matrix.python-version }} ${{ matrix.pip-extras }}
+    name: ${{ matrix.os }} ${{ matrix.python-version }} ${{ matrix.pip-extras }} ${{ (matrix.pip-install-constraints != '' && '(oldest deps)') || '' }}
     needs: [build]
     timeout-minutes: 30
     runs-on: ${{ matrix.os }}
@@ -87,16 +87,17 @@ jobs:
             python-version: "3.8"
             pip-extras: lab
 
+        include:
           # this test is manually updated to reflect the lower bounds of
           # versions from dependencies
           - os: ubuntu-22.04
             python-version: "3.8"
             pip-extras: classic
             pip-install-constraints: >-
-              jupyter-server==1.0
-              simpervisor==1.0
-              tornado==5.1
-              traitlets==4.2.1
+              jupyter-server==1.24.0
+              simpervisor==1.0.0
+              tornado==6.1.0
+              traitlets==5.1.0
 
     steps:
       - uses: actions/checkout@v4
@@ -170,7 +171,7 @@ jobs:
         uses: actions/upload-artifact@v4
         with:
           name: |-
-            tests-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.pip-extras }}-${{ github.run_attempt }}
+            tests-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.pip-extras }}-${{ (matrix.pip-install-constraints != '' && 'oldest-') || '' }}${{ github.run_attempt }}
           path: |
             ./build/pytest
             ./build/coverage