This PR adds CPython 3.10 to the testing matrix used in CI and adds CPython 3.10 support to the PyPI metadata. It additionally sets the oldest CPython version tested on macos-latest to be Python 3.7 given that the upcoming change in macos-latest to a macOS-11 image will drop support for all EOL Pythons, which is Python 3.6 and older (c.f. https://github.com/actions/virtual-environments/issues/4060).
That's the total effect of this PR. Internally in the GHA CI workflow it does two other things:
It uses the build matrix include option over the exclude option to simplify the "ends" of the Python versions tested on macos-latest. By removing macos-latest from the os list and then using include one only needs to specify macos-latest and the python versions only two numbers need to be manually maintained in the CI: the oldest Python to be tested on macOS and the newest.
This PR adds CPython 3.10 to the testing matrix used in CI and adds CPython 3.10 support to the PyPI metadata. It additionally sets the oldest CPython version tested on
macos-latest
to be Python 3.7 given that the upcoming change inmacos-latest
to a macOS-11 image will drop support for all EOL Pythons, which is Python 3.6 and older (c.f. https://github.com/actions/virtual-environments/issues/4060).That's the total effect of this PR. Internally in the GHA CI workflow it does two other things:
include
option over theexclude
option to simplify the "ends" of the Python versions tested onmacos-latest
. By removingmacos-latest
from theos
list and then usinginclude
one only needs to specifymacos-latest
and the python versions only two numbers need to be manually maintained in the CI: the oldest Python to be tested on macOS and the newest.3.10
as a float and interpret it as3.1
which is certainly not desired. :)