Skip to content

Test

Status: FAIL (install fails on Python 3.13)

The webwright pip package fails to install on Python 3.13 due to a build failure in the playsound dependency.

Install attempt

bash
pip install webwright

Actual output

ERROR: Failed to build 'playsound' when getting requirements to build wheel. OSError: could not get source code

Import check

bash
python -c "import webwright"

Actual output

ModuleNotFoundError: No module named 'webwright'

The package is not importable because the installation failed.

Root cause

playsound is a build-time dependency of webwright. The playsound package fails to build from source on Python 3.13 because it cannot retrieve its own source code during the wheel build step. This is a known incompatibility between playsound and Python 3.13.

What would be required to make it work

  • Python 3.10, 3.11, or 3.12 (not 3.13)
  • Or a pre-built wheel for playsound compatible with the target Python version
  • Once installable, the full stack also requires:
    • Playwright and Chromium (playwright install chromium)
    • An API key for at least one LLM backend (OpenAI, Anthropic, or OpenRouter)

Commands that would work on a compatible Python version

Version check (after successful install):

bash
python -c "import webwright; print('webwright OK')"

CLI help:

bash
python -m webwright.run.cli --help

Full end-to-end run (requires API key and live browser):

bash
export OPENAI_API_KEY=sk-...

python -m webwright.run.cli \
    -c base.yaml -c model_openai.yaml \
    -t "Go to google.com and report the page title" \
    --start-url https://www.google.com \
    --task-id smoke_test \
    -o outputs/smoke

Expected directory listing on success:

final_script.py
trajectory.json
final_runs/
raw_responses.jsonl

The presence of final_script.py confirms the agent loop completed and produced a runnable artifact.

Classification

FAIL - pip install webwright fails on Python 3.13 due to playsound build failure. import webwright raises ModuleNotFoundError. Not usable in this environment without a Python version downgrade.