Skip to content

Commit

Permalink
Support for and test of Python 3.13.0-rc.1
Browse files Browse the repository at this point in the history
Details:

* Added Python 3.13 to Trove classifiers in pyproject.toml.

* Added python version 3.13.0-rc.1 to the GitHub actions test workflow, for
  full and normal tests.

* Increased minimum versions of the following packages:
  - Babel to 2.11.0 (fix for error during Sphinx run on Python 3.13)
  - pyrsistent to 0.20.0 (for official support of Python 3.12)
  - wheel to 0.41.3 (fix for install error of wrapt for Python 3.13 on Windows)
  - wrapt to 1.15 (for platform independent wheel archive to avoid build for
    Python 3.13)
  - PyYAML to 6.0.2 (fix install error for Python 3.13 on Windows. That
    version provides wheel archives for Python 3.13 on Windows)

Signed-off-by: Andreas Maier <[email protected]>
  • Loading branch information
andy-maier committed Sep 29, 2024
1 parent 9257dad commit ff9b04c
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 17 deletions.
32 changes: 31 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
if [[ "${{ github.event_name }}" == "schedule" || "${{ github.head_ref }}" =~ ^release_ ]]; then \
echo "matrix={ \
\"os\": [ \"ubuntu-latest\", \"macos-latest\", \"windows-latest\" ], \
\"python-version\": [ \"3.8\", \"3.9\", \"3.10\", \"3.11\", \"3.12\" ], \
\"python-version\": [ \"3.8\", \"3.9\", \"3.10\", \"3.11\", \"3.12\", \"3.13.0-rc.1\" ], \
\"package_level\": [ \"minimum\", \"latest\" ] \
}" >> $GITHUB_OUTPUT; \
else \
Expand All @@ -54,6 +54,16 @@ jobs:
\"python-version\": \"3.9\", \
\"package_level\": \"latest\" \
}, \
{ \
\"os\": \"ubuntu-latest\", \
\"python-version\": \"3.13.0-rc.1\", \
\"package_level\": \"minimum\" \
}, \
{ \
\"os\": \"ubuntu-latest\", \
\"python-version\": \"3.13.0-rc.1\", \
\"package_level\": \"latest\" \
}, \
{ \
\"os\": \"macos-latest\", \
\"python-version\": \"3.8\", \
Expand All @@ -69,6 +79,16 @@ jobs:
\"python-version\": \"3.12\", \
\"package_level\": \"minimum\" \
}, \
{ \
\"os\": \"macos-latest\", \
\"python-version\": \"3.13.0-rc.1\", \
\"package_level\": \"minimum\" \
}, \
{ \
\"os\": \"macos-latest\", \
\"python-version\": \"3.13.0-rc.1\", \
\"package_level\": \"latest\" \
}, \
{ \
\"os\": \"windows-latest\", \
\"python-version\": \"3.8\", \
Expand All @@ -78,6 +98,16 @@ jobs:
\"os\": \"windows-latest\", \
\"python-version\": \"3.12\", \
\"package_level\": \"latest\" \
}, \
{ \
\"os\": \"windows-latest\", \
\"python-version\": \"3.13.0-rc.1\", \
\"package_level\": \"minimum\" \
}, \
{ \
\"os\": \"windows-latest\", \
\"python-version\": \"3.13.0-rc.1\", \
\"package_level\": \"latest\" \
} \
] \
}" >> $GITHUB_OUTPUT; \
Expand Down
2 changes: 2 additions & 0 deletions changes/84.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Support for and test of Python 3.13.0-rc.1. Needed to increase the minimum
versions of PyYAML to 6.0.2 and pyrsistent to 0.20.0.
4 changes: 2 additions & 2 deletions minimum-constraints-develop.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ ruff==0.3.5
pylint==3.0.1
astroid==3.0.1
lazy-object-proxy==1.4.3
wrapt==1.14
wrapt==1.15
platformdirs==4.1.0
isort==4.3.8
tomlkit==0.10.1
Expand All @@ -91,7 +91,7 @@ sphinxcontrib-serializinghtml==1.1.5; python_version == '3.8'
sphinxcontrib-serializinghtml==1.1.9; python_version >= '3.9'
sphinxcontrib-websupport==1.2.4
autodocsumm==0.2.12
Babel==2.9.1
Babel==2.11.0

# Package dependency management tools (not used by any make rules)
pipdeptree==2.2.0
Expand Down
4 changes: 2 additions & 2 deletions minimum-constraints-install.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ zhmcclient==1.16.1

urllib3==1.26.19
jsonschema==3.2.0
PyYAML==5.3.1
PyYAML==6.0.2


# ------------------------------------------------------------------------------
# Indirect dependencies for installation that are needed for some reason.
# Must be consistent with requirements.txt.

pyrsistent==0.18.1
pyrsistent==0.20.0


# ------------------------------------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
requires-python = ">=3.8"
dynamic = ["version", "dependencies"]
Expand Down
4 changes: 2 additions & 2 deletions requirements-develop.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ ruff>=0.3.5
pylint>=3.0.1
astroid>=3.0.1
lazy-object-proxy>=1.4.3
wrapt>=1.14
wrapt>=1.15
# platformdirs is also used by tox
platformdirs>=4.1.0
# isort 4.3.8 fixes an issue with py310 and works on py310 (Note that isort 5.10.0 has official support for py310)
Expand Down Expand Up @@ -93,7 +93,7 @@ sphinxcontrib-serializinghtml>=1.1.5; python_version == '3.8'
sphinxcontrib-serializinghtml>=1.1.9; python_version >= '3.9'
sphinxcontrib-websupport>=1.2.4
autodocsumm>=0.2.12
Babel>=2.9.1
Babel>=2.11.0

# Package dependency management tools (not used by any make rules)
pipdeptree>=2.2.0
Expand Down
12 changes: 2 additions & 10 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,12 @@ urllib3>=1.26.19
jsonschema>=3.2.0

# PyYAML pulled in by zhmcclient, dparse, python-coveralls
# PyYAML 5.3 has wheel archives for Python 2.7, 3.5 - 3.9
# PyYAML 5.4 has wheel archives for Python 2.7, 3.6 - 3.9
# PyYAML 6.0 has wheel archives for Python 3.6 - 3.11
# PyYAML 5.4 and 6.0.0 fails install since Cython 3 was released, see issue
# https://github.com/yaml/pyyaml/issues/724.
PyYAML>=5.3.1,!=5.4.0,!=5.4.1; python_version <= '3.11'
PyYAML>=5.3.1,!=5.4.0,!=5.4.1,!=6.0.0; python_version >= '3.12'
PyYAML>=6.0.2


# ------------------------------------------------------------------------------
# Indirect dependencies for installation that are needed for some reason.
# Must be consistent with minimum-constraints-install.txt.

# pyrsistent is pulled in by jsonschema.
# pyrsistent 0.15.0 fixes import errors on Python>=3.10, but only 0.18.1 has
# Python 3.10 support (accordong to the change log).
pyrsistent>=0.18.1
pyrsistent>=0.20.0

0 comments on commit ff9b04c

Please sign in to comment.