diff --git a/noxfile.py b/noxfile.py
index c487cd7..0fce4e4 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -34,7 +34,7 @@
 
 DEFAULT_PYTHON_VERSION = "3.8"
 
-UNIT_TEST_PYTHON_VERSIONS: List[str] = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
+UNIT_TEST_PYTHON_VERSIONS: List[str] = ["3.8", "3.9", "3.10", "3.11", "3.12"]
 UNIT_TEST_STANDARD_DEPENDENCIES = [
     "mock",
     "asyncmock",
diff --git a/setup.py b/setup.py
index 276a940..5c2a737 100644
--- a/setup.py
+++ b/setup.py
@@ -30,10 +30,10 @@
 release_status = "Development Status :: 5 - Production/Stable"
 
 dependencies = [
-    "packaging >= 17.0",
-    "pandas >= 0.24.2",
+    "packaging>=17.0",
+    "pandas>=1.5.0",
     "pyarrow>=3.0.0",
-    "numpy >= 1.16.6",
+    "numpy>=1.20.3",
 ]
 
 package_root = os.path.abspath(os.path.dirname(__file__))
@@ -63,7 +63,6 @@ def readme():
         "License :: OSI Approved :: Apache Software License",
         "Programming Language :: Python",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
@@ -74,6 +73,6 @@ def readme():
     ],
     platforms="Posix; MacOS X; Windows",
     install_requires=dependencies,
-    python_requires=">=3.7",
+    python_requires=">=3.8",
     tests_require=["pytest"],
 )
diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt
deleted file mode 100644
index a7388cd..0000000
--- a/testing/constraints-3.7.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-# This constraints file is used to check that lower bounds
-# are correct in setup.py
-# List *all* library dependencies and extras in this file.
-# Pin the version to the lower bound.
-#
-# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev",
-packaging==17.0
-# Make sure we test with pandas 0.24.2. The Python version isn't that relevant.
-pandas==0.24.2
-pyarrow==3.0.0
-numpy==1.16.6
diff --git a/testing/constraints-3.8.txt b/testing/constraints-3.8.txt
index 2e7f354..abbfc7e 100644
--- a/testing/constraints-3.8.txt
+++ b/testing/constraints-3.8.txt
@@ -1,2 +1,11 @@
-# Make sure we test with pandas 1.2.0. The Python version isn't that relevant.
-pandas==1.2.0
+# This constraints file is used to check that lower bounds
+# are correct in setup.py
+# List *all* library dependencies and extras in this file.
+# Pin the version to the lower bound.
+#
+# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev",
+packaging==17.0
+# Make sure we test with pandas 1.5.0. The Python version isn't that relevant.
+pandas==1.5.0
+pyarrow==3.0.0
+numpy==1.20.3
diff --git a/testing/constraints-3.9.txt b/testing/constraints-3.9.txt
index afea9b0..86b7d5e 100644
--- a/testing/constraints-3.9.txt
+++ b/testing/constraints-3.9.txt
@@ -1,3 +1,3 @@
 # Make sure we test with pandas 1.5.3. The Python version isn't that relevant.
 pandas==1.5.3
-numpy==1.24.0
\ No newline at end of file
+numpy==1.20.3