Skip to content

feat(asyncfast): add request/reply asyncapi support - #123

Open
TomKimber wants to merge 1 commit into
mainfrom
feat/add-request-reply-support
Open

TomKimber wants to merge 1 commit into
mainfrom
feat/add-request-reply-support

Conversation

@TomKimber

Copy link
Copy Markdown
Contributor

Add Request/Reply support: #43.

Copilot AI balanced review requested due to automatic review settings October 7, 2026 21:34
@read-the-docs-community

read-the-docs-community Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Documentation build overview

📚 AMGI | 🛠️ Build #35128029 | 📁 Comparing 3633f48 against latest (7f72e38)

  🔍 Preview build  

3 files changed
± specifications/bindings.html
± specifications/lifespan.html
± specifications/message.html

@read-the-docs-community

read-the-docs-community Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Documentation build overview

📚 AsyncFast | 🛠️ Build #35128030 | 📁 Comparing 3633f48 against latest (7f72e38)

  🔍 Preview build  

2 files changed
+ request_reply.html
± message_payload.html

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The implementation matches the requested AsyncAPI behavior and includes focused validation, tests, and documentation.

0 open findings

What changed in this PR

Adds AsyncAPI request/reply schema support, including dynamic reply addresses, public APIs, documentation, and tests.

Changes:

  • Adds Reply and ReplyAddress channel configuration.
  • Generates AsyncAPI operation reply definitions with validation.
  • Documents and tests basic, dynamic-address, and same-channel replies.
File Description
packages/​asyncfast/​src/​asyncfast/​_channel.py Defines reply models and stores reply configuration.
packages/​asyncfast/​src/​asyncfast/​_asyncfast.py Adds reply configuration to the channel decorator.
packages/​asyncfast/​src/​asyncfast/​_asyncapi.py Generates and validates reply schema definitions.
packages/​asyncfast/​src/​asyncfast/​__init__.py Exports the new public APIs.
packages/​asyncfast/​tests_asyncfast/​test_errors.py Tests invalid reply configurations.
packages/​asyncfast/​tests_asyncfast/​test_asyncapi.py Tests generated request/reply schemas.
packages/​asyncfast/​docs/​request_reply.rst Documents request/reply usage.
packages/​asyncfast/​docs/​index.rst Adds the guide to the documentation index.
packages/​asyncfast/​docs/​examples/​request_reply.py Provides a basic example.
packages/​asyncfast/​docs/​examples/​request_reply_dynamic_address.py Demonstrates dynamic reply addresses.

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

@codecov

codecov Bot commented Oct 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@TomKimber
TomKimber force-pushed the feat/add-request-reply-support branch from e3aa5f8 to 02a63f0 Compare October 10, 2026 19:08
@TomKimber
TomKimber requested a balanced review from Copilot October 10, 2026 19:08

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Dynamic parameterized reply channels produce inconsistent schemas, and failed registration leaves invalid routes installed.

3 open findings

🧠 Review effort: Balanced

Comment thread packages/asyncfast/src/asyncfast/_asyncapi.py
Comment thread packages/asyncfast/src/asyncfast/_asyncfast.py Outdated
Comment thread packages/asyncfast/docs/request_reply.rst Outdated
@TomKimber
TomKimber force-pushed the feat/add-request-reply-support branch from 02a63f0 to 9cd436c Compare October 10, 2026 19:20
Comment thread packages/asyncfast/docs/examples/request_reply_dynamic_address.py Outdated
@TomKimber
TomKimber force-pushed the feat/add-request-reply-support branch from 9cd436c to 1d7fa14 Compare October 12, 2026 19:12
@TomKimber
TomKimber force-pushed the feat/add-request-reply-support branch from 1d7fa14 to 3633f48 Compare October 13, 2026 20:54
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.

3 participants