From 2730e47e611c00ac2e2da9c10e1a3fb5a492a222 Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Thu, 30 Apr 2026 11:52:51 -0400 Subject: [PATCH] ci: install all extras for the pyright type-check job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pyright job in `format.yaml` previously installed only `--extra daily --extra tracing`. That was sufficient when most optional-dep- using files were in the pyright ignore list, but as this PR has cleared dozens of files, those files now reference symbols from optional-dep modules (`aiortc.RTCIceServer` via `IceServer`, `google.genai.types.HttpOptions`, etc.). `reportMissingImports: false` tolerates the failed imports themselves, but the imported names become `Unknown` and using them as type expressions trips `reportInvalidTypeForm` / `reportAttributeAccessIssue` — errors that aren't gated by that flag. Switch to `--all-extras --no-extra gstreamer --no-extra local` (matching the dev setup in README.md), so pyright sees the same dependency set the code is intended to be type-checked against and the install-set scales naturally as more files leave the ignore list. Also reconcile CLAUDE.md's setup command, which only excluded `gstreamer`. README.md is canonical and additionally excludes `local` (pyaudio requires `portaudio` native libs that aren't installed by default on a clean Ubuntu CI runner). --- .github/workflows/format.yaml | 4 +++- CLAUDE.md | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml index 7ac009bdc..5ce0b746f 100644 --- a/.github/workflows/format.yaml +++ b/.github/workflows/format.yaml @@ -32,7 +32,9 @@ jobs: run: uv python install 3.12 - name: Install development dependencies - run: uv sync --group dev --extra daily --extra tracing + # `--all-extras` (matching the dev setup in README.md) so pyright can + # resolve types from various optional dependencies. + run: uv sync --group dev --all-extras --no-extra gstreamer --no-extra local - name: Ruff formatter id: ruff-format diff --git a/CLAUDE.md b/CLAUDE.md index 5dc0e9295..123307489 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,7 +10,7 @@ Pipecat is an open-source Python framework for building real-time voice and mult ```bash # Setup development environment -uv sync --group dev --all-extras --no-extra gstreamer +uv sync --group dev --all-extras --no-extra gstreamer --no-extra local # Install pre-commit hooks uv run pre-commit install