Skip to content

Commit

Permalink
Added support for Python 3.12
Browse files Browse the repository at this point in the history
Signed-off-by: Andreas Maier <[email protected]>
  • Loading branch information
andy-maier committed May 5, 2024
1 parent 062f3d5 commit d51b04f
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 23 deletions.
8 changes: 4 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\": [ \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"3.10\", \"3.11\" ], \
\"python-version\": [ \"3.6\", \"3.7\", \"3.8\", \"3.9\", \"3.10\", \"3.11\", \"3.12\" ], \
\"package_level\": [ \"minimum\", \"latest\" ], \
\"exclude\": [ \
{ \
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
else \
echo "matrix={ \
\"os\": [ \"ubuntu-latest\" ], \
\"python-version\": [ \"3.7\", \"3.11\" ], \
\"python-version\": [ \"3.7\", \"3.12\" ], \
\"package_level\": [ \"minimum\", \"latest\" ], \
\"include\": [ \
{ \
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
}, \
{ \
\"os\": \"macos-latest\", \
\"python-version\": \"3.11\", \
\"python-version\": \"3.12\", \
\"package_level\": \"latest\" \
}, \
{ \
Expand All @@ -139,7 +139,7 @@ jobs:
}, \
{ \
\"os\": \"windows-latest\", \
\"python-version\": \"3.11\", \
\"python-version\": \"3.12\", \
\"package_level\": \"latest\" \
} \
] \
Expand Down
12 changes: 8 additions & 4 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,11 @@ Babel>=2.9.1
# Pylint 2.15 / astroid 2.12 is needed to circumvent issue https://github.com/PyCQA/pylint/issues/7972 on Python 3.11
# Pylint 2.14 / astroid 2.11 dropped support for py36
pylint>=2.13.0; python_version <= '3.6'
pylint>=2.15.0; python_version >= '3.7'
pylint>=2.15.0; python_version >= '3.7' and python_version <= '3.11'
pylint>=3.0.3; python_version >= '3.12'
astroid>=2.11.0; python_version <= '3.6'
astroid>=2.12.4; python_version >= '3.7'
astroid>=2.12.4; python_version >= '3.7' and python_version <= '3.11'
astroid>=3.0.2; python_version >= '3.12'
# astroid 2.13.0 uses typing-extensions on Python<3.11 but misses to require it on 3.10. See https://github.com/PyCQA/astroid/issues/1942
typing-extensions>=3.10; python_version <= '3.10'
# typed-ast is used by astroid on py34..py37
Expand All @@ -97,7 +99,8 @@ tomlkit>=0.10.1
dill>=0.3.4; python_version <= '3.6'
dill>=0.3.6; python_version >= '3.7'
# platformdirs is used by pylint starting with its 2.10
platformdirs>=2.2.0
platformdirs>=2.2.0; python_version <= '3.11'
platformdirs>=3.2.0; python_version >= '3.12'

# Mypy (no imports, invoked via mypy script)
# Mypy 0.981 removed support for py36
Expand Down Expand Up @@ -126,7 +129,8 @@ pipdeptree>=2.2.0
# pip-check-reqs 2.4.3 fixes a speed issue on Python 3.11.
# pip-check-reqs 2.5.0 has issue https://github.com/r1chardj0n3s/pip-check-reqs/issues/143
pip-check-reqs>=2.3.2; python_version >= '3.6' and python_version <= '3.7'
pip-check-reqs>=2.4.3,!=2.5.0; python_version >= '3.8'
pip-check-reqs>=2.4.3,!=2.5.0; python_version >= '3.8' and python_version <= '3.11'
pip-check-reqs>=2.5.1; python_version >= '3.12'


# Indirect dependencies with special constraints:
Expand Down
2 changes: 2 additions & 0 deletions docs/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ Released: not yet

**Enhancements:**

* Test: Added support for Python 3.12. (issue #178)

* Improvements for safety check tool: Made passing the safety check mandatory;
Fixed safety issues; Separated the safety check into a separate make target;
Added a safety policy file.
Expand Down
39 changes: 25 additions & 14 deletions minimum-constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ pip==23.3; python_version >= '3.7'

# setuptools 59.7.0 removed support for py36
setuptools==59.6.0; python_version == '3.6'
setuptools==65.5.1; python_version >= '3.7'
setuptools==65.5.1; python_version >= '3.7' and python_version <= '3.11'
setuptools==66.1.0; python_version >= '3.12'

wheel==0.33.5; python_version == '3.6'
wheel==0.38.1; python_version >= '3.7'
Expand All @@ -43,8 +44,8 @@ pytest==7.0.0
# Install test direct dependencies:

# virtualenv
virtualenv==20.1.0

virtualenv==20.1.0; python_version <= '3.11'
virtualenv==20.23.0; python_version >= '3.12'

# Indirect dependencies for test (must be consistent with test-requirements.txt, if present)

Expand All @@ -58,13 +59,15 @@ pluggy==0.13.1
# six (used by virtualenv, tox, probably others)
# virtualenv 20.0 requires six>=1.12.0 on py>=3.8
# tox 3.17 requires six>=1.14.0
six==1.14.0
six==1.14.0; python_version <= '3.9'
six==1.16.0; python_version >= '3.10'


# Indirect dependencies that must be handled early (must be consistent with dev-requirements.txt)

# tox and flake8 have requirements on importlib-metadata
importlib-metadata==1.1.0; python_version <= '3.7'
importlib-metadata==2.1.3; python_version <= '3.6'
importlib-metadata==4.8.3; python_version >= '3.7'


# Direct dependencies for development (must be consistent with dev-requirements.txt)
Expand Down Expand Up @@ -112,18 +115,23 @@ Babel==2.9.1

# PyLint (no imports, invoked via pylint script) - does not support py3:
pylint==2.13.0; python_version <= '3.6'
pylint==2.15.0; python_version >= '3.7'
pylint==2.15.0; python_version >= '3.7' and python_version <= '3.11'
pylint==3.0.3; python_version >= '3.12'
astroid==2.11.0; python_version <= '3.6'
astroid==2.12.4; python_version >= '3.7'
astroid==2.12.4; python_version >= '3.7' and python_version <= '3.11'
astroid==3.0.2; python_version >= '3.12'
typing-extensions==3.10; python_version <= '3.10'
typed-ast==1.4.0; python_version <= '3.7' and implementation_name=='cpython'
lazy-object-proxy==1.4.3
wrapt==1.14
isort==4.3.8
tomlkit==0.10.1
dill==0.3.4; python_version <= '3.6'
dill==0.3.6; python_version >= '3.7'
platformdirs==2.2.0
dill==0.3.6; python_version >= '3.7' and python_version <= '3.10'
dill==0.3.7; python_version >= '3.11'

platformdirs==2.2.0; python_version <= '3.11'
platformdirs==3.2.0; python_version >= '3.12'

# Mypy (no imports, invoked via mypy script)
mypy==0.971
Expand All @@ -142,8 +150,8 @@ readme-renderer==23.0
# Package dependency management tools
pipdeptree==2.2.0
pip-check-reqs==2.3.2; python_version >= '3.6' and python_version <= '3.7'
pip-check-reqs==2.4.3; python_version >= '3.8'

pip-check-reqs==2.4.3; python_version >= '3.8' and python_version <= '3.11'
pip-check-reqs==2.5.1; python_version >= '3.12'

# Indirect dependencies with special constraints:

Expand All @@ -163,9 +171,11 @@ Authlib==1.2.0
bleach==3.3.0
certifi==2023.07.22
chardet==3.0.3
distlib==0.3.1
distlib==0.3.1; python_version <= '3.11'
distlib==0.3.7; python_version >= '3.12'
docopt==0.6.1
filelock==3.0.0
filelock==3.0.0; python_version <= '3.11'
filelock==3.11.0; python_version >= "3.12"
gitdb==4.0.1
idna==2.5
imagesize==0.7.1
Expand All @@ -179,7 +189,8 @@ py==1.11.0
pydantic==1.10.13
pyparsing==2.4.7
python-dateutil==2.6.0
pyzmq==16.0.4
pyzmq==16.0.4; python_version <= '3.11'
pyzmq==25.1.1; python_version >= '3.12'
qtconsole==4.2.1
requests==2.25.0; python_version == '3.6'
requests==2.31.0; python_version >= '3.7'
Expand Down
3 changes: 2 additions & 1 deletion test-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ pytest>=7.0.0

# virtualenv
# tox 3.21.0 requires virtualenv!=20.0.[0-7],>=16.0.0 and requires py>=3.5
virtualenv>=20.1.0
virtualenv>=20.1.0; python_version <= '3.11'
virtualenv>=20.23.0; python_version >= '3.12'


# Indirect dependencies with special constraints:
Expand Down

0 comments on commit d51b04f

Please sign in to comment.