Skip to content

Commit

Permalink
Added support for Python 3.11
Browse files Browse the repository at this point in the history
Signed-off-by: Andreas Maier <andreas.r.maier@gmx.de>
  • Loading branch information
andy-maier committed Jan 5, 2023
1 parent de252b0 commit cbc4752
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 36 deletions.
13 changes: 9 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
if [[ "${{ github.event_name }}" == "schedule" || "${{ github.head_ref }}" =~ ^release_ ]]; then \
echo "matrix={ \
\"os\": [ \"ubuntu-latest\", \"macos-latest\", \"windows-latest\" ], \
\"python-version\": [ \"2.7\", \"3.4\", \"3.5\", \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"3.10\" ], \
\"python-version\": [ \"2.7\", \"3.4\", \"3.5\", \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"3.10\", \"3.11\" ], \
\"package_level\": [ \"minimum\", \"latest\" ], \
\"exclude\": [ \
{ \
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:
else \
echo "matrix={ \
\"os\": [ \"ubuntu-latest\" ], \
\"python-version\": [ \"2.7\", \"3.7\", \"3.10\" ], \
\"python-version\": [ \"2.7\", \"3.7\", \"3.11\" ], \
\"package_level\": [ \"minimum\", \"latest\" ], \
\"include\": [ \
{ \
Expand All @@ -122,6 +122,11 @@ jobs:
\"python-version\": \"3.4\", \
\"package_level\": \"latest\" \
}, \
{ \
\"os\": \"ubuntu-latest\", \
\"python-version\": \"3.10\", \
\"package_level\": \"latest\" \
}, \
{ \
\"os\": \"macos-latest\", \
\"python-version\": \"2.7\", \
Expand All @@ -134,7 +139,7 @@ jobs:
}, \
{ \
\"os\": \"macos-latest\", \
\"python-version\": \"3.10\", \
\"python-version\": \"3.11\", \
\"package_level\": \"latest\" \
}, \
{ \
Expand All @@ -149,7 +154,7 @@ jobs:
}, \
{ \
\"os\": \"windows-latest\", \
\"python-version\": \"3.10\", \
\"python-version\": \"3.11\", \
\"package_level\": \"latest\" \
} \
] \
Expand Down
65 changes: 51 additions & 14 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,24 @@ git+https://github.com/andy-maier/coveralls-python.git@andy/add-py27#egg=coveral
coveralls>=2.1.2,<3.0.0; python_version >= '3.5'

# Safety CI by pyup.io
# safety 1.9.0 removed support for Python 2.7 and 3.4 (and now also enforces that)
# safety 1.9.0 removed support for Python 2.7 (and now also enforces that)
# safety 2.2.0 resolves safety issue #51358
safety>=1.8.7,<1.9.0; python_version <= '3.4'
safety>=1.9.0; python_version >= '3.5'
safety>=1.9.0,<2.0.0; python_version == '3.5'
safety>=2.2.0; python_version >= '3.6'
# dparse 0.5.0 has an infinite recursion issue on Python 2.7,
# see https://github.com/pyupio/dparse/issues/46
# safety 1.9.0 requires dparse>=0.5.1
# safety 2.2.0 requires dparse>=0.6.2
dparse>=0.4.1,<0.5.0; python_version == '2.7'
dparse>=0.4.1; python_version == '3.4'
dparse>=0.5.1; python_version >= '3.5'
dparse>=0.5.1; python_version == '3.5'
dparse>=0.6.2; python_version >= '3.6'

# Click is used by safety
# safety 2.2.0 requires Click >=8.0.2
Click>=7.0; python_version <= '3.5'
Click>=8.0.2; python_version >= '3.6'

# PyYAML is pulled in by dparse and python-coveralls
# PyYAML 5.3 has removed support for Python 3.4
Expand Down Expand Up @@ -69,7 +78,8 @@ Sphinx>=3.5.4,!=4.0.0; python_version >= '3.5' and python_version <= '3.9'
Sphinx>=4.2.0; python_version >= '3.10'
docutils>=0.13.1,<0.17; python_version == '2.7'
docutils>=0.13.1; python_version >= '3.4' and python_version <= '3.9'
docutils>=0.14; python_version >= '3.10'
docutils>=0.14,<0.17; python_version == '3.10'
docutils>=0.16,<0.17; python_version >= '3.11'
sphinx-git>=10.1.1
GitPython>=2.1.1
sphinxcontrib-fulltoc>=1.2.0
Expand All @@ -78,22 +88,43 @@ sphinxcontrib-websupport>=1.1.2
Pygments>=2.1.3; python_version == '2.7'
Pygments>=2.1.3,<2.4.0; python_version == '3.4'
Pygments>=2.1.3; python_version >= '3.5'
sphinx-rtd-theme>=0.5.0
sphinx-rtd-theme>=1.0.0
# Babel 2.7.0 fixes an ImportError for MutableMapping which starts failing on Python 3.10
Babel>=2.7.0

# PyLint (no imports, invoked via pylint script)
# Pylint requires astroid
# Pylint 2.4 / astroid 2.3 removed py34
# Pylint 2.7 / astroid 2.5 removed py35
# Pylint 2.7-2.9 had issue https://github.com/PyCQA/pylint/issues/4118
pylint>=2.4.4; python_version == '3.5'
pylint>=2.10.0; python_version >= '3.6'
astroid>=2.3.3; python_version == '3.5'
astroid>=2.7.2; python_version >= '3.6'
# Pylint 2.0 / astroid 2.0 removed py27, added py37
# Pylint 2.7 / astroid 2.5 removed support for py35
# Pylint 2.10/ astroid 2.7 addresses issue https://github.com/PyCQA/pylint/issues/4118
# Pylint 2.14 / astroid 2.11 support wrapt 1.14 which is required for Python 3.11, but in addition:
# Pylint 2.15 / astroid 2.12 is needed to circumvent issue https://github.com/PyCQA/pylint/issues/7972 on Python 3.11
pylint>=2.5.2; python_version == '3.5'
pylint>=2.10.0; python_version >= '3.6' and python_version <= '3.10'
pylint>=2.15.0; python_version >= '3.11'
astroid>=2.4.0; python_version == '3.5'
astroid>=2.7.2; python_version >= '3.6' and python_version <= '3.10'
astroid>=2.12.4; python_version >= '3.11'
# typed-ast is used by astroid on py34..py37
typed-ast>=1.4.0,<1.5.0; python_version >= '3.5' and python_version < '3.8' and implementation_name=='cpython'
wrapt>=1.11.2; python_version >= '3.5'
# lazy-object-proxy is used by astroid
lazy-object-proxy>=1.4.3; python_version >= '3.5'
# wrapt 1.13.0 started depending on MS Visual C++ 9.0 on Python 2.7 on Windows,
# which is not available by default on GitHub Actions
# wrapt 1.14.0 started supporting Python 3.11 by accomodating the removed inspect.formatargspec
wrapt>=1.12; python_version >= '3.5' and python_version <= '3.10'
wrapt>=1.14; python_version >= '3.11'
# isort 5.0.0 removed support for py27,py35
# isort 4.2.8 fixes a pylint issue with false positive on import order of ssl on Windows
# isort 4.3.8 fixes an issue with py310 and works on py310 (Note that isort 5.10.0 has official support for py310)
isort>=4.3.8
# Pylint 2.14 uses tomlkit>=0.10.1 and requires py>=3.7
tomlkit>=0.10.1; python_version >= '3.7'
# dill is used by pylint >=2.13
dill>=0.2; python_version >= '3.6' and python_version <= '3.10'
dill>=0.3.6; python_version >= '3.11'
# platformdirs is used by pylint starting with its 2.10
platformdirs>=2.2.0; python_version >= '3.6'

# Flake8 and dependents (no imports, invoked via flake8 script):
# flake8 3.9.0 has removed support for py34 and pip 19.1.1 on py34 does not deal
Expand Down Expand Up @@ -126,6 +157,11 @@ readme-renderer>=23.0; python_version == '2.7'
readme-renderer>=23.0,<25.0; python_version == '3.4'
readme-renderer>=23.0; python_version >= '3.5'

# safety 2.3.5 started pinning packaging to <22.0 and requires >=21.0
packaging>=17.0; python_version == '2.7'
packaging>=17.0; python_version == '3.5'
packaging>=21.0,<22.0; python_version >= '3.6'


# Indirect dependencies with special constraints:

Expand All @@ -135,8 +171,9 @@ pytz>=2016.10
# colorama (used by tox, pytest)
# colorama 0.4.0 removed support for Python 3.4
# tox 3.21.0 depends on colorama>=0.4.1 for platform_system == "Windows"
# pylint>=2.15 requires colorama>=0.4.5
colorama>=0.3.9,<0.4.0; python_version <= '3.4'
colorama>=0.4.1; python_version >= '3.5'
colorama>=0.4.5; python_version >= '3.5'


# Additional indirect dependencies are not specified in this file.
2 changes: 2 additions & 0 deletions docs/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ Released: not yet

**Enhancements:**

* Added support for Python 3.11.

**Cleanup:**

**Known issues:**
Expand Down
50 changes: 32 additions & 18 deletions minimum-constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,10 @@ virtualenv==20.1.0; python_version >= '3.5'
# Indirect dependencies for test (must be consistent with test-requirements.txt, if present)

# packaging (used by pytest)
packaging==17.0
# Packaging 21.0 is required by safety 2.2.0
packaging==17.0; python_version == '2.7'
packaging==17.0; python_version == '3.5'
packaging==21.0; python_version >= '3.6'

# pluggy (used by pytest, tox)
pluggy==0.13.1
Expand Down Expand Up @@ -150,15 +153,21 @@ coveralls==2.1.2; python_version >= '3.5'

# Safety CI by pyup.io
safety==1.8.7; python_version <= '3.4'
safety==1.9.0; python_version >= '3.5'
safety==1.9.0; python_version == '3.5'
safety==2.2.0; python_version >= '3.6'
dparse==0.4.1; python_version <= '3.4'
dparse==0.5.1; python_version >= '3.5'
dparse==0.5.1; python_version == '3.5'
dparse==0.6.2; python_version >= '3.6'

# PyYAML is pulled in by dparse and python-coveralls
PyYAML==5.3.1; python_version == '2.7'
PyYAML==5.2; python_version == '3.4'
PyYAML==5.3.1; python_version >= '3.5'

# Click is used by safety
Click==7.0; python_version <= '3.5'
Click==8.0.2; python_version >= '3.6'

# Tox
tox==3.14.0; python_version <= '3.4'
tox==3.21.0; python_version >= '3.5'
Expand All @@ -169,23 +178,32 @@ Sphinx==3.5.4; python_version >= '3.5' and python_version <= '3.9'
Sphinx==4.2.0; python_version >= '3.10'
docutils==0.13.1; python_version == '2.7'
docutils==0.13.1; python_version >= '3.4' and python_version <= '3.9'
docutils==0.14; python_version >= '3.10'
docutils==0.14; python_version == '3.10'
docutils==0.16; python_version >= '3.11'
sphinx-git==10.1.1
GitPython==2.1.1
sphinxcontrib-fulltoc==1.2.0
sphinxcontrib-websupport==1.1.2
Pygments==2.1.3
sphinx-rtd-theme==0.5.0
Pygments==2.1.3; python_version <= '3.4'
Pygments==2.7.4; python_version >= '3.5'
sphinx-rtd-theme==1.0.0
Babel==2.7.0

# PyLint (no imports, invoked via pylint script) - does not support py3:
pylint==2.4.4; python_version == '3.5'
pylint==2.10.0; python_version >= '3.6'
astroid==2.3.3; python_version == '3.5'
astroid==2.7.2; python_version >= '3.6'
# typed-ast is used by astroid on py34..py37
pylint==2.5.2; python_version == '3.5'
pylint==2.10.0; python_version >= '3.6' and python_version <= '3.10'
pylint==2.15.0; python_version >= '3.11'
astroid==2.4.0; python_version == '3.5'
astroid==2.7.2; python_version >= '3.6' and python_version <= '3.10'
astroid==2.12.4; python_version >= '3.11'
typed-ast==1.4.0; python_version >= '3.5' and python_version < '3.8' and implementation_name=='cpython'
wrapt==1.11.2; python_version >= '3.5'
lazy-object-proxy==1.4.3; python_version >= '3.5'
wrapt==1.12; python_version >= '3.5' and python_version <= '3.10'
wrapt==1.14; python_version >= '3.11'
isort==4.3.8
tomlkit==0.10.1; python_version >= '3.7'
dill==0.2; python_version >= '3.6' and python_version <= '3.10'
dill==0.3.6; python_version >= '3.11'
platformdirs==2.2.0; python_version >= '3.6'

# Flake8 and dependents (no imports, invoked via flake8 script):
Expand Down Expand Up @@ -213,7 +231,7 @@ pytz==2019.1; python_version >= '3.10'
# colorama (used by tox, pytest)
# colorama 0.4.0 removed support for Python 3.4
colorama==0.3.9; python_version <= '3.4'
colorama==0.4.1; python_version >= '3.5'
colorama==0.4.5; python_version >= '3.5'


# Other indirect dependencies (not in any requirements file):
Expand All @@ -227,7 +245,6 @@ backports.functools-lru-cache==1.5; python_version < '3.3'
bleach==2.1.4
certifi==2019.9.11
chardet==3.0.3
Click==7.0
configparser==4.0.2; python_version < '3.2'
contextlib2==0.6.0; python_version == '2.7'
distlib==0.3.1; python_version >= '3.4'
Expand All @@ -241,16 +258,14 @@ gitdb==4.0.1; python_version >= '3.4'
gitdb2==2.0.0; python_version == '2.7'
idna==2.5
imagesize==0.7.1
isort==4.3.5
Jinja2==2.8; python_version <= '3.9'
Jinja2==2.10.2; python_version >= '3.10'
keyring==17.0.0; python_version >= '3.4'
lazy-object-proxy==1.4.2
MarkupSafe==1.1.0
more-itertools==5.0.0
pkginfo==1.4.1
py==1.5.1; python_version <= '3.9'
py==1.8.2; python_version >= '3.10'
py==1.11.0; python_version >= '3.10'
pyparsing==2.4.7
python-dateutil==2.6.0; python_version >= '3.4'
pyzmq==16.0.4; python_version >= '3.4'
Expand All @@ -277,5 +292,4 @@ urllib3==1.23
wcwidth==0.1.7
webencodings==0.5.1
widgetsnbextension==1.2.6
wrapt==1.11.2
zipp==1.2.0
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ class test(PytestCommand):
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Topic :: Software Development :: Libraries :: Python Modules',
]
)

0 comments on commit cbc4752

Please sign in to comment.