If the device doesn't have python websockets module installed for any reason, the tests will pass but the app will error out
$ pip3 show websockets
WARNING: Package(s) not found: websockets
$ npm test
> cdpilot@0.1.2 test
> node test/test.js
cdpilot tests
✓ --version prints version
✓ -v prints version
✓ help shows usage
✓ --help shows usage
✓ no args shows help
✓ setup detects browser
✓ setup detects python
✓ cdpilot.py exists
✓ package.json has bin field
✓ package.json has correct name
✓ python script has version
✓ python script has shebang
12 passed, 0 failed
$ npx cdpilot launch
Launching browser (isolated session, port 9223)...
CDP ready! (port 9223)
$ npx cdpilot go https://gnu.org
Traceback (most recent call last):
File "cdpilot/src/cdpilot.py", line 3590, in <module>
asyncio.run(_wrapped())
~~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib/python3.14/asyncio/runners.py", line 204, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/asyncio/runners.py", line 127, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.14/asyncio/base_events.py", line 719, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "cdpilot/src/cdpilot.py", line 3581, in _wrapped
await async_map[cmd]()
File "cdpilot/src/cdpilot.py", line 1292, in cmd_go
content, _ = await navigate_collect(ws, url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "cdpilot/src/cdpilot.py", line 822, in navigate_collect
import websockets
ModuleNotFoundError: No module named 'websockets'
$
$ pip3 show websockets
WARNING: Package(s) not found: websockets
$ npm test
> cdpilot@0.1.2 test
> node test/test.js
cdpilot tests
✓ --version prints version
✓ -v prints version
✓ help shows usage
✓ --help shows usage
✓ no args shows help
✓ setup detects browser
✓ setup detects python
✗ setup detects python websockets
Command failed: node cdpilot/bin/cdpilot.js setup 2>&1
✓ cdpilot.py exists
✓ package.json has bin field
✓ package.json has correct name
✓ python script has version
✓ python script has shebang
12 passed, 1 failed
$
Description
If the device doesn't have python websockets module installed for any reason, the tests will pass but the app will error out
Current behavior
Expected behavior
Platform
Linux archdesk 6.19.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 04 Mar 2026 18:25:08 +0000 x86_64 GNU/Linux