Repository: pypa/sampleproject (language: python)

Issue:
Remove Python version 3.7 to unblock tests
Currently, Python 3.7 in tests [blocks](https://github.com/pypa/sampleproject/pull/204#issuecomment-1925790953) some tests, so no pull requests are possible. 

- Python v.`3.7` has reached its [end-of-life](https://devguide.python.org/versions/), and v.`3.8` will in 2024. Does this repo have to still support these versions?

- Dropping support for them can ease the burden on maintainers: the deprecated dependencies currently [block](https://github.com/pypa/sampleproject/pull/204#issuecomment-1925780756) the tests for this repo - thus no pull requests are possible.

- Plus, the newer Python versions can be supported here (until `3.12`).

For example, `numpy` [supports](https://numpy.org/news/#numpy-1260-released) only Python 3.9+ [as of 1.26.0 ](https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table).

Which Python version should be the min. supported here: `3.8` or `3.9`?


Discussion / hints:

Fix patch:
diff --git a/pyproject.toml b/pyproject.toml
index dfab9897..f0624b7d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -38,7 +38,7 @@ readme = "README.md" # Optional
 # 'Programming Language' classifiers above, 'pip install' will check this
 # and refuse to install the project if the version does not match. See
 # https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
-requires-python = ">=3.7"
+requires-python = ">=3.8"
 
 # This is either text indicating the license for the distribution, or a file
 # that contains the license
@@ -88,11 +88,11 @@ classifiers = [  # Optional
   # that you indicate you support Python 3. These classifiers are *not*
   # checked by "pip install". See instead "python_requires" below.
   "Programming Language :: Python :: 3",
-  "Programming Language :: Python :: 3.7",
   "Programming Language :: Python :: 3.8",
   "Programming Language :: Python :: 3.9",
   "Programming Language :: Python :: 3.10",
   "Programming Language :: Python :: 3.11",
+  "Programming Language :: Python :: 3.12",
   "Programming Language :: Python :: 3 :: Only",
 ]
 
diff --git a/tox.ini b/tox.ini
index 3816afd9..c96f4e62 100644
--- a/tox.ini
+++ b/tox.ini
@@ -11,7 +11,7 @@
 #  and also to help confirm pull requests to this project.
 
 [tox]
-envlist = py{37,38,39,310}
+envlist = py{38,39,310,311,312}
 
 # Define the minimal tox version required to run;
 # if the host tox is less than this the tool with create an environment and


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 4e3efde4..67a77647 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -9,7 +9,7 @@ jobs:
   test:
     strategy:
       matrix:
-        python: ['3.7', '3.8', '3.9', '3.10']
+        python: ['3.8', '3.9', '3.10', '3.11', '3.12']
         platform: [ubuntu-latest, macos-latest, windows-latest]
     runs-on: ${{ matrix.platform }}
     steps: