Repository navigation
Migrate BYO hosted voice samples to uv - #1060
Merged
Antriksh Jain (antriksh30) merged 3 commits intoOct 12, 2026
Merged
Conversation
Replace requirements-based dependency workflows for the Voice Live Bridge and VoiceLive BYO runtimes with pyproject.toml and frozen uv locks. Preserve the existing dependency graph, container Python versions, and the GitHub Copilot CLI runtime setup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ec0a8f22-0687-4209-912b-1d5f4c4263f1
Antriksh Jain (antriksh30)
deployed
to
L4-validation
October 12, 2026 05:47 — with
GitHub Actions
Active
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Three migrated manifests omit the directly imported Starlette runtime dependency.
3 open findings
What changed in this PR
Migrates eight hosted voice samples from pip requirements files to reproducible uv-managed environments.
Changes:
- Adds
pyproject.toml,uv.lock, anduv.tomldependency management. - Updates Docker, validation, and local workflows to use frozen uv environments.
- Refreshes contributor and usage documentation.
Paths below use:
VL=samples/python/hosted-agents/bring-your-own/voiceliveBridge=samples/python/hosted-agents/bring-your-own/voice-agent-target-agent
| File | Description |
|---|---|
VL/hotel-booking-invocations-voicelive/src/hotel-booking-python-invocations-voicelive/uv.toml |
Configures uv resolution. |
VL/hotel-booking-invocations-voicelive/src/hotel-booking-python-invocations-voicelive/uv.lock |
Pins the dependency graph. |
VL/hotel-booking-invocations-voicelive/src/hotel-booking-python-invocations-voicelive/requirements.txt |
Removes legacy pip dependencies. |
VL/hotel-booking-invocations-voicelive/src/hotel-booking-python-invocations-voicelive/pyproject.toml |
Declares project dependencies. |
VL/hotel-booking-invocations-voicelive/src/hotel-booking-python-invocations-voicelive/Dockerfile |
Builds and runs the uv environment. |
VL/hotel-booking-invocations-voicelive/README.md |
Documents local uv usage. |
VL/hello-world-invocations-voicelive/src/hello-world-python-invocations-voicelive/uv.toml |
Configures uv resolution. |
VL/hello-world-invocations-voicelive/src/hello-world-python-invocations-voicelive/uv.lock |
Pins the dependency graph. |
VL/hello-world-invocations-voicelive/src/hello-world-python-invocations-voicelive/requirements.txt |
Removes the resolved pip graph. |
VL/hello-world-invocations-voicelive/src/hello-world-python-invocations-voicelive/requirements.in |
Removes pip-tools inputs. |
VL/hello-world-invocations-voicelive/src/hello-world-python-invocations-voicelive/pyproject.toml |
Declares project dependencies. |
VL/hello-world-invocations-voicelive/src/hello-world-python-invocations-voicelive/Dockerfile |
Builds and runs the uv environment. |
VL/hello-world-invocations-voicelive/README.md |
Documents local uv usage. |
VL/handoff-langgraph-responses-voicelive/src/handoff-langgraph-responses-voicelive/uv.toml |
Configures uv resolution. |
VL/handoff-langgraph-responses-voicelive/src/handoff-langgraph-responses-voicelive/uv.lock |
Pins the dependency graph. |
VL/handoff-langgraph-responses-voicelive/src/handoff-langgraph-responses-voicelive/requirements.txt |
Removes the resolved pip graph. |
VL/handoff-langgraph-responses-voicelive/src/handoff-langgraph-responses-voicelive/requirements.in |
Removes pip-tools inputs. |
VL/handoff-langgraph-responses-voicelive/src/handoff-langgraph-responses-voicelive/pyproject.toml |
Declares project dependencies. |
VL/handoff-langgraph-responses-voicelive/src/handoff-langgraph-responses-voicelive/Dockerfile |
Builds and runs the uv environment. |
VL/handoff-langgraph-responses-voicelive/README.md |
Documents local uv usage. |
VL/github-copilot-responses-voicelive/src/github-copilot-responses-voicelive/uv.toml |
Configures uv resolution. |
VL/github-copilot-responses-voicelive/src/github-copilot-responses-voicelive/uv.lock |
Pins the dependency graph. |
VL/github-copilot-responses-voicelive/src/github-copilot-responses-voicelive/requirements.txt |
Removes the resolved pip graph. |
VL/github-copilot-responses-voicelive/src/github-copilot-responses-voicelive/requirements.in |
Removes pip-tools inputs. |
VL/github-copilot-responses-voicelive/src/github-copilot-responses-voicelive/pyproject.toml |
Declares project dependencies. |
VL/github-copilot-responses-voicelive/src/github-copilot-responses-voicelive/Dockerfile |
Uses uv while preserving CLI pre-download. |
VL/github-copilot-responses-voicelive/README.md |
Updates local debugging setup. |
VL/github-copilot-responses-voicelive/AGENTS.md |
Updates contributor dependency guidance. |
VL/foreground-background-agents-responses-voicelive/src/foreground-background-agents-voicelive/uv.toml |
Configures uv resolution. |
VL/foreground-background-agents-responses-voicelive/src/foreground-background-agents-voicelive/uv.lock |
Pins the dependency graph. |
VL/foreground-background-agents-responses-voicelive/src/foreground-background-agents-voicelive/requirements.txt |
Removes the resolved pip graph. |
VL/foreground-background-agents-responses-voicelive/src/foreground-background-agents-voicelive/requirements.in |
Removes pip-tools inputs. |
VL/foreground-background-agents-responses-voicelive/src/foreground-background-agents-voicelive/pyproject.toml |
Declares project dependencies. |
VL/foreground-background-agents-responses-voicelive/src/foreground-background-agents-voicelive/Dockerfile |
Builds and runs the uv environment. |
VL/foreground-background-agents-responses-voicelive/README.md |
Documents local uv usage. |
Bridge/basic/src/voice-live-bridge-basic-python/uv.toml |
Configures uv resolution. |
Bridge/basic/src/voice-live-bridge-basic-python/uv.lock |
Pins runtime and development dependencies. |
Bridge/basic/src/voice-live-bridge-basic-python/requirements.txt |
Removes the pip runtime graph. |
Bridge/basic/src/voice-live-bridge-basic-python/requirements-dev.txt |
Removes pip development dependencies. |
Bridge/basic/src/voice-live-bridge-basic-python/pyproject.toml |
Consolidates runtime and development dependencies. |
Bridge/basic/sample.yaml |
Runs validation and tests through uv. |
Bridge/basic/README.md |
Updates setup, run, and test commands. |
Bridge/basic/AGENTS.md |
Updates contributor dependency guidance. |
Bridge/langchain/src/voice-live-bridge-langchain-python/uv.toml |
Configures uv resolution. |
Bridge/langchain/src/voice-live-bridge-langchain-python/uv.lock |
Pins runtime and development dependencies. |
Bridge/langchain/src/voice-live-bridge-langchain-python/requirements.txt |
Removes the pip runtime graph. |
Bridge/langchain/src/voice-live-bridge-langchain-python/requirements-dev.txt |
Removes pip development dependencies. |
Bridge/langchain/src/voice-live-bridge-langchain-python/pyproject.toml |
Consolidates runtime and development dependencies. |
Bridge/langchain/sample.yaml |
Runs validation and tests through uv. |
Bridge/langchain/README.md |
Updates setup, run, and test commands. |
Bridge/langchain/AGENTS.md |
Updates contributor dependency guidance. |
Bridge/langgraph/src/voice-live-bridge-langgraph-python/uv.toml |
Configures uv resolution. |
Bridge/langgraph/src/voice-live-bridge-langgraph-python/uv.lock |
Pins runtime and development dependencies. |
Bridge/langgraph/src/voice-live-bridge-langgraph-python/requirements.txt |
Removes the pip runtime graph. |
Bridge/langgraph/src/voice-live-bridge-langgraph-python/requirements-dev.txt |
Removes pip development dependencies. |
Bridge/langgraph/src/voice-live-bridge-langgraph-python/pyproject.toml |
Consolidates runtime and development dependencies. |
Bridge/langgraph/sample.yaml |
Runs validation and tests through uv. |
Bridge/langgraph/README.md |
Updates setup, run, and test commands. |
Bridge/langgraph/AGENTS.md |
Updates contributor dependency guidance. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Declare Starlette in the three VoiceLive runtimes that import it directly, while retaining the versions already present in their frozen lock graphs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ec0a8f22-0687-4209-912b-1d5f4c4263f1
Antriksh Jain (antriksh30)
deployed
to
L4-validation
October 12, 2026 06:01 — with
GitHub Actions
Active
List uv explicitly for local azd runs and align each hosted voice sample's documented Python requirement with its pyproject.toml metadata. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ec0a8f22-0687-4209-912b-1d5f4c4263f1
Contributor
Author
|
Addressed the prerequisite documentation review in a146605:
No azd or Voice wrapper configuration changes were needed. |
Antriksh Jain (antriksh30)
deployed
to
L4-validation
October 12, 2026 08:06 — with
GitHub Actions
Active
Yulin Li (yulin-li)
approved these changes
Oct 12, 2026
Nathandrake229
approved these changes
Oct 12, 2026
Antriksh Jain (antriksh30)
deleted the
migrate-byo-voice-samples-to-uv
branch
October 12, 2026 08:30
This was referenced Oct 12, 2026
Antriksh Jain (antriksh30)
added a commit
that referenced
this pull request
Oct 12, 2026
Remove direct Starlette declarations from the hosted voice samples migrated in #1060. Starlette remains pinned transitively in each frozen lock graph through AgentServer, which stays responsible for compatibility updates. Co-authored-by: Antriksh Jain <antrikshjain@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ec0a8f22-0687-4209-912b-1d5f4c4263f1
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
pyproject.toml,uv.lock, anduv.tomlValidation
python .github/scripts/check-hosted-agent-python-requirements.py --base <merge-base> --head HEAD --resolveuv lock --checkand frozen production export