diff --git a/.github/workflows/ci-python.yml b/.github/workflows/ci-python.yml index 00040c5d40ddf..bbdc08a4552a9 100644 --- a/.github/workflows/ci-python.yml +++ b/.github/workflows/ci-python.yml @@ -20,10 +20,10 @@ jobs: steps: - name: Checkout source tree uses: actions/checkout@v4 - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip @@ -40,10 +40,10 @@ jobs: steps: - name: Checkout source tree uses: actions/checkout@v4 - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip @@ -62,10 +62,10 @@ jobs: steps: - name: Checkout source tree uses: actions/checkout@v4 - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/update-documentation.yml b/.github/workflows/update-documentation.yml index 4bed149651701..8fe2983566455 100644 --- a/.github/workflows/update-documentation.yml +++ b/.github/workflows/update-documentation.yml @@ -107,10 +107,10 @@ jobs: run: | git config --local user.email "selenium-ci@users.noreply.github.com" git config --local user.name "Selenium CI Bot" - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/MODULE.bazel b/MODULE.bazel index c1b347f5252b4..52410f87b6c6f 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -111,11 +111,11 @@ use_repo(oci, "chrome_standalone", "firefox_standalone", "java_image_base") python = use_extension("@rules_python//python/extensions:python.bzl", "python") python.toolchain( is_default = True, - python_version = "3.8", + python_version = "3.9", ) -python.toolchain(python_version = "3.9") python.toolchain(python_version = "3.10") python.toolchain(python_version = "3.11") +python.toolchain(python_version = "3.12") use_repo(python, "pythons_hub") pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") @@ -127,10 +127,10 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") requirements_lock = "//py:requirements_lock.txt", ) for version in [ - "3.8", "3.9", "3.10", "3.11", + "3.12", ] ] diff --git a/py/BUILD.bazel b/py/BUILD.bazel index 49fae4aecd61d..342d435498fe3 100644 --- a/py/BUILD.bazel +++ b/py/BUILD.bazel @@ -277,17 +277,17 @@ py_wheel( "Topic :: Software Development :: Testing", "Topic :: Software Development :: Libraries", "Programming Language :: Python", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ], description_file = "README.rst", distribution = "selenium", homepage = "https://www.selenium.dev", license = "Apache 2.0", - python_requires = ">=3.8", + python_requires = ">=3.9", python_tag = "py3", requires = [ "urllib3[socks]>=1.26,<3", diff --git a/py/docs/source/index.rst b/py/docs/source/index.rst index 9f8c9ed892d56..2133a11e05949 100755 --- a/py/docs/source/index.rst +++ b/py/docs/source/index.rst @@ -24,7 +24,7 @@ Several browsers/drivers are supported (Firefox, Chrome, Internet Explorer), as Supported Python Versions ========================= -* Python 3.8+ +* Python 3.9+ Installing ========== diff --git a/py/pyproject.toml b/py/pyproject.toml index a30b604e49be0..2c9ffb2117359 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -8,7 +8,7 @@ version = "4.28.0.202411261607" license = { text = "Apache 2.0" } description = "Official Python bindings for Selenium WebDriver." readme = "README.rst" -requires-python = "~=3.8" +requires-python = "~=3.9" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", @@ -19,7 +19,6 @@ classifiers = [ "Topic :: Software Development :: Testing", "Topic :: Software Development :: Libraries", "Programming Language :: Python", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", diff --git a/py/requirements_lock.txt b/py/requirements_lock.txt index 6831a495cc0f3..3dd1f07ac5757 100644 --- a/py/requirements_lock.txt +++ b/py/requirements_lock.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.9 # by the following command: # # bazel run //py:requirements.update @@ -271,10 +271,6 @@ importlib-metadata==6.8.0 \ # -r py/requirements.txt # keyring # twine -importlib-resources==6.1.1 \ - --hash=sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a \ - --hash=sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6 - # via keyring inflection==0.5.1 \ --hash=sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417 \ --hash=sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2 @@ -292,9 +288,7 @@ jaraco-classes==3.3.0 \ jeepney==0.8.0 \ --hash=sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806 \ --hash=sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755 - # via - # keyring - # secretstorage + # via secretstorage keyring==24.3.0 \ --hash=sha256:4446d35d636e6a10b8bce7caa66913dd9eca5fd222ca03a3d42c38608ac30836 \ --hash=sha256:e730ecffd309658a08ee82535a3b5ec4b4c8669a9be11efb66249d8e0aeb9a25 @@ -522,9 +516,7 @@ rich==13.7.0 \ secretstorage==3.3.3 \ --hash=sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77 \ --hash=sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99 - # via - # -r py/requirements.txt - # keyring + # via -r py/requirements.txt sniffio==1.3.1 \ --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \ --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc @@ -563,9 +555,7 @@ twine==4.0.2 \ typing-extensions==4.9.0 \ --hash=sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 \ --hash=sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd - # via - # -r py/requirements.txt - # rich + # via -r py/requirements.txt urllib3[socks]==2.0.7 \ --hash=sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84 \ --hash=sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e @@ -589,4 +579,3 @@ zipp==3.17.0 \ # via # -r py/requirements.txt # importlib-metadata - # importlib-resources diff --git a/py/tox.ini b/py/tox.ini index 083da94651e71..ca089bd75100a 100644 --- a/py/tox.ini +++ b/py/tox.ini @@ -47,7 +47,7 @@ commands = isort --check-only --diff selenium/ test/ conftest.py ; execute black in check only mode with diff. black --check --diff selenium/ test/ conftest.py -l 120 - flake8 selenium/ test/ --min-python-version=3.8 + flake8 selenium/ test/ --min-python-version=3.9 docformatter --check -r selenium/ [testenv:linting] @@ -64,7 +64,7 @@ deps = commands = isort selenium/ test/ conftest.py black selenium/ test/ conftest.py -l 120 - flake8 selenium/ test/ --min-python-version=3.8 + flake8 selenium/ test/ --min-python-version=3.9 docformatter --in-place -r selenium/ [flake8]