Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
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