Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6a1da5f
[py] Support Python 3.14
cgoldberg Sep 21, 2025
39ae795
Merge branch 'SeleniumHQ:trunk' into py-314
cgoldberg Oct 3, 2025
e5bf735
Merge branch 'SeleniumHQ:trunk' into py-314
cgoldberg Oct 5, 2025
07d62fc
[py] Drop python 3.9 and update dependencies
cgoldberg Oct 5, 2025
d4988d3
[py] Quote python-version
cgoldberg Oct 5, 2025
69b6879
Merge branch 'trunk' into py-314
cgoldberg Oct 5, 2025
4162ee2
[py] Downgrade sphinx
cgoldberg Oct 5, 2025
56eff63
[py] Downgrade docutils
cgoldberg Oct 6, 2025
297e797
[py] Update installation command in docs
cgoldberg Oct 6, 2025
d157fa6
Merge branch 'trunk' into py-314
cgoldberg Oct 7, 2025
092b963
Merge branch 'trunk' into py-314
cgoldberg Oct 9, 2025
cde91fe
Add workflow job to verify dependencies
cgoldberg Oct 9, 2025
535dc74
Fix yaml
cgoldberg Oct 9, 2025
0b6f205
Fix workflow yaml
cgoldberg Oct 9, 2025
c7c507f
Trigger Build
cgoldberg Oct 9, 2025
8d3a08e
Update unit test matrix
cgoldberg Oct 9, 2025
e91ba48
Set Python version when building
cgoldberg Oct 9, 2025
b76b596
Merge branch 'trunk' into py-314
cgoldberg Oct 9, 2025
b452c20
Run unit tests on 3.14
cgoldberg Oct 9, 2025
6d23665
Merge branch 'trunk' into py-314
cgoldberg Oct 9, 2025
c1d777c
Remove job to very dependencies
cgoldberg Oct 10, 2025
06b1cf7
Merge branch 'trunk' into py-314
navin772 Oct 10, 2025
0d12f4e
Merge branch 'trunk' into py-314
cgoldberg Oct 10, 2025
6beffa0
Add back pip install -U
cgoldberg Oct 10, 2025
abd8e33
Merge branch 'trunk' into py-314
cgoldberg Oct 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ on:
required: false
type: string
default: ''
python-version:
description: Custom Python version to use
required: false
type: string
default: ''
ruby-version:
description: Custom Ruby version to use
required: false
Expand Down Expand Up @@ -101,6 +106,9 @@ jobs:
if: inputs.os != 'windows'
run: |
sudo rm -rf "$CHROMEWEBDRIVER" "$EDGEWEBDRIVER" "$GECKOWEBDRIVER"
- name: Set Python version
if: inputs.python-version != ''
run: echo '${{ inputs.python-version }}' > py/.python-version
- name: Set Ruby version
if: inputs.ruby-version != ''
run: echo '${{ inputs.ruby-version }}' > rb/.ruby-version
Expand Down
33 changes: 19 additions & 14 deletions .github/workflows/ci-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,38 @@ jobs:

docs:
name: Documentation
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout source tree
uses: actions/checkout@v4
- name: Set up Python 3.9
- name: Set up Python 3.10
uses: actions/setup-python@v6
with:
python-version: 3.9
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox==4.30.2
pip install tox
- name: Generate docs
run: |
tox -c py/tox.ini
env:
TOXENV: docs

mypy:
name: Mypy
needs: build
typing:
name: Type Checker
runs-on: ubuntu-latest
steps:
- name: Checkout source tree
uses: actions/checkout@v4
- name: Set up Python 3.9
- name: Set up Python 3.10
uses: actions/setup-python@v6
with:
python-version: 3.9
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox==4.30.2
pip install tox
- name: Run type checking
run: |
tox -c py/tox.ini || true
Expand All @@ -64,12 +62,19 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu
- os: macos
- python-version: '3.10'
os: ubuntu
- python-version: '3.10'
os: macos
- python-version: '3.14'
os: ubuntu
- python-version: '3.14'
os: macos
with:
name: Unit Tests (${{ matrix.os }})
name: Unit Tests (${{ matrix.python-version }}, ${{ matrix.os }})
os: ${{ matrix.os }}
cache-key: python-unit-test-${{ matrix.os }}
python-version: ${{ matrix.python-version }}
cache-key: python-unit-test-${{ matrix.python-version }}
run: |
bazel test //py:unit

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update-documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ jobs:
with:
java-version: 17
distribution: 'temurin'
- name: Set up Python 3.9
- name: Set up Python 3.10
if: ${{ inputs.language == 'py' || inputs.language == 'all' }}
uses: actions/setup-python@v6
with:
python-version: 3.9
python-version: '3.10'
- name: Install dependencies
if: ${{ inputs.language == 'py' || inputs.language == 'all' }}
run: |
Expand Down
8 changes: 4 additions & 4 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ bazel_dep(name = "rules_multitool", version = "1.3.0")
bazel_dep(name = "rules_nodejs", version = "6.3.2")
bazel_dep(name = "rules_oci", version = "1.8.0")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "rules_python", version = "1.5.0")
bazel_dep(name = "rules_python", version = "1.6.3")
bazel_dep(name = "rules_proto", version = "7.0.2")
bazel_dep(name = "rules_ruby", version = "0.19.0")

Expand Down Expand Up @@ -123,12 +123,12 @@ 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.9",
python_version = "3.10",
)
python.toolchain(python_version = "3.10")
python.toolchain(python_version = "3.11")
python.toolchain(python_version = "3.12")
python.toolchain(python_version = "3.13")
python.toolchain(python_version = "3.14")
use_repo(python, "pythons_hub")

pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
Expand All @@ -140,11 +140,11 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
requirements_lock = "//py:requirements_lock.txt",
)
for version in [
"3.9",
"3.10",
"3.11",
"3.12",
"3.13",
"3.14",
]
]

Expand Down
20 changes: 10 additions & 10 deletions multitool.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,41 @@
"binaries": [
{
"kind": "archive",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-aarch64-unknown-linux-musl.tar.gz",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.3/ruff-aarch64-unknown-linux-musl.tar.gz",
"file": "ruff-aarch64-unknown-linux-musl/ruff",
"sha256": "bdee6f1376470b74b1dc5ed48eca52ec9c3e4512bd7f3204e0df100f0bed4741",
"sha256": "4301d51fd2fbce6d4cc55613e5f8f96ee4fcb8dcaec8419023fe555575cf78f6",
"os": "linux",
"cpu": "arm64"
},
{
"kind": "archive",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-unknown-linux-musl.tar.gz",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.3/ruff-x86_64-unknown-linux-musl.tar.gz",
"file": "ruff-x86_64-unknown-linux-musl/ruff",
"sha256": "b56ac90cc6987401bafdcf1b931ef044074c5b9451286afa4606a983f64f4fdd",
"sha256": "8d24d74171772c67366d3187b990a3dc706022aa3a631b2a612d12e362f226c7",
"os": "linux",
"cpu": "x86_64"
},
{
"kind": "archive",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-aarch64-apple-darwin.tar.gz",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.3/ruff-aarch64-apple-darwin.tar.gz",
"file": "ruff-aarch64-apple-darwin/ruff",
"sha256": "0d706798534537b6655b79fd95c2955c0a0013d4c54d36679d3306825a6bd6aa",
"sha256": "a170ead9a9f03527dba3d2fb3e9e445f73d9efe3584c3307f3d30c6d5f31c487",
"os": "macos",
"cpu": "arm64"
},
{
"kind": "archive",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-apple-darwin.tar.gz",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.3/ruff-x86_64-apple-darwin.tar.gz",
"file": "ruff-x86_64-apple-darwin/ruff",
"sha256": "ac47ad1ac90f3070c064d2f5fceef4fe609fec7c073fd29d0814ed126c492e6d",
"sha256": "1c3a291a595ddd08398eb1e06fba883b7d8d715bd4255af5972f858fec8b4e57",
"os": "macos",
"cpu": "x86_64"
},
{
"kind": "archive",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-pc-windows-msvc.zip",
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.3/ruff-x86_64-pc-windows-msvc.zip",
"file": "ruff-x86_64-pc-windows-msvc/ruff.exe",
"sha256": "3a8d8cb96333671f78a5d209ddb4f830287e3eb2796fe01dd043b02ec1c1c7f1",
"sha256": "01e7ce81e052ad8788d6a9bffbce74524d80fbf0659e6194165d1e1d3ded9f39",
"os": "windows",
"cpu": "x86_64"
}
Expand Down
10 changes: 5 additions & 5 deletions py/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -314,24 +314,24 @@ py_wheel(
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Libraries",
"Programming Language :: Python",
"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",
"Programming Language :: Python :: 3.14",
],
description_file = "README.rst",
distribution = "selenium",
homepage = "https://www.selenium.dev",
license = "Apache-2.0",
python_requires = ">=3.9",
python_requires = ">=3.10",
python_tag = "py3",
requires = [
"urllib3[socks]>=2.5.0,<3.0",
"trio>=0.30.0,<1.0",
"trio>=0.31.0,<1.0",
"trio-websocket>=0.12.2,<1.0",
"certifi>=2025.6.15",
"typing_extensions>=4.14.0,<5.0",
"certifi>=2025.10.5",
"typing_extensions>=4.15.0,<5.0",
"websocket-client>=1.8.0,<2.0",
],
strip_path_prefixes = [
Expand Down
2 changes: 1 addition & 1 deletion py/docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Jinja2==3.1.6
Sphinx==7.4.7
Sphinx==8.1.3
sphinx-material==0.0.36
2 changes: 1 addition & 1 deletion py/docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Updated documentation published with each commit is available at: `readthedocs.i
Supported Python Versions
=========================

* Python 3.9+
* Python 3.10+

Supported Browsers
==================
Expand Down
10 changes: 5 additions & 5 deletions py/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ license = "Apache-2.0"
license-files = ["LICENSE", "NOTICE"]
description = "Official Python bindings for Selenium WebDriver."
readme = "README.rst"
requires-python = "~=3.9"
requires-python = ">=3.10"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
Expand All @@ -19,18 +19,18 @@ classifiers = [
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Libraries",
"Programming Language :: Python",
"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",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"urllib3[socks]>=2.5.0,<3.0",
"trio>=0.30.0,<1.0",
"trio>=0.31.0,<1.0",
"trio-websocket>=0.12.2,<1.0",
"certifi>=2025.6.15",
"typing_extensions>=4.14.0,<5.0",
"certifi>=2025.10.5",
"typing_extensions>=4.15.0,<5.0",
"websocket-client>=1.8.0,<2.0",
]

Expand Down
14 changes: 7 additions & 7 deletions py/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
attrs==25.3.0
cachetools==6.2.0
certifi==2025.8.3
certifi==2025.10.5
cffi==2.0.0
chardet==5.2.0
charset-normalizer==3.4.3
colorama==0.4.6
cryptography==45.0.7
debugpy==1.8.16
cryptography==46.0.2
debugpy==1.8.17
distlib==0.4.0
docutils==0.21.2
filelock==3.19.1
Expand All @@ -22,7 +22,7 @@ jaraco.context==6.0.1
jaraco.functools==4.3.0
jeepney==0.9.0
keyring==25.6.0
markdown-it-py==3.0.0
markdown-it-py==4.0.0
mdurl==0.1.2
more-itertools==10.8.0
multidict==6.6.4
Expand All @@ -38,18 +38,18 @@ pyproject-api==1.9.1
PySocks==1.7.1
pytest==8.4.2
pytest-instafail==0.5.0
pytest-mock==3.15.0
pytest-mock==3.15.1
pytest-trio==0.8.0
pywin32-ctypes==0.2.3
readme_renderer==44.0
requests==2.32.5
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==14.1.0
SecretStorage==3.3.3
SecretStorage==3.4.0
sniffio==1.3.1
sortedcontainers==2.4.0
tox==4.30.2
tox==4.30.3
trio==0.31.0
trio-websocket==0.12.2
twine==6.2.0
Expand Down
Loading