From d8ece37d3dfe0711faf3e376f9a41507f19b9891 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 08:36:33 -0800 Subject: [PATCH 01/22] attempt to fix build rot; portal bot ci build issue --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f17c613..88ff06b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,8 +10,8 @@ description = "A simpler alternative to ROS" readme = "README.md" dependencies = [ # WebRTC dependencies - "aiortc>=1.6.0", - "aiohttp>=3.8.0", + "aiortc", + "aiohttp", "aiohttp_cors", "build", "cachetools", From cdfea5a12a399f89e3446fc8e0c55bfb37071958 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 08:53:01 -0800 Subject: [PATCH 02/22] try removing aio components to validate what is requiring ffmpeg --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 88ff06b..5c1c984 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,9 +10,9 @@ description = "A simpler alternative to ROS" readme = "README.md" dependencies = [ # WebRTC dependencies - "aiortc", - "aiohttp", - "aiohttp_cors", + # "aiortc", + # "aiohttp", + # "aiohttp_cors", "build", "cachetools", "setuptools>=57.0", From e8db12a83ccaa2d44f1708619822e608b50a751e Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 08:55:27 -0800 Subject: [PATCH 03/22] try removing aio components to validate what is requiring ffmpeg --- requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8027f60..72e944e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,7 +22,7 @@ websockets==10.4 websocket-client aiohttp Pillow -aiortc -aiohttp_cors -av +# aiortc +# aiohttp_cors +# av From d4d4550bd06f251986329181cb8a6efb9db906bb Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 09:01:49 -0800 Subject: [PATCH 04/22] attempt eh 6? let's call it 6 Verified the one of the three lines commented out in last commit on requirements.txt caused the build to succeed. Now lint is failing due to missing aiohttp_cors. ' --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 72e944e..7c1069d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,7 +22,7 @@ websockets==10.4 websocket-client aiohttp Pillow -# aiortc -# aiohttp_cors +aiortc +aiohttp_cors # av From 283dfcd59088167c8f67b510f1fba60e40ee79df Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 09:04:31 -0800 Subject: [PATCH 05/22] attempt 7 build error returned --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 7c1069d..c9cdeb9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,8 +21,8 @@ numpy websockets==10.4 websocket-client aiohttp -Pillow -aiortc aiohttp_cors +Pillow +# aiortc # av From dff4836c16a0fff479dd041d98dd334ef28a4a58 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 09:20:48 -0800 Subject: [PATCH 06/22] attempt 8 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c9cdeb9..7827313 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,5 +24,5 @@ aiohttp aiohttp_cors Pillow # aiortc -# av +av From 84fe9512f377bf61a214181e28064eac0722a07f Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 09:30:06 -0800 Subject: [PATCH 07/22] attempt 9 - fix version of aiortc to last known good --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7827313..8c0a7b4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,6 @@ websocket-client aiohttp aiohttp_cors Pillow -# aiortc +aiortc==1.13.0 av From 4c628891ac152e1f817bae4d424f3935b4b29453 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 09:32:04 -0800 Subject: [PATCH 08/22] attempt 10 - fix version of aiortc to 1.12.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8c0a7b4..45b2ac7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,6 @@ websocket-client aiohttp aiohttp_cors Pillow -aiortc==1.13.0 +aiortc==1.12.0 av From ec8680a066025b7b375c3573623785c25dff8e2b Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 09:34:56 -0800 Subject: [PATCH 09/22] attempt 11 - fix version of aiortc to 1.10.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 45b2ac7..6defc90 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,6 @@ websocket-client aiohttp aiohttp_cors Pillow -aiortc==1.12.0 +aiortc==1.10.1 av From 6ce93df9c1768809b38a0babe2e5b38af65f58e5 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 09:45:25 -0800 Subject: [PATCH 10/22] attempt 12 - fix version of aiortc to 1.11.0 (1.10.1 worked!) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6defc90..970f58a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,6 @@ websocket-client aiohttp aiohttp_cors Pillow -aiortc==1.10.1 +aiortc==1.11.0 av From 64b9f3ef3b48a97838d41058d28c5bc2b522a9b2 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 10:05:04 -0800 Subject: [PATCH 11/22] attempt 13 try using aiortc 1.10.1 in requirements.txt but leaving pyproject.toml as it was. I think this will make the CI build for basic_bot pass , but downstream users like portalbot will still fail. --- pyproject.toml | 6 +++--- requirements.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5c1c984..f17c613 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,9 +10,9 @@ description = "A simpler alternative to ROS" readme = "README.md" dependencies = [ # WebRTC dependencies - # "aiortc", - # "aiohttp", - # "aiohttp_cors", + "aiortc>=1.6.0", + "aiohttp>=3.8.0", + "aiohttp_cors", "build", "cachetools", "setuptools>=57.0", diff --git a/requirements.txt b/requirements.txt index 970f58a..6defc90 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,6 @@ websocket-client aiohttp aiohttp_cors Pillow -aiortc==1.11.0 +aiortc==1.10.1 av From 3697ca03cdd6a5bd5465e4fad0065e73dae5108a Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 10:21:00 -0800 Subject: [PATCH 12/22] attempt 14 go back to verion that fails local ci, but try and mimmick aiortc ci build here: https://github.com/aiortc/aiortc/blob/main/.github/workflows/tests.yml --- .github/workflows/ci.yml | 4 ++-- requirements.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07225be..47e550e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,14 +14,14 @@ jobs: strategy: matrix: - python-version: [3.9] + python-version: [3.10] steps: - name: Check out repository uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} diff --git a/requirements.txt b/requirements.txt index 6defc90..970f58a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,6 @@ websocket-client aiohttp aiohttp_cors Pillow -aiortc==1.10.1 +aiortc==1.11.0 av From 67b6a581ded4fc2b660c560b134f1e40cabc58b9 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 10:24:35 -0800 Subject: [PATCH 13/22] attempt 14 go back to verion that fails local ci, but try and mimmick aiortc ci build here: https://github.com/aiortc/aiortc/blob/main/.github/workflows/tests.yml --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 47e550e..3469953 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,16 +14,16 @@ jobs: strategy: matrix: - python-version: [3.10] + python-version: [3.9, 3.10] steps: - name: Check out repository uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python 3.10 uses: actions/setup-python@v5 with: - python-version: ${{ matrix.python-version }} + python-version: "3.10" - name: Install dependencies run: | From c8d1359a08d87b04dafc8a5f27298fa09df76539 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 10:29:46 -0800 Subject: [PATCH 14/22] attempt 16 - try explicitly install ffmpeg first --- .github/workflows/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3469953..025f4ed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,10 @@ jobs: run: | sudo apt update + # needed for vision service record video tests + sudo apt install --fix-missing -y ffmpeg libx264-dev + + sudo apt install -y python3-pip pip install --upgrade pip pip --version @@ -44,9 +48,6 @@ jobs: echo 'Install deps npm path:' which npm - # needed for vision service record video tests - sudo apt install --fix-missing -y ffmpeg libx264-dev - # this also runs build.sh which in turn runs mypy - name: Run build and install run: ./install-dev.sh From 959e513a1de83f3fc2cb4e77f3d4185612a73dfe Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 10:34:37 -0800 Subject: [PATCH 15/22] attempt 17 - try explicitly install ffmpeg first and fix versions matrix --- .github/workflows/ci.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 025f4ed..b623e6c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,25 +14,24 @@ jobs: strategy: matrix: - python-version: [3.9, 3.10] + python-version: ["3.10"] steps: - name: Check out repository uses: actions/checkout@v2 - - name: Set up Python 3.10 + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: ${{ matrix.python-version }} - name: Install dependencies run: | sudo apt update - # needed for vision service record video tests + # needed for vision service record video tests sudo apt install --fix-missing -y ffmpeg libx264-dev - sudo apt install -y python3-pip pip install --upgrade pip pip --version From e2725d352f7697241d85135054a9069be71e2a77 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 10:41:16 -0800 Subject: [PATCH 16/22] attempt 18 - see what version of ffmpeg is installed --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b623e6c..c90de41 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,6 +31,7 @@ jobs: # needed for vision service record video tests sudo apt install --fix-missing -y ffmpeg libx264-dev + ffmpeg -version sudo apt install -y python3-pip pip install --upgrade pip From e494a6fa9eb51196358cd82f6b0774ef553d675b Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 13:35:28 -0800 Subject: [PATCH 17/22] attempt 19 - force ffmpeg to version 7 --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c90de41..6d72d3c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,10 +27,11 @@ jobs: - name: Install dependencies run: | + # needed for vision service record video tests + sudo add-apt-repository ppa:ubuntuhandbook1/ffmpeg7 -y sudo apt update - # needed for vision service record video tests - sudo apt install --fix-missing -y ffmpeg libx264-dev + sudo apt install -y ffmpeg libx264-dev ffmpeg -version sudo apt install -y python3-pip From b9715ace107fac6854ed7f36b2bdc5310225ad5b Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 13:41:07 -0800 Subject: [PATCH 18/22] attempt 20 - remove secondary install of av --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 970f58a..92c0fbf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,5 +24,5 @@ aiohttp aiohttp_cors Pillow aiortc==1.11.0 -av +# av From baf1a5028c9cf82cb7565ef49446e4cb19c6d95b Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 18:58:09 -0800 Subject: [PATCH 19/22] for now we will fix to version 1.10.1 to build ci and not holdup downstream --- pyproject.toml | 5 +++-- requirements.txt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f17c613..27b5ba7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,9 +10,10 @@ description = "A simpler alternative to ROS" readme = "README.md" dependencies = [ # WebRTC dependencies - "aiortc>=1.6.0", - "aiohttp>=3.8.0", + "aiohttp", "aiohttp_cors", + # 1.11.0 currently fails to build on CI + "aiortc==1.10.1", "build", "cachetools", "setuptools>=57.0", diff --git a/requirements.txt b/requirements.txt index 92c0fbf..1279e1d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,6 @@ websocket-client aiohttp aiohttp_cors Pillow -aiortc==1.11.0 +aiortc==1.10.1 # av From fadfb0b1c897e6930da56611e9ccaf01fa9db31f Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 19:01:30 -0800 Subject: [PATCH 20/22] add av back to requirements; needed by lint --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1279e1d..6defc90 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,5 +24,5 @@ aiohttp aiohttp_cors Pillow aiortc==1.10.1 -# av +av From eb414b89585270c4a8c5100ed25c0f963ce9fcc5 Mon Sep 17 00:00:00 2001 From: Bee Date: Mon, 19 Jan 2026 19:06:36 -0800 Subject: [PATCH 21/22] revert unneeded changes to ci.yml --- .github/workflows/ci.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d72d3c..07225be 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,26 +14,21 @@ jobs: strategy: matrix: - python-version: ["3.10"] + python-version: [3.9] steps: - name: Check out repository uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - # needed for vision service record video tests - sudo add-apt-repository ppa:ubuntuhandbook1/ffmpeg7 -y sudo apt update - sudo apt install -y ffmpeg libx264-dev - ffmpeg -version - sudo apt install -y python3-pip pip install --upgrade pip pip --version @@ -49,6 +44,9 @@ jobs: echo 'Install deps npm path:' which npm + # needed for vision service record video tests + sudo apt install --fix-missing -y ffmpeg libx264-dev + # this also runs build.sh which in turn runs mypy - name: Run build and install run: ./install-dev.sh From 02280b2d05dc5eb3faf1b4266251ec4de78ce4df Mon Sep 17 00:00:00 2001 From: Bee Date: Tue, 20 Jan 2026 11:37:45 -0800 Subject: [PATCH 22/22] sort deps in pyproject and requirements --- .vscode/settings.json | 4 ++++ pyproject.toml | 10 +++++----- requirements.txt | 22 ++++++++++++---------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 215ebf7..a13d032 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,13 @@ { "cSpell.words": [ + "aiohttp", + "aiortc", "cachetools", "daphbot", "fourcc", "gethostname", "inlinehilite", + "jsonschema", "killall", "linenums", "Matlike", @@ -12,6 +15,7 @@ "pids", "pygments", "pymdownx", + "pyyaml", "setuptools", "superfences" ] diff --git a/pyproject.toml b/pyproject.toml index 27b5ba7..545bcd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,20 +16,20 @@ dependencies = [ "aiortc==1.10.1", "build", "cachetools", - "setuptools>=57.0", - "requests", - "websockets==10.4", - "flask", "flask-cors", + "flask", "jsonschema", "numpy<2", "opencv-python>=4.11", + "protobuf>=3.18.0,<4", "psutil", "pytest", "pyyaml", - "protobuf>=3.18.0,<4", + "requests", # tflite-runtime is currently only supported on Linux "tflite-runtime; platform_system=='Linux'", + "setuptools>=57.0", + "websockets==10.4", # TODO: move to requirements.txt? I think this is only used for # the basic_bot integrations tests "websocket-client", diff --git a/requirements.txt b/requirements.txt index 6defc90..77f2b45 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,28 +1,30 @@ # these are build dependencies for basic_bot itself + build cachetools -setuptools>=57.0 flake8 -pytest -mypy mkdocs mkdocs-material +mypy +opencv-stubs pydoc-markdown +pytest +setuptools>=57.0 +# types types-Flask-Cors +types-jsonschema types-psutil -types-requests types-PyYAML -types-jsonschema -opencv-stubs +types-requests # Runtime dependencies needed for mypy type checking -numpy -websockets==10.4 -websocket-client aiohttp aiohttp_cors -Pillow aiortc==1.10.1 av +numpy +Pillow +websocket-client +websockets==10.4