Skip to content

Add native RabbitMQ connectors#207

Open
danghoangnhan wants to merge 7 commits intopathwaycom:mainfrom
danghoangnhan:rabbitmq-connector
Open

Add native RabbitMQ connectors#207
danghoangnhan wants to merge 7 commits intopathwaycom:mainfrom
danghoangnhan:rabbitmq-connector

Conversation

@danghoangnhan
Copy link
Copy Markdown

@danghoangnhan danghoangnhan commented Mar 28, 2026

Summary

  • Add native RabbitMQ Streams connectors (pw.io.rabbitmq.read / pw.io.rabbitmq.write) implemented in the Rust engine using the rabbitmq-stream-client crate
  • Support JSON, plaintext, and raw formats with TLS, message keys via AMQP 1.0 application properties, metadata, and parallel readers
  • Include pw.io.rabbitmq.simple_read convenience method for quick setup
  • Add integration tests and a full ETL example (RabbitMQ → Pathway → PostgreSQL)

Closes #163

Test plan

  • Integration tests in integration_tests/kafka/test_rabbitmq.py cover read/write roundtrips, JSON/plaintext/raw formats, message keys, headers, metadata, and static mode
  • End-to-end ETL example verified: producer publishes AMQP messages → Pathway reads, validates, transforms, joins → writes enriched data to PostgreSQL
  • CI pipeline

Replace MSSQL connector with RabbitMQ stream connector supporting
both input and output operations. Includes Rust connector implementation,
Python bindings, integration tests, and an ETL example project.
… framing

- Add TLS parameters to DataStorage for RabbitMQ connections
- Update rstream Producer API (Producer() + start() instead of Producer.create())
- Send AMQP 1.0 framed messages from producer for compatibility with Rust consumer
- Add PYTHONUNBUFFERED to producer Dockerfile
- Remap postgres port to avoid conflicts
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.

Add connectors for RabbitMQ

1 participant