diff --git a/bin/basic_submit.py b/bin/basic_submit.py
index 3cc51dee2..ee1e76061 100755
--- a/bin/basic_submit.py
+++ b/bin/basic_submit.py
@@ -23,7 +23,7 @@
 
 An example submission::
 
-    ./basic_submit.py --token XXXX --env_shell '/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/icetray-env combo/stable' my_script.py '--foo=bar $(input) $(output)' job_files.txt
+    ./basic_submit.py --env_shell '/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/icetray-env combo/stable' my_script.py '--foo=bar $(input) $(output)' job_files.txt
 
 This will execute `my_script.py` from the local directory, while in the
 combo/stable environment.  If the first line of `job_files.txt` contains::
diff --git a/requirements-docs.txt b/requirements-docs.txt
index 0664ce2b4..585196d9c 100644
--- a/requirements-docs.txt
+++ b/requirements-docs.txt
@@ -10,11 +10,11 @@ anyio==4.0.0
     # via httpcore
 asyncache==0.3.1
     # via iceprod (setup.py)
-babel==2.12.1
+babel==2.13.0
     # via sphinx
-boto3==1.28.56
+boto3==1.28.62
     # via iceprod (setup.py)
-botocore==1.31.56
+botocore==1.31.62
     # via
     #   boto3
     #   s3transfer
@@ -29,9 +29,9 @@ certifi==2023.7.22
     #   httpx
     #   iceprod (setup.py)
     #   requests
-cffi==1.15.1
+cffi==1.16.0
     # via cryptography
-charset-normalizer==3.2.0
+charset-normalizer==3.3.0
     # via requests
 cryptography==41.0.4
     # via
@@ -69,7 +69,7 @@ markupsafe==2.1.3
     # via jinja2
 motor==3.3.1
     # via iceprod (setup.py)
-packaging==23.1
+packaging==23.2
     # via sphinx
 psutil==5.9.5
     # via iceprod (setup.py)
@@ -113,7 +113,7 @@ requests-toolbelt==1.0.0
     # via iceprod (setup.py)
 s3transfer==0.7.0
     # via boto3
-setproctitle==1.3.2
+setproctitle==1.3.3
     # via iceprod (setup.py)
 six==1.16.0
     # via python-dateutil
@@ -156,13 +156,14 @@ typing-extensions==4.8.0
     #   wipac-dev-tools
 unidecode==1.3.7
     # via iceprod (setup.py)
-urllib3==1.26.16
+urllib3==2.0.6
     # via
     #   botocore
     #   requests
-wipac-dev-tools==1.6.16
+    #   wipac-rest-tools
+wipac-dev-tools==1.7.0
     # via
     #   iceprod (setup.py)
     #   wipac-rest-tools
-wipac-rest-tools==1.5.2
+wipac-rest-tools==1.5.3
     # via iceprod (setup.py)
diff --git a/requirements-tests.txt b/requirements-tests.txt
index ab5494935..8bae1480b 100644
--- a/requirements-tests.txt
+++ b/requirements-tests.txt
@@ -10,11 +10,11 @@ asyncache==0.3.1
     # via iceprod (setup.py)
 beautifulsoup4==4.12.2
     # via iceprod (setup.py)
-boto3==1.28.56
+boto3==1.28.62
     # via
     #   iceprod (setup.py)
     #   moto
-botocore==1.31.56
+botocore==1.31.62
     # via
     #   boto3
     #   moto
@@ -30,11 +30,11 @@ certifi==2023.7.22
     #   httpx
     #   iceprod (setup.py)
     #   requests
-cffi==1.15.1
+cffi==1.16.0
     # via cryptography
-charset-normalizer==3.2.0
+charset-normalizer==3.3.0
     # via requests
-coverage[toml]==7.3.1
+coverage[toml]==7.3.2
     # via
     #   iceprod (setup.py)
     #   pytest-cov
@@ -85,11 +85,11 @@ mccabe==0.7.0
     # via flake8
 mock==5.1.0
     # via iceprod (setup.py)
-moto==4.2.4
+moto==4.2.5
     # via iceprod (setup.py)
 motor==3.3.1
     # via iceprod (setup.py)
-packaging==23.1
+packaging==23.2
     # via pytest
 pluggy==1.3.0
     # via pytest
@@ -160,7 +160,7 @@ respx==0.20.2
     # via iceprod (setup.py)
 s3transfer==0.7.0
     # via boto3
-setproctitle==1.3.2
+setproctitle==1.3.3
     # via iceprod (setup.py)
 six==1.16.0
     # via
@@ -191,18 +191,19 @@ typing-extensions==4.8.0
     #   wipac-dev-tools
 unidecode==1.3.7
     # via iceprod (setup.py)
-urllib3==1.26.16
+urllib3==2.0.6
     # via
     #   botocore
     #   requests
     #   responses
-werkzeug==2.3.7
+    #   wipac-rest-tools
+werkzeug==3.0.0
     # via moto
-wipac-dev-tools==1.6.16
+wipac-dev-tools==1.7.0
     # via
     #   iceprod (setup.py)
     #   wipac-rest-tools
-wipac-rest-tools==1.5.2
+wipac-rest-tools==1.5.3
     # via iceprod (setup.py)
 xmltodict==0.13.0
     # via moto
diff --git a/requirements.txt b/requirements.txt
index 989d6d871..ffebddbe3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,9 +8,9 @@ anyio==4.0.0
     # via httpcore
 asyncache==0.3.1
     # via iceprod (setup.py)
-boto3==1.28.56
+boto3==1.28.62
     # via iceprod (setup.py)
-botocore==1.31.56
+botocore==1.31.62
     # via
     #   boto3
     #   s3transfer
@@ -25,9 +25,9 @@ certifi==2023.7.22
     #   httpx
     #   iceprod (setup.py)
     #   requests
-cffi==1.15.1
+cffi==1.16.0
     # via cryptography
-charset-normalizer==3.2.0
+charset-normalizer==3.3.0
     # via requests
 cryptography==41.0.4
     # via
@@ -96,7 +96,7 @@ requests-toolbelt==1.0.0
     # via iceprod (setup.py)
 s3transfer==0.7.0
     # via boto3
-setproctitle==1.3.2
+setproctitle==1.3.3
     # via iceprod (setup.py)
 six==1.16.0
     # via python-dateutil
@@ -117,13 +117,14 @@ typing-extensions==4.8.0
     #   wipac-dev-tools
 unidecode==1.3.7
     # via iceprod (setup.py)
-urllib3==1.26.16
+urllib3==2.0.6
     # via
     #   botocore
     #   requests
-wipac-dev-tools==1.6.16
+    #   wipac-rest-tools
+wipac-dev-tools==1.7.0
     # via
     #   iceprod (setup.py)
     #   wipac-rest-tools
-wipac-rest-tools==1.5.2
+wipac-rest-tools==1.5.3
     # via iceprod (setup.py)
diff --git a/setup.cfg b/setup.cfg
index fc9038823..bcb5a2103 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -3,6 +3,7 @@ author = WIPAC Developers
 author_email = developers@icecube.wisc.edu
 pypi_name = iceprod
 python_min = 3.8
+python_max = 3.11
 package_dirs = iceprod
 keywords_spaced = batch workload
 
@@ -64,7 +65,7 @@ install_requires =
 	tornado
 	unidecode
 	wipac-dev-tools
-	wipac-rest-tools
+	wipac-rest-tools<1.6
 python_requires = >=3.8, <3.12
 packages = find: