Skip to content

Conversation

@Gsantomaggio
Copy link
Member

@Gsantomaggio Gsantomaggio commented Nov 28, 2025

Closes #76

This PR implements the Direct Reply-To feature for the RabbitMQ AMQP Python client, allowing clients to use server-generated temporary queues for RPC-style request/response patterns. The implementation adds a new DirectReplyToConsumerOptions class and supporting infrastructure to create dynamic receivers with RabbitMQ 4.2.0+ servers.

Key Changes:

  • Added DirectReplyToConsumerOptions class with RabbitMQ 4.2.0 version validation
  • Implemented dynamic receiver creation with volatile queue capabilities
  • Updated dependency to python-qpid-proton 0.40.0
  • Added test coverage and example implementation

Signed-off-by: Gabriele Santomaggio <[email protected]>
@Gsantomaggio Gsantomaggio self-assigned this Nov 28, 2025
@Gsantomaggio Gsantomaggio added this to the 0.4.0 milestone Nov 28, 2025
@Gsantomaggio Gsantomaggio changed the title work in progress Implement Direct Reply To Feature Nov 28, 2025
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
@Gsantomaggio Gsantomaggio added the enhancement New feature or request label Nov 30, 2025
Signed-off-by: Gabriele Santomaggio <[email protected]>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR implements the Direct Reply-To feature for the RabbitMQ AMQP Python client, allowing clients to use server-generated temporary queues for RPC-style request/response patterns. The implementation adds a new DirectReplyToConsumerOptions class and supporting infrastructure to create dynamic receivers with RabbitMQ 4.2.0+ servers.

Key Changes:

  • Added DirectReplyToConsumerOptions class with RabbitMQ 4.2.0 version validation
  • Implemented dynamic receiver creation with volatile queue capabilities
  • Updated dependency to python-qpid-proton 0.40.0
  • Added test coverage and example implementation

Reviewed changes

Copilot reviewed 10 out of 12 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
rabbitmq_amqp_python_client/entities.py Adds DirectReplyToConsumerOptions class with validation and direct_reply_to() method
rabbitmq_amqp_python_client/consumer.py Implements Direct Reply-To logic in consumer creation and adds get_queue_address() method
rabbitmq_amqp_python_client/connection.py Updates address validation to allow empty destinations for DirectReplyToConsumerOptions
rabbitmq_amqp_python_client/options.py Adds DynamicReceiverOption to configure dynamic receivers with volatile queue capabilities
rabbitmq_amqp_python_client/qpid/proton/_utils.py Adds create_dynamic_receiver() helper method
rabbitmq_amqp_python_client/__init__.py Exports new DirectReplyToConsumerOptions class
rabbitmq_amqp_python_client/publisher.py Style improvement: simplifies boolean comparison
pyproject.toml Updates python-qpid-proton dependency to 0.40.0
poetry.lock Lock file update reflecting new dependency versions
tests/direct_reply_to/test_direct_reply.py Adds basic test for Direct Reply-To queue address generation
examples/direct_reply_queue/direct_reply_to.py Provides example demonstrating Direct Reply-To usage pattern

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI commented Dec 1, 2025

@Gsantomaggio I've opened a new pull request, #88, to work on those changes. Once the pull request is ready, I'll request review from you.

Gsantomaggio and others added 7 commits December 1, 2025 10:05
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
Signed-off-by: Gabriele Santomaggio <[email protected]>
@Gsantomaggio Gsantomaggio merged commit 8b85ac5 into main Dec 1, 2025
1 check passed
@Gsantomaggio Gsantomaggio deleted the feat/direct-reply-to branch December 1, 2025 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Direct Reply-To

2 participants