Repository: cherrypy/cheroot (language: python)

Issue:
Drop support for Python 3.5 and 2.7
- Add a py2-drop banner to the docs
- Remove declared support for Python < 3.6
- Remove compatibility code from wsgi
- Remove compatibility code from cheroot
- Remove compatibility code from cli
- Remove compatibility code from connections
- Remove compatibility code from errors
- Remove compatibility code from makefile
- Remove compatibility code from test__compat
- Remove compatibility code from server
- Remove compatibility code from testing
- Remove compatibility code from threadpool
- Remove compatibility code from ssl package
- Remove compatibility code from test package
- Remove Python 3.5 compatibility from _compat module
- Add a changelog entry for v9.0.0

❓ **What kind of change does this PR introduce?**

* [ ] 🐞 bug fix
* [ ] 🐣 feature
* [ ] 📋 docs update
* [ ] 📋 tests/coverage improvement
* [ ] 📋 refactoring
* [x] 💥 other

📋 **What is the related issue number (starting with `#`)**

<!-- Are there any issues opened that will be resolved by merging this change? -->
Resolves #252 <!-- issue number here -->

❓ **What is the current behavior?** (You can also link to an open issue here)



❓ **What is the new behavior (if this is a feature change)?**



📋 **Other information**:



📋 **Contribution checklist:**

(If you're a first-timer, check out
[this guide on making great pull requests][making a lovely PR])

* [ ] I wrote descriptive pull request text above
* [ ] I think the code is well written
* [ ] I wrote [good commit messages]
* [ ] I have [squashed related commits together][related squash] after
      the changes have been approved
* [ ] Unit tests for the changes exist
* [ ] Integration tests for the changes exist (if applicable)
* [ ] I used the same coding conventions as the rest of the project
* [ ] The new code doesn't generate linter offenses
* [ ] Documentation reflects the changes
* [ ] The PR relates to *only* one subject with a clear title
      and description in grammatically correct, complete sentences

[good commit messages]: http://chris.beams.io/posts/git-commit/
[making a lovely PR]: https://mtlynch.io/code-review-love/
[related squash]:
https://github.com/todotxt/todo.txt-android/wiki/Squash-All-Commits-Related-to-a-Single-Issue-into-a-Single-Commit

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/cherrypy/cheroot/510)
<!-- Reviewable:end -->



Discussion / hints:
# [Codecov](https://codecov.io/gh/cherrypy/cheroot/pull/510?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cherrypy) Report
> Merging [#510](https://codecov.io/gh/cherrypy/cheroot/pull/510?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cherrypy) (1396980) into [main](https://codecov.io/gh/cherrypy/cheroot/commit/f0f97645bd527d765e79cbd205249d31b0fed949?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=cherrypy) (f0f9764) will **increase** coverage by `1.45%`.
> The diff coverage is `82.69%`.

> :exclamation: Current head 1396980 differs from pull request most recent head 06f2107. Consider uploading reports for the commit 06f2107 to get more accurate results

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff             @@
##             main     #510      +/-   ##
==========================================
+ Coverage   80.80%   82.26%   +1.45%     
==========================================
  Files          27       28       +1     
  Lines        4413     3991     -422     
==========================================
- Hits         3566     3283     -283     
+ Misses        847      708     -139     
```

</details>
This pull request **fixes 4 alerts** when merging 1396980c4a1abaab1758a6eb0077a7099a4107c9 into b7be66df6d08562e563fcf5ed9dd176b7130827d - [view on LGTM.com](https://lgtm.com/projects/g/cherrypy/cheroot/rev/pr-dc5881d6953878d1ec9ac80b5655e58653a9caed)

**fixed alerts:**

* 3 for Unused import
* 1 for Unused local variable
This pull request **fixes 4 alerts** when merging ea92dc015d7595fed1069eaf209df5fa4e661841 into f0f97645bd527d765e79cbd205249d31b0fed949 - [view on LGTM.com](https://lgtm.com/projects/g/cherrypy/cheroot/rev/pr-9e4beb5e39b38391966ab6408b823fde947656a1)

**fixed alerts:**

* 3 for Unused import
* 1 for Unused local variable
---

**Heads-up: LGTM.com's PR analysis will be disabled on the 5th of December**, and LGTM.com will be shut down ⏻ completely on the 16th of December 2022. Please enable GitHub code scanning, which uses the same CodeQL engine :gear: that powers LGTM.com. For more information, please check out [our post on the GitHub blog](https://github.blog/2022-08-15-the-next-step-for-lgtm-com-github-code-scanning/).
This pull request **fixes 4 alerts** when merging 06f210784fded6b6bef405497eefee97a89c3215 into f0f97645bd527d765e79cbd205249d31b0fed949 - [view on LGTM.com](https://lgtm.com/projects/g/cherrypy/cheroot/rev/pr-d0af1996f54141eaa3dbf6bd69e330f57f514f35)

**fixed alerts:**

* 3 for Unused import
* 1 for Unused local variable
---

**Heads-up: LGTM.com's PR analysis will be disabled on the 5th of December**, and LGTM.com will be shut down ⏻ completely on the 16th of December 2022. Please enable GitHub code scanning, which uses the same CodeQL engine :gear: that powers LGTM.com. For more information, please check out [our post on the GitHub blog](https://github.blog/2022-08-15-the-next-step-for-lgtm-com-github-code-scanning/).

Fix patch:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c9afc69a9b..6d7d6a740b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -128,7 +128,6 @@ repos:
     - types-backports
     - types-pyOpenSSL
     - types-requests
-    - types-six
     args:
     - --install-types
     - --non-interactive
@@ -136,24 +135,6 @@ repos:
     - --txt-report=.tox/.tmp/.mypy/
     - cheroot/
     pass_filenames: false
-  - id: mypy
-    alias: mypy-py27
-    name: MyPy, for Python 2.7
-    additional_dependencies:
-    - lxml
-    - typed-ast
-    - types-backports
-    - types-pyOpenSSL ~= 21.0  # Last interface supporting Python 2.7
-    - types-requests
-    - types-six
-    - typing
-    args:
-    - --install-types
-    - --non-interactive
-    - --python-version=2.7
-    - --txt-report=.tox/.tmp/.mypy/
-    - cheroot/
-    pass_filenames: false
 
 - repo: local
   hooks:
@@ -195,7 +176,6 @@ repos:
     - pypytools
     - requests_toolbelt
     - requests_unixsocket
-    - six
     - Sphinx
 
 - repo: local
diff --git a/requirements/tox-py27-cp27-darwin-x86_64.in b/requirements/tox-py27-cp27-darwin-x86_64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-py27-cp27-darwin-x86_64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-py27-cp27-darwin-x86_64.txt b/requirements/tox-py27-cp27-darwin-x86_64.txt
deleted file mode 100644
index 5a25e77648..0000000000
--- a/requirements/tox-py27-cp27-darwin-x86_64.txt
+++ /dev/null
@@ -1,209 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-py27-cp27-darwin-x86_64.txt requirements/tox-py27-cp27-darwin-x86_64.in
-#
-atomicwrites==1.4.1
-    # via pytest
-attrs==21.4.0
-    # via pytest
-backports.functools-lru-cache==1.6.4
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   wcwidth
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-colorama==0.4.6
-    # via pytest-watch
-configparser==4.0.2
-    # via importlib-metadata
-contextlib2==0.6.0.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   jaraco.context
-    #   yg.lockfile
-    #   zipp
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-py27-cp27-darwin-x86_64.in
-    #   pytest-cov
-cryptography==3.3.2
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-enum34==1.1.10
-    # via cryptography
-execnet==1.9.0
-    # via pytest-xdist
-funcsigs==1.0.2
-    # via
-    #   mock
-    #   pytest
-futures==3.4.0 ; python_version == "2.7"
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.3.1
-    # via jaraco.text
-ipaddress==1.0.23
-    # via
-    #   cryptography
-    #   trustme
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-mock==3.0.5
-    # via pytest-mock
-more-itertools==5.0.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   pytest
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pycparser==2.21
-    # via cffi
-pyopenssl==21.0.0 ; implementation_name != "pypy"
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pytest-forked==1.3.0 ; sys_platform != "win32" and (python_version < "3.0" or python_version > "3.4")
-    # via
-    #   -r requirements/tox-py27-cp27-darwin-x86_64.in
-    #   pytest-xdist
-pytest-mock==2.0.0
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pytest-rerunfailures==8.0 ; python_version <= "2.7" or python_version == "3.4"
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pytest-xdist==1.34.0
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-pytest==4.6.11
-    # via
-    #   -r requirements/tox-py27-cp27-darwin-x86_64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-requests==2.27.1
-    # via
-    #   -r requirements/tox-py27-cp27-darwin-x86_64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-scandir==1.10.0
-    # via pathlib2
-selectors2==2.0.2
-    # via cheroot
-singledispatch==3.7.0
-    # via importlib-resources
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   mock
-    #   more-itertools
-    #   pathlib2
-    #   pyopenssl
-    #   pytest
-    #   pytest-xdist
-    #   singledispatch
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via coverage
-trustme==0.9.0
-    # via -r requirements/tox-py27-cp27-darwin-x86_64.in
-typing==3.10.0.0
-    # via
-    #   importlib-resources
-    #   pathlib2
-urllib3==1.26.12 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-py27-cp27-darwin-x86_64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-py27-cp27-darwin-x86_64.in
-    #   pytest-watch
-wcwidth==0.2.5
-    # via pytest
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==44.1.1
-    # via
-    #   pytest-rerunfailures
-    #   zc.lockfile
diff --git a/requirements/tox-py27-cp27-linux-x86_64.in b/requirements/tox-py27-cp27-linux-x86_64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-py27-cp27-linux-x86_64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-py27-cp27-linux-x86_64.txt b/requirements/tox-py27-cp27-linux-x86_64.txt
deleted file mode 100644
index 5d66a7d64d..0000000000
--- a/requirements/tox-py27-cp27-linux-x86_64.txt
+++ /dev/null
@@ -1,209 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-py27-cp27-linux-x86_64.txt requirements/tox-py27-cp27-linux-x86_64.in
-#
-atomicwrites==1.4.1
-    # via pytest
-attrs==21.4.0
-    # via pytest
-backports.functools-lru-cache==1.6.4
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   wcwidth
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-colorama==0.4.6
-    # via pytest-watch
-configparser==4.0.2
-    # via importlib-metadata
-contextlib2==0.6.0.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   jaraco.context
-    #   yg.lockfile
-    #   zipp
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-py27-cp27-linux-x86_64.in
-    #   pytest-cov
-cryptography==3.3.2
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-enum34==1.1.10
-    # via cryptography
-execnet==1.9.0
-    # via pytest-xdist
-funcsigs==1.0.2
-    # via
-    #   mock
-    #   pytest
-futures==3.4.0 ; python_version == "2.7"
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.3.1
-    # via jaraco.text
-ipaddress==1.0.23
-    # via
-    #   cryptography
-    #   trustme
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-mock==3.0.5
-    # via pytest-mock
-more-itertools==5.0.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   pytest
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pycparser==2.21
-    # via cffi
-pyopenssl==21.0.0 ; implementation_name != "pypy"
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pytest-forked==1.3.0 ; sys_platform != "win32" and (python_version < "3.0" or python_version > "3.4")
-    # via
-    #   -r requirements/tox-py27-cp27-linux-x86_64.in
-    #   pytest-xdist
-pytest-mock==2.0.0
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pytest-rerunfailures==8.0 ; python_version <= "2.7" or python_version == "3.4"
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pytest-xdist==1.34.0
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-pytest==4.6.11
-    # via
-    #   -r requirements/tox-py27-cp27-linux-x86_64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-requests==2.27.1
-    # via
-    #   -r requirements/tox-py27-cp27-linux-x86_64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-scandir==1.10.0
-    # via pathlib2
-selectors2==2.0.2
-    # via cheroot
-singledispatch==3.7.0
-    # via importlib-resources
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   mock
-    #   more-itertools
-    #   pathlib2
-    #   pyopenssl
-    #   pytest
-    #   pytest-xdist
-    #   singledispatch
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via coverage
-trustme==0.9.0
-    # via -r requirements/tox-py27-cp27-linux-x86_64.in
-typing==3.10.0.0
-    # via
-    #   importlib-resources
-    #   pathlib2
-urllib3==1.26.12 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-py27-cp27-linux-x86_64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-py27-cp27-linux-x86_64.in
-    #   pytest-watch
-wcwidth==0.2.5
-    # via pytest
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==44.1.1
-    # via
-    #   pytest-rerunfailures
-    #   zc.lockfile
diff --git a/requirements/tox-py27-cp27-win32-amd64.in b/requirements/tox-py27-cp27-win32-amd64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-py27-cp27-win32-amd64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-py27-cp27-win32-amd64.txt b/requirements/tox-py27-cp27-win32-amd64.txt
deleted file mode 100644
index c574bbd432..0000000000
--- a/requirements/tox-py27-cp27-win32-amd64.txt
+++ /dev/null
@@ -1,209 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-py27-cp27-win32-amd64.txt requirements/tox-py27-cp27-win32-amd64.in
-#
-atomicwrites==1.4.1
-    # via pytest
-attrs==21.4.0
-    # via pytest
-backports.functools-lru-cache==1.6.4
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   wcwidth
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-colorama==0.4.6
-    # via
-    #   pytest
-    #   pytest-watch
-configparser==4.0.2
-    # via importlib-metadata
-contextlib2==0.6.0.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   jaraco.context
-    #   yg.lockfile
-    #   zipp
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-py27-cp27-win32-amd64.in
-    #   pytest-cov
-cryptography==3.3.2
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-enum34==1.1.10
-    # via cryptography
-execnet==1.9.0
-    # via pytest-xdist
-funcsigs==1.0.2
-    # via
-    #   mock
-    #   pytest
-futures==3.4.0 ; python_version == "2.7"
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.3.1
-    # via jaraco.text
-ipaddress==1.0.23
-    # via
-    #   cryptography
-    #   trustme
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-mock==3.0.5
-    # via pytest-mock
-more-itertools==5.0.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   pytest
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pycparser==2.21
-    # via cffi
-pyopenssl==21.0.0 ; implementation_name != "pypy"
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pytest-forked==1.3.0
-    # via pytest-xdist
-pytest-mock==2.0.0
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pytest-rerunfailures==8.0 ; python_version <= "2.7" or python_version == "3.4"
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pytest-xdist==1.34.0
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-pytest==4.6.11
-    # via
-    #   -r requirements/tox-py27-cp27-win32-amd64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-requests==2.27.1
-    # via
-    #   -r requirements/tox-py27-cp27-win32-amd64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-scandir==1.10.0
-    # via pathlib2
-selectors2==2.0.2
-    # via cheroot
-singledispatch==3.7.0
-    # via importlib-resources
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   mock
-    #   more-itertools
-    #   pathlib2
-    #   pyopenssl
-    #   pytest
-    #   pytest-xdist
-    #   singledispatch
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via coverage
-trustme==0.9.0
-    # via -r requirements/tox-py27-cp27-win32-amd64.in
-typing==3.10.0.0
-    # via
-    #   importlib-resources
-    #   pathlib2
-urllib3==1.26.12 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-py27-cp27-win32-amd64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-py27-cp27-win32-amd64.in
-    #   pytest-watch
-wcwidth==0.2.5
-    # via pytest
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==44.1.1
-    # via
-    #   pytest-rerunfailures
-    #   zc.lockfile
diff --git a/requirements/tox-py34-cp34-linux-x86_64.in b/requirements/tox-py34-cp34-linux-x86_64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-py34-cp34-linux-x86_64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-py34-cp34-linux-x86_64.txt b/requirements/tox-py34-cp34-linux-x86_64.txt
deleted file mode 100644
index a27191a8e9..0000000000
--- a/requirements/tox-py34-cp34-linux-x86_64.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-py34-cp34-linux-x86_64.txt requirements/tox-py34-cp34-linux-x86_64.in
-#
-apipkg==2.0.1 ; python_version == "3.4"
-atomicwrites==1.4.1       # via pytest
-attrs==21.1.0             # via pytest
-cached-property==1.5.2    # via charset-normalizer
-certifi==2021.10.8        # via requests
-cffi==1.15.1              # via cryptography
-chardet==3.0.4            # via requests
-charset-normalizer==0.2.3 ; python_version >= "3.0" and python_version <= "3.5"
-colorama==0.4.1 ; python_version == "3.4"
-coverage==4.5.4 ; python_version == "3.4"
-cryptography==2.8         # via pyopenssl, trustme
-docopt==0.6.2             # via pytest-watch
-dragonmapper==0.2.6       # via charset-normalizer
-execnet==1.7.1            # via pytest-xdist
-hanzidentifier==1.1.0     # via dragonmapper
-idna==2.8                 # via requests, trustme
-importlib-metadata==1.1.3  # via pluggy, pytest
-importlib-resources==1.0.2  # via jaraco.text
-jaraco.apt==2.0           # via jaraco.context
-jaraco.context==2.0
-jaraco.functools==2.0     # via jaraco.text, tempora, yg.lockfile
-jaraco.text==3.2.0
-more-itertools==7.2.0     # via jaraco.functools, pytest
-packaging==20.9           # via pytest, pytest-sugar
-pathlib2==2.3.7.post1     # via importlib-metadata, pytest
-pathtools==0.1.2          # via watchdog
-pluggy==0.13.1            # via pytest
-portend==2.6
-prettytable==0.7.2        # via charset-normalizer
-py==1.10.0                # via pypytools, pytest
-pycparser==2.21           # via cffi
-pyopenssl==19.1.0 ; implementation_name != "pypy"
-pyparsing==2.4.7          # via packaging
-pypytools==0.6.2
-pytest-cov==2.8.1 ; python_version == "3.4"
-pytest-forked==1.1.3 ; sys_platform != "win32" and python_version >= "3.0" and python_version <= "3.4"
-pytest-mock==2.0.0
-pytest-rerunfailures==8.0 ; python_version <= "2.7" or python_version == "3.4"
-pytest-sugar==0.9.6
-pytest-watch==4.2.0
-pytest-xdist==1.31.0
-pytest==4.6.11
-pytz==2022.6              # via tempora
-requests-toolbelt==0.10.1
-requests-unixsocket==0.3.0
-requests==2.21.0
-scandir==1.10.0           # via pathlib2
-six==1.16.0               # via cryptography, jaraco.apt, jaraco.text, pathlib2, pyopenssl, pytest, pytest-xdist, tempora
-tempora==1.14.1           # via portend, yg.lockfile
-termcolor==1.1.0          # via pytest-sugar
-trustme==0.9.0
-typing==3.10.0.0          # via importlib-resources, pathlib2
-urllib3==1.24.3 ; python_version == "3.4"
-watchdog==0.10.7 ; python_version < "3.6"
-wcwidth==0.2.5            # via pytest
-yg.lockfile==2.3          # via jaraco.context
-zc.lockfile==2.0          # via yg.lockfile
-zhon==1.1.5               # via charset-normalizer, dragonmapper, hanzidentifier
-zipp==1.2.0               # via importlib-metadata
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==43.0.0        # via pytest-rerunfailures, zc.lockfile
diff --git a/requirements/tox-py35-cp35-darwin-x86_64.in b/requirements/tox-py35-cp35-darwin-x86_64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-py35-cp35-darwin-x86_64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-py35-cp35-darwin-x86_64.txt b/requirements/tox-py35-cp35-darwin-x86_64.txt
deleted file mode 100644
index 65fd334efb..0000000000
--- a/requirements/tox-py35-cp35-darwin-x86_64.txt
+++ /dev/null
@@ -1,164 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-py35-cp35-darwin-x86_64.txt requirements/tox-py35-cp35-darwin-x86_64.in
-#
-attrs==22.1.0
-    # via pytest
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-charset-normalizer==2.0.12 ; python_version >= "3.0" and python_version <= "3.5"
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-colorama==0.4.5
-    # via pytest-watch
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-py35-cp35-darwin-x86_64.in
-    #   pytest-cov
-cryptography==3.2.1
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-execnet==1.9.0
-    # via pytest-xdist
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.2.1
-    # via jaraco.text
-iniconfig==1.1.1
-    # via pytest
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-more-itertools==8.10.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pycparser==2.21
-    # via cffi
-pyopenssl==20.0.1 ; implementation_name != "pypy"
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pytest-forked==1.3.0 ; sys_platform != "win32" and (python_version < "3.0" or python_version > "3.4")
-    # via
-    #   -r requirements/tox-py35-cp35-darwin-x86_64.in
-    #   pytest-xdist
-pytest-mock==3.5.1
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pytest-rerunfailures==9.1.1 ; python_version == "3.5"
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pytest-xdist==2.2.1
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-pytest==6.1.2
-    # via
-    #   -r requirements/tox-py35-cp35-darwin-x86_64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-requests==2.25.1
-    # via
-    #   -r requirements/tox-py35-cp35-darwin-x86_64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   pathlib2
-    #   pyopenssl
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via
-    #   coverage
-    #   pytest
-trustme==0.9.0
-    # via -r requirements/tox-py35-cp35-darwin-x86_64.in
-urllib3==1.26.9 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-py35-cp35-darwin-x86_64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-py35-cp35-darwin-x86_64.in
-    #   pytest-watch
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==50.3.2
-    # via
-    #   pytest-rerunfailures
-    #   zc.lockfile
diff --git a/requirements/tox-py35-cp35-linux-x86_64.in b/requirements/tox-py35-cp35-linux-x86_64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-py35-cp35-linux-x86_64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-py35-cp35-linux-x86_64.txt b/requirements/tox-py35-cp35-linux-x86_64.txt
deleted file mode 100644
index 4d6f5c004c..0000000000
--- a/requirements/tox-py35-cp35-linux-x86_64.txt
+++ /dev/null
@@ -1,164 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-py35-cp35-linux-x86_64.txt requirements/tox-py35-cp35-linux-x86_64.in
-#
-attrs==22.1.0
-    # via pytest
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-charset-normalizer==2.0.12 ; python_version >= "3.0" and python_version <= "3.5"
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-colorama==0.4.5
-    # via pytest-watch
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-py35-cp35-linux-x86_64.in
-    #   pytest-cov
-cryptography==3.2.1
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-execnet==1.9.0
-    # via pytest-xdist
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.2.1
-    # via jaraco.text
-iniconfig==1.1.1
-    # via pytest
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-more-itertools==8.10.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pycparser==2.21
-    # via cffi
-pyopenssl==20.0.1 ; implementation_name != "pypy"
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pytest-forked==1.3.0 ; sys_platform != "win32" and (python_version < "3.0" or python_version > "3.4")
-    # via
-    #   -r requirements/tox-py35-cp35-linux-x86_64.in
-    #   pytest-xdist
-pytest-mock==3.5.1
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pytest-rerunfailures==9.1.1 ; python_version == "3.5"
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pytest-xdist==2.2.1
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-pytest==6.1.2
-    # via
-    #   -r requirements/tox-py35-cp35-linux-x86_64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-requests==2.25.1
-    # via
-    #   -r requirements/tox-py35-cp35-linux-x86_64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   pathlib2
-    #   pyopenssl
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via
-    #   coverage
-    #   pytest
-trustme==0.9.0
-    # via -r requirements/tox-py35-cp35-linux-x86_64.in
-urllib3==1.26.9 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-py35-cp35-linux-x86_64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-py35-cp35-linux-x86_64.in
-    #   pytest-watch
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==50.3.2
-    # via
-    #   pytest-rerunfailures
-    #   zc.lockfile
diff --git a/requirements/tox-py35-cp35-win32-amd64.in b/requirements/tox-py35-cp35-win32-amd64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-py35-cp35-win32-amd64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-py35-cp35-win32-amd64.txt b/requirements/tox-py35-cp35-win32-amd64.txt
deleted file mode 100644
index 3c6d11f296..0000000000
--- a/requirements/tox-py35-cp35-win32-amd64.txt
+++ /dev/null
@@ -1,166 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-py35-cp35-win32-amd64.txt requirements/tox-py35-cp35-win32-amd64.in
-#
-atomicwrites==1.4.1
-    # via pytest
-attrs==22.1.0
-    # via pytest
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-charset-normalizer==2.0.12 ; python_version >= "3.0" and python_version <= "3.5"
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-colorama==0.4.5
-    # via
-    #   pytest
-    #   pytest-watch
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-py35-cp35-win32-amd64.in
-    #   pytest-cov
-cryptography==3.2.1
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-execnet==1.9.0
-    # via pytest-xdist
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.2.1
-    # via jaraco.text
-iniconfig==1.1.1
-    # via pytest
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-more-itertools==8.10.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pycparser==2.21
-    # via cffi
-pyopenssl==20.0.1 ; implementation_name != "pypy"
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pytest-forked==1.3.0
-    # via pytest-xdist
-pytest-mock==3.5.1
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pytest-rerunfailures==9.1.1 ; python_version == "3.5"
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pytest-xdist==2.2.1
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-pytest==6.1.2
-    # via
-    #   -r requirements/tox-py35-cp35-win32-amd64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-requests==2.25.1
-    # via
-    #   -r requirements/tox-py35-cp35-win32-amd64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   pathlib2
-    #   pyopenssl
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via
-    #   coverage
-    #   pytest
-trustme==0.9.0
-    # via -r requirements/tox-py35-cp35-win32-amd64.in
-urllib3==1.26.9 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-py35-cp35-win32-amd64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-py35-cp35-win32-amd64.in
-    #   pytest-watch
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==50.3.2
-    # via
-    #   pytest-rerunfailures
-    #   zc.lockfile
diff --git a/requirements/tox-pypy27-pp27-darwin-x86_64.in b/requirements/tox-pypy27-pp27-darwin-x86_64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-pypy27-pp27-darwin-x86_64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-pypy27-pp27-darwin-x86_64.txt b/requirements/tox-pypy27-pp27-darwin-x86_64.txt
deleted file mode 100644
index b534e7157f..0000000000
--- a/requirements/tox-pypy27-pp27-darwin-x86_64.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-pypy27-pp27-darwin-x86_64.txt requirements/tox-pypy27-pp27-darwin-x86_64.in
-#
-atomicwrites==1.4.1
-    # via pytest
-attrs==21.4.0
-    # via pytest
-backports.functools-lru-cache==1.6.4
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   wcwidth
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-colorama==0.4.6
-    # via pytest-watch
-configparser==4.0.2
-    # via importlib-metadata
-contextlib2==0.6.0.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   jaraco.context
-    #   yg.lockfile
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-    #   pytest-cov
-cryptography==3.3.2
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-enum34==1.1.10
-    # via cryptography
-execnet==1.9.0
-    # via pytest-xdist
-funcsigs==1.0.2
-    # via
-    #   mock
-    #   pytest
-futures==3.4.0 ; python_version == "2.7"
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.3.1
-    # via jaraco.text
-ipaddress==1.0.23
-    # via
-    #   cryptography
-    #   trustme
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-mock==3.0.5
-    # via pytest-mock
-more-itertools==5.0.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   pytest
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pyopenssl==21.0.0 ; implementation_name != "pypy"
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pytest-forked==1.3.0 ; sys_platform != "win32" and (python_version < "3.0" or python_version > "3.4")
-    # via
-    #   -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-    #   pytest-xdist
-pytest-mock==2.0.0
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pytest-rerunfailures==8.0 ; python_version <= "2.7" or python_version == "3.4"
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pytest-xdist==1.34.0
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-pytest==4.6.11
-    # via
-    #   -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-requests==2.27.1
-    # via
-    #   -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-scandir==1.10.0
-    # via pathlib2
-selectors2==2.0.2
-    # via cheroot
-singledispatch==3.7.0
-    # via importlib-resources
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   mock
-    #   more-itertools
-    #   pathlib2
-    #   pyopenssl
-    #   pytest
-    #   pytest-xdist
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via coverage
-trustme==0.9.0
-    # via -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-typing==3.10.0.0
-    # via
-    #   importlib-resources
-    #   pathlib2
-urllib3==1.26.12 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-pypy27-pp27-darwin-x86_64.in
-    #   pytest-watch
-wcwidth==0.2.5
-    # via pytest
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==44.1.1
-    # via pytest-rerunfailures
diff --git a/requirements/tox-pypy27-pp27-linux-x86_64.in b/requirements/tox-pypy27-pp27-linux-x86_64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-pypy27-pp27-linux-x86_64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-pypy27-pp27-linux-x86_64.txt b/requirements/tox-pypy27-pp27-linux-x86_64.txt
deleted file mode 100644
index ba81d84a84..0000000000
--- a/requirements/tox-pypy27-pp27-linux-x86_64.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-pypy27-pp27-linux-x86_64.txt requirements/tox-pypy27-pp27-linux-x86_64.in
-#
-atomicwrites==1.4.1
-    # via pytest
-attrs==21.4.0
-    # via pytest
-backports.functools-lru-cache==1.6.4
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   wcwidth
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-colorama==0.4.6
-    # via pytest-watch
-configparser==4.0.2
-    # via importlib-metadata
-contextlib2==0.6.0.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   jaraco.context
-    #   yg.lockfile
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-pypy27-pp27-linux-x86_64.in
-    #   pytest-cov
-cryptography==3.3.2
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-enum34==1.1.10
-    # via cryptography
-execnet==1.9.0
-    # via pytest-xdist
-funcsigs==1.0.2
-    # via
-    #   mock
-    #   pytest
-futures==3.4.0 ; python_version == "2.7"
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.3.1
-    # via jaraco.text
-ipaddress==1.0.23
-    # via
-    #   cryptography
-    #   trustme
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-mock==3.0.5
-    # via pytest-mock
-more-itertools==5.0.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   pytest
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pyopenssl==21.0.0 ; implementation_name != "pypy"
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pytest-forked==1.3.0 ; sys_platform != "win32" and (python_version < "3.0" or python_version > "3.4")
-    # via
-    #   -r requirements/tox-pypy27-pp27-linux-x86_64.in
-    #   pytest-xdist
-pytest-mock==2.0.0
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pytest-rerunfailures==8.0 ; python_version <= "2.7" or python_version == "3.4"
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pytest-xdist==1.34.0
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-pytest==4.6.11
-    # via
-    #   -r requirements/tox-pypy27-pp27-linux-x86_64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-requests==2.27.1
-    # via
-    #   -r requirements/tox-pypy27-pp27-linux-x86_64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-scandir==1.10.0
-    # via pathlib2
-selectors2==2.0.2
-    # via cheroot
-singledispatch==3.7.0
-    # via importlib-resources
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   mock
-    #   more-itertools
-    #   pathlib2
-    #   pyopenssl
-    #   pytest
-    #   pytest-xdist
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via coverage
-trustme==0.9.0
-    # via -r requirements/tox-pypy27-pp27-linux-x86_64.in
-typing==3.10.0.0
-    # via
-    #   importlib-resources
-    #   pathlib2
-urllib3==1.26.12 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-pypy27-pp27-linux-x86_64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-pypy27-pp27-linux-x86_64.in
-    #   pytest-watch
-wcwidth==0.2.5
-    # via pytest
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==44.1.1
-    # via pytest-rerunfailures
diff --git a/requirements/tox-pypy27-pp27-win32-amd64.in b/requirements/tox-pypy27-pp27-win32-amd64.in
deleted file mode 120000
index 68a874dd2f..0000000000
--- a/requirements/tox-pypy27-pp27-win32-amd64.in
+++ /dev/null
@@ -1,1 +0,0 @@
-tests.in
\ No newline at end of file
diff --git a/requirements/tox-pypy27-pp27-win32-amd64.txt b/requirements/tox-pypy27-pp27-win32-amd64.txt
deleted file mode 100644
index 3340bd3c8c..0000000000
--- a/requirements/tox-pypy27-pp27-win32-amd64.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-#
-# This file is autogenerated by pip-compile
-# To update, run:
-#
-#    pip-compile --allow-unsafe --output-file=requirements/tox-pypy27-pp27-win32-amd64.txt requirements/tox-pypy27-pp27-win32-amd64.in
-#
-atomicwrites==1.4.1
-    # via pytest
-attrs==21.4.0
-    # via pytest
-backports.functools-lru-cache==1.6.4
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   wcwidth
-certifi==2021.10.8
-    # via requests
-cffi==1.15.1
-    # via cryptography
-chardet==4.0.0
-    # via requests
-colorama==0.4.6
-    # via
-    #   pytest
-    #   pytest-watch
-configparser==4.0.2
-    # via importlib-metadata
-contextlib2==0.6.0.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   jaraco.context
-    #   yg.lockfile
-coverage==5.5 ; python_version < "3.6" and python_version != "3.4"
-    # via
-    #   -r requirements/tox-pypy27-pp27-win32-amd64.in
-    #   pytest-cov
-cryptography==3.3.2
-    # via
-    #   pyopenssl
-    #   trustme
-docopt==0.6.2
-    # via pytest-watch
-enum34==1.1.10
-    # via cryptography
-execnet==1.9.0
-    # via pytest-xdist
-funcsigs==1.0.2
-    # via
-    #   mock
-    #   pytest
-futures==3.4.0 ; python_version == "2.7"
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-idna==2.10
-    # via
-    #   requests
-    #   trustme
-importlib-metadata==2.1.3
-    # via
-    #   cheroot
-    #   pluggy
-    #   pytest
-importlib-resources==3.3.1
-    # via jaraco.text
-ipaddress==1.0.23
-    # via
-    #   cryptography
-    #   trustme
-jaraco.apt==2.0
-    # via jaraco.context
-jaraco.context==2.0
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-jaraco.functools==2.0
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-    #   yg.lockfile
-jaraco.text==3.2.0
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-mock==3.0.5
-    # via pytest-mock
-more-itertools==5.0.0
-    # via
-    #   cheroot
-    #   jaraco.functools
-    #   pytest
-packaging==20.9
-    # via
-    #   pytest
-    #   pytest-sugar
-pathlib2==2.3.7.post1
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-    #   pytest
-pathtools==0.1.2
-    # via watchdog
-pluggy==0.13.1
-    # via pytest
-portend==2.6
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-py==1.11.0
-    # via
-    #   pypytools
-    #   pytest
-    #   pytest-forked
-pyopenssl==21.0.0 ; implementation_name != "pypy"
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pyparsing==2.4.7
-    # via packaging
-pypytools==0.6.2
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pytest-cov==2.12.0 ; python_version != "3.4"
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pytest-forked==1.3.0
-    # via pytest-xdist
-pytest-mock==2.0.0
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pytest-rerunfailures==8.0 ; python_version <= "2.7" or python_version == "3.4"
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pytest-sugar==0.9.6
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pytest-watch==4.2.0
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pytest-xdist==1.34.0
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-pytest==4.6.11
-    # via
-    #   -r requirements/tox-pypy27-pp27-win32-amd64.in
-    #   pytest-cov
-    #   pytest-forked
-    #   pytest-mock
-    #   pytest-rerunfailures
-    #   pytest-sugar
-    #   pytest-watch
-    #   pytest-xdist
-pytz==2022.6
-    # via tempora
-requests-toolbelt==0.10.1
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-requests-unixsocket==0.3.0
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-requests==2.27.1
-    # via
-    #   -r requirements/tox-pypy27-pp27-win32-amd64.in
-    #   requests-toolbelt
-    #   requests-unixsocket
-scandir==1.10.0
-    # via pathlib2
-selectors2==2.0.2
-    # via cheroot
-singledispatch==3.7.0
-    # via importlib-resources
-six==1.16.0
-    # via
-    #   cheroot
-    #   cryptography
-    #   jaraco.apt
-    #   jaraco.text
-    #   mock
-    #   more-itertools
-    #   pathlib2
-    #   pyopenssl
-    #   pytest
-    #   pytest-xdist
-    #   tempora
-tempora==1.14.1
-    # via
-    #   portend
-    #   yg.lockfile
-termcolor==1.1.0
-    # via pytest-sugar
-toml==0.10.2
-    # via coverage
-trustme==0.9.0
-    # via -r requirements/tox-pypy27-pp27-win32-amd64.in
-typing==3.10.0.0
-    # via
-    #   importlib-resources
-    #   pathlib2
-urllib3==1.26.12 ; python_version != "3.4"
-    # via
-    #   -r requirements/tox-pypy27-pp27-win32-amd64.in
-    #   requests
-watchdog==0.10.7 ; python_version < "3.6"
-    # via
-    #   -r requirements/tox-pypy27-pp27-win32-amd64.in
-    #   pytest-watch
-wcwidth==0.2.5
-    # via pytest
-yg.lockfile==2.3
-    # via jaraco.context
-zc.lockfile==2.0
-    # via yg.lockfile
-zipp==1.2.0
-    # via
-    #   importlib-metadata
-    #   importlib-resources
-
-# The following packages are considered to be unsafe in a requirements file:
-setuptools==44.1.1
-    # via pytest-rerunfailures
diff --git a/setup.cfg b/setup.cfg
index 51851dbbe3..1f2b08f4c3 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -69,19 +69,8 @@ setup_requires =
 
 # These are required in actual runtime:
 install_requires =
-  backports.functools_lru_cache; python_version < '3.3'
-  selectors2; python_version< '3.4'
   importlib_metadata; python_version < '3.8'
-  six>=1.11.0
-  # NOTE: `more-itertools` has a bug in their package metadata. They
-  # NOTE: have dropped the testing of Python 3.5 from their CI but
-  # NOTE: forgot to state this in the distribution package metadata.
-  # NOTE: This is why we need these conditionals below.
-  # Refs:
-  # * https://github.com/more-itertools/more-itertools/issues/578
-  # * https://github.com/more-itertools/more-itertools/pull/579
-  more_itertools >= 2.6, < 8.11.0; python_version < '3.6'
-  more_itertools >= 2.6; python_version >= '3.6'
+  more_itertools >= 2.6
   jaraco.functools
 
 [options.extras_require]
diff --git a/tox.ini b/tox.ini
index 1e22ab1e8a..44f1670de1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,16 +1,10 @@
 [tox]
 envlist = python
-# FIXME: Bump the min version once Python 3.4 is no longer in the CI
-# FIXME: Once Python 3.4 is dropped from the matrix, use `{temp_dir}`
-# FIXME: instead of `{toxworkdir}/.tmp` that was added in tox v3.16.1.
-# NOTE: The last tox supporting Python 3.4 is 3.14.0
-# FIXME: Once Python 3.4 is dropped from the matrix, use `{/}`
-# NOTE: The first tox supporting {/} is 3.21.0
-minversion = 3.14.0
+minversion = 3.21.0
 
 [testenv]
 deps =
-  -rrequirements/tests.in
+  -rrequirements{/}tests.in
 commands_pre =
   {envpython} \
     {[python-cli-options]byteerrors} \
@@ -29,9 +23,9 @@ install_command =
   {envpython} \
     {[python-cli-options]byteerrors} \
     {[python-cli-options]isolate} \
-    {toxinidir}/bin/pip-wrapper \
+    {toxinidir}{/}bin{/}pip-wrapper \
     '{envname}' \
-    '{toxinidir}/requirements/' \
+    '{toxinidir}{/}requirements{/}' \
     install {opts} {packages}
 usedevelop = True
 
@@ -66,8 +60,8 @@ isolate = -E -s
 
 [dists]
 setenv =
-  PIP_CONSTRAINT = {toxinidir}/requirements/dist-build-constraints.txt
-  PEP517_OUT_DIR = {env:PEP517_OUT_DIR:{toxinidir}/dist}
+  PIP_CONSTRAINT = {toxinidir}{/}requirements{/}dist-build-constraints.txt
+  PEP517_OUT_DIR = {env:PEP517_OUT_DIR:{toxinidir}{/}dist}
 
 
 [testenv:build-docs]
@@ -83,10 +77,6 @@ commands =
   -git fetch --tags
 
   # Build docs site:
-  # FIXME: Once Python 3.4 is dropped from the matrix, use `{temp_dir}`
-  # FIXME: instead of `{toxworkdir}/.tmp` that was added in tox v3.16.1.
-  # NOTE: The last tox supporting Python 3.4 is 3.14.0
-  # -d "{temp_dir}/.doctrees" \
   {envpython} \
     {[python-cli-options]byteerrors} \
     {[python-cli-options]isolate} \
@@ -97,9 +87,9 @@ commands =
     -a \
     -n \
     -W --keep-going \
-    -d "{toxworkdir}/.tmp/.doctrees" \
+    -d "{temp_dir}{/}.doctrees" \
     . \
-    "{envdir}/docs_out"
+    "{envdir}{/}docs_out"
 
   # Print out the output docs dir and a way to serve html:
   -{envpython} \
@@ -114,7 +104,7 @@ commands =
   `python3 -m http.server --directory \
   \N\{QUOTATION MARK\}\{docs_dir\}\N\{QUOTATION MARK\} 0`\n")'
 deps =
-  -rrequirements/tox-docs.in
+  -rrequirements{/}tox-docs.in
 
 [testenv:doctest-docs]
 allowlist_externals =
@@ -137,8 +127,8 @@ commands =
     -a -n -W \
     --keep-going \
     -b doctest --color \
-    -d "{toxworkdir}/.tmp/.doctrees" \
-    . "{toxworkdir}/docs_out"
+    -d "{temp_dir}{/}.doctrees" \
+    . "{toxworkdir}{/}docs_out"
 deps =
   {[testenv:build-docs]deps}
 
@@ -163,8 +153,8 @@ commands =
     -a -n -W \
     --keep-going \
     -b linkcheck --color \
-    -d "{toxworkdir}/.tmp/.doctrees" \
-    . "{toxworkdir}/docs_out"
+    -d "{temp_dir}{/}.doctrees" \
+    . "{toxworkdir}{/}docs_out"
 deps =
   {[testenv:build-docs]deps}
 
@@ -189,17 +179,17 @@ commands =
     -a -n -W \
     --keep-going \
     -b spelling --color \
-    -d "{toxworkdir}/.tmp/.doctrees" \
-    . "{toxworkdir}/docs_out"
+    -d "{temp_dir}{/}.doctrees" \
+    . "{toxworkdir}{/}docs_out"
 deps =
-  -rrequirements/tox-docs-linkcheck.in
+  -rrequirements{/}tox-docs-linkcheck.in
 
 [testenv:watch]
 commands = ptw --runner=pytest
 
 [testenv:pre-commit]
 deps =
-  -rrequirements/tox-pre-commit.in
+  -rrequirements{/}tox-pre-commit.in
 commands_pre =
 commands = pre-commit run --all-files --show-diff-on-failure {posargs}
 
@@ -213,7 +203,7 @@ commands =
   {envpython} \
     {[python-cli-options]byteerrors} \
     {[python-cli-options]isolate} \
-    -m twine check .tox/dist/*
+    -m twine check .tox{/}dist{/}*
   {envpython} \
     {[python-cli-options]byteerrors} \
     {[python-cli-options]isolate} \
@@ -222,7 +212,7 @@ commands =
 
 [testenv:cleanup-dists]
 description =
-  Wipe the the dist/ folder
+  Wipe the the dist{/} folder
 usedevelop = false
 skip_install = true
 deps =
@@ -242,7 +232,7 @@ allowlist_externals =
   env
 description =
   Build dists and put them into
-  the `{env:PEP517_OUT_DIR}/` folder
+  the `{env:PEP517_OUT_DIR}{/}` folder
 depends =
   cleanup-dists
 platform = darwin|linux
@@ -253,16 +243,16 @@ install_command =
     {envpython} \
     {[python-cli-options]byteerrors} \
     {[python-cli-options]isolate} \
-    {toxinidir}/bin/pip-wrapper \
+    {toxinidir}{/}bin{/}pip-wrapper \
     '{envname}' \
-    '{toxinidir}/requirements/' \
+    '{toxinidir}{/}requirements{/}' \
     install {opts} {packages}
 isolated_build = true
 # `usedevelop = true` overrides `skip_install` instruction, it's unwanted
 usedevelop = false
 skip_install = true
 deps =
-  -rrequirements/tox-build-dists.in
+  -rrequirements{/}tox-build-dists.in
 passenv =
   PEP517_BUILD_ARGS
 setenv =
@@ -277,14 +267,14 @@ commands =
     {[python-cli-options]byteerrors} \
     {[python-cli-options]isolate} \
     -m build \
-    --outdir '{env:PEP517_OUT_DIR}/' \
+    --outdir '{env:PEP517_OUT_DIR}{/}' \
     {posargs:{env:PEP517_BUILD_ARGS:}} \
     '{toxinidir}'
 
 
 [testenv:metadata-validation]
 description =
-  Verify that dists under the `{env:PEP517_OUT_DIR}/` dir
+  Verify that dists under the `{env:PEP517_OUT_DIR}{/}` dir
   have valid metadata
 depends =
   build-dists
@@ -301,7 +291,7 @@ commands =
     {[python-cli-options]isolate}
     -m twine check \
     --strict \
-    {env:PEP517_OUT_DIR}/*
+    {env:PEP517_OUT_DIR}{/}*
 
 [testenv:release]
 skip_install = True
@@ -324,4 +314,4 @@ commands =
     {[python-cli-options]isolate} -m pep517.build .
   {envpython} \
     {[python-cli-options]byteerrors} \
-    {[python-cli-options]isolate} -m twine upload dist/*
+    {[python-cli-options]isolate} -m twine upload dist{/}*


Test patch:
diff --git a/cheroot/test/_pytest_plugin.py b/cheroot/test/_pytest_plugin.py
index 8ff3b02ced..b4030da6fd 100644
--- a/cheroot/test/_pytest_plugin.py
+++ b/cheroot/test/_pytest_plugin.py
@@ -8,7 +8,6 @@
 __metaclass__ = type
 
 import pytest
-import six
 
 
 pytest_version = tuple(map(int, pytest.__version__.split('.')))
@@ -46,9 +45,6 @@ def pytest_load_initial_conftests(early_config, parser, args):
         'pytest.PytestUnraisableExceptionWarning:_pytest.unraisableexception',
     ))
 
-    if six.PY2:
-        return
-
     # NOTE: `ResourceWarning` does not exist under Python 2 and so using
     # NOTE: it in warning filters results in an `_OptionError` exception
     # NOTE: being raised.