Closed
Labels
selenium-devtools-pyPython Selenium adapter for the DevTools dashboardPython Selenium adapter for the DevTools dashboard
Description
Part of #277
Nothing has been published under any of the names tried. The pending
trusted publisher must be registered against the final name, and the first
successful publish is what claims it. The README carries the setup steps.
Acceptance criteria
Pending trusted publisher registered for
selenium-devtools-py with the pypi environment. TestPyPI dry run passes. First
publish claims the name.
Depends on #279.
Metadata
Metadata
Assignees
Labels
selenium-devtools-pyPython Selenium adapter for the DevTools dashboardPython Selenium adapter for the DevTools dashboard
Activity
vishnuv688 commentedon Sep 1, 2026
Release decisions from the maintainer review — settle before publishing
Raised with @christian-bromann ahead of the first publish. One is agreed, three are open.
1. Name — agreed ✅
selenium-devtools-py, free on PyPI, no objections. Nothing to do beyond claiming it with the first publish.2. Node as a hard requirement — open⚠️
The wheel does not bundle the backend; it fetches
@wdio/devtools-backendvianpx, so Python users need Node 18+ (node_runtime.require_nodechecks and fails with a clear message).Feedback: "Seems awkward to make Python user require Node.js — if it is only the backend service we could bundle it into a binary? I guess a disadvantage then is that it makes the package 30+mb big."
It is not only the dashboard. Python's trace export also routes through the backend, because #298 decided against re-implementing the ~3,100 lines of trace transforms per language. The JS adapters skip the backend in trace mode only because they already run on Node. So today a Python user without Node can produce neither a dashboard nor a trace — the requirement is broader than the question assumed.
Measured, so the size trade-off is not a guess:
packages/backend/distpackages/app/dist(UI)Our own payload is ~1.3 MB. The weight is entirely the runtime.
Options:
pip install selenium-devtools-pystays ~100 KB and uses whatever Node is onPATH;pip install selenium-devtools-py[node]pulls a prebuilt Node wheel for users without one. Same end-user outcome as (b) with no binary matrix of ours to maintain. Needs verification — platform coverage and maintenance health of the available Node-binary wheels have not been checked.Recommendation: spike (c), fall back to (b). Not blocking until the decision is made, but it must be made before the first publish: moving from "needs Node" to "bundles Node" is additive, but the reverse is not.
3. Secrets — none required ✅ (clarification)
None are needed.
.github/workflows/python-release.ymlalready uses PyPI trusted publishing —permissions: id-token: write, no token anywhere. What it does need, from someone with owner rights on the PyPI project:selenium-devtools-py, pointing at this repo, workflow filenamepython-release.yml, environmentpypitestpypi, for the dry runpypiandtestpypito exist (repo side — can be done here)4. Automated publish workflow — open⚠️
python-release.ymlisworkflow_dispatchtoday, deliberately mirroringrelease.ymlfor npm — which is also manual. Automating Python alone diverges the two.Before the first publish