Add preliminary support for Python 3.11
authorJeremy Stanley <fungi@yuggoth.org>
Sat, 9 Oct 2021 17:03:32 +0000 (17:03 +0000)
committerJeremy Stanley <fungi@yuggoth.org>
Sat, 9 Oct 2021 17:03:32 +0000 (17:03 +0000)
Now that Python 3.10 is officially released and 3.11 is receiving
alpha versions, indicate that we're testing with 3.11 by updating
the trove classifiers for the Python package.

Because PyYAML is not yet building manylinux wheels for 3.11, re-add
the PYTHONWARNINGS exclusion for its Cython language_version
ambiguity (hopefully targeted for a fix soon in v6). Also pin our
minimum PyYAML requirement to the initial v6 beta version in order
to avoid needing to reintroduce the license_file DeprecationWarning
exclusion.

setup.cfg
tox.ini

index 1cbd550..7e9ff8d 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -32,6 +32,7 @@ classifiers =
     Programming Language :: Python :: 3.8
     Programming Language :: Python :: 3.9
     Programming Language :: Python :: 3.10
+    Programming Language :: Python :: 3.11
     Programming Language :: Python :: 3 :: Only
     Topic :: Communications
     Topic :: Communications :: BBS
@@ -44,7 +45,7 @@ classifiers =
 [options]
 install_requires =
     passlib>=1.7
-    pyyaml
+    pyyaml>=6.0b1  # until https://github.com/yaml/pyyaml/pull/564 is released
 python_requires = >=3.6
 
 [files]
diff --git a/tox.ini b/tox.ini
index e855bd6..7f80873 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -14,6 +14,9 @@ basepython = python3
 usedevelop = True
 # TODO(fungi) Switch this to "error" once the following are solved
 #
+# py311... Cython.Compiler.Main raises FutureWarning "Cython directive
+#   'language_level' not set, using 2 for now (Py2). This will change in a
+#   later release!" but this can't be matched by message because it has a comma
 # py310... distutils.command.install raises DeprecationWarning "The
 #   distutils.sysconfig module is deprecated, use sysconfig instead" but this
 #   can't be matched by message because it contains a comma
@@ -24,7 +27,7 @@ usedevelop = True
 # multiple callers raise DeprecationWarning "Creating a LegacyVersion has been
 #   deprecated and will be removed in the next major release"
 setenv =
-    PYTHONWARNINGS = error, ignore::DeprecationWarning:distutils.command.install, ignore:The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning, ignore:Creating a LegacyVersion has been deprecated and will be removed in the next major release:DeprecationWarning, ignore:SelectableGroups dict interface is deprecated. Use select.:DeprecationWarning:flake8.plugins.manager
+    PYTHONWARNINGS = error, ignore::FutureWarning:Cython.Compiler.Main, ignore::DeprecationWarning:distutils.command.install, ignore:The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning, ignore:Creating a LegacyVersion has been deprecated and will be removed in the next major release:DeprecationWarning, ignore:SelectableGroups dict interface is deprecated. Use select.:DeprecationWarning:flake8.plugins.manager
     VIRTUALENV_CREATOR = venv
 commands = mudpy_selftest mudpy/tests/fixtures/test_daemon.yaml