docs: align async respond examples with main by nachiketb-nvidia · Pull Request #1057 · NVIDIA-NeMo/Switchyard · GitHub
Skip to content

docs: align async respond examples with main - #1057

Closed
nachiketb-nvidia wants to merge 1 commit into
mainfrom
nachiketb/docs-respond-api-compat
Closed

nachiketb-nvidia wants to merge 1 commit into
mainfrom
nachiketb/docs-respond-api-compat

Conversation

@nachiketb-nvidia

@nachiketb-nvidia nachiketb-nvidia commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Why

The docs show the async respond API introduced after v0.3.0, but their dependency blocks still select the v0.3.0 Git tag. Copying the Rust example produces E0308 and E0277. The published Python wheel also has the old synchronous API.

What

  • Use the same main branch for libsy and protocol in Getting Started, the libsy README, and the Rust API reference.
  • Explain that these examples follow the unreleased async API, while v0.3.0 uses synchronous respond.
  • Point Python readers to building matching bindings from the same source checkout.

Three documentation files: 18 additions / 8 deletions. No runtime changes, new tests, or quickstart restructuring. This is separate from the library-first onboarding work.

Validation

  • Reproduced the original Rust compilation errors with the documented v0.3.0 dependencies.
  • Compiled the actual Rust handler as an external consumer against all three updated dependency blocks; each resolved main at 5415db205 and passed.
  • Built the Python wheel from the same checkout, then exercised the documented async respond line with a mock judge call. The handler ran and the expected target was selected.
  • Ran the linked Python embedding example with that wheel.
  • Strict MkDocs build passed.
  • Warning-strict rustdoc build passed for libsy and protocol.
  • git diff --check passed.

No live provider calls or release publication.

Summary by CodeRabbit

  • Documentation
    • Updated setup and API documentation to clarify that current examples use the asynchronous response API, while version 0.3.0 uses the synchronous API.
    • Updated dependency examples to reference the repository’s current development branch.
    • Clarified Python client response types and guidance for building bindings from the current source.

Signed-off-by: nachiketb <nachiketb@nvidia.com>
@nachiketb-nvidia
nachiketb-nvidia requested a review from a team as a code owner October 20, 2026 16:41
@github-actions

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: NVIDIA-NeMo/Switchyard/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 72cf23e3-5839-4cea-ac62-e72259763b15
📥 Commits

Reviewing files that changed from the base of the PR and between 5415db2 and 36d815c.

📒 Files selected for processing: 3
  • crates/libsy/README.md
  • docs/getting_started.md
  • docs/reference/rust_api.md

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review.

Walkthrough

The documentation now points dependency examples to main and distinguishes its asynchronous respond API from the synchronous v0.3.0 API. Python guidance also covers building bindings from main and the client coroutine’s response types.

Changes

Async API documentation

Layer / File(s) Summary
Main branch API guidance
crates/libsy/README.md, docs/getting_started.md, docs/reference/rust_api.md
Setup and reference examples use the main branch and describe its asynchronous respond API. The guidance distinguishes the synchronous v0.3.0 API. Python instructions describe building bindings from main and the aggregate or streaming response types.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~4 minutes

Merge Risk: ⚪ Minimal · up to 36d81

No actionable correctness, security, or availability risk remains in this documentation-only change.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the documentation update to align asynchronous respond examples with the main branch.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (3 skipped: 3 unsupported.)

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

A rabbit reads the branch notes clear,
“Async respond is waiting here.”
The Python stream and aggregate,
Join setup notes that mark the state.
The older release keeps its pace,
While main guides readers to the place.

Comment @coderabbitai help to get the list of available commands.

Comment thread crates/libsy/README.md
futures = "0.3"
switchyard-libsy = { git = "https://github.com/NVIDIA-NeMo/Switchyard.git", tag = "v0.3.0" }
switchyard-protocol = { git = "https://github.com/NVIDIA-NeMo/Switchyard.git", tag = "v0.3.0" }
switchyard-libsy = { git = "https://github.com/NVIDIA-NeMo/Switchyard.git", branch = "main" }

@ayushag-nv ayushag-nv Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want to tag to main or latest release ? For each release branch we have to change this to the release tag then ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think README and Quickstart should be based off latest main right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at least when its on main, for release docs, this should be 0.3.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so we change in each release branch or something ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably, maybe we can automate this somehow

@nachiketb-nvidia

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants