Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat(asyncio): add Reader API#309

Open
BewareMyPower wants to merge 4 commits into
apache:main from
BewareMyPower:bewaremypower/async-reader
Open

feat(asyncio): add Reader API #309
BewareMyPower wants to merge 4 commits into
apache:main from
BewareMyPower:bewaremypower/async-reader

Conversation

@BewareMyPower

@BewareMyPower BewareMyPower commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@BewareMyPower BewareMyPower added this to the 3.13.0 milestone Jun 17, 2026
@BewareMyPower BewareMyPower marked this pull request as draft June 17, 2026 08:02
@BewareMyPower BewareMyPower marked this pull request as ready for review June 18, 2026 08:21

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.

Pull request overview

Note

Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.

Adds an asyncio-compatible Reader API to the Python Pulsar client, including C++ binding support and new integration tests.

Changes:

  • Introduced pulsar.asyncio.Reader with async read_next, seek, has_message_available, and close.
  • Added pybind11 C++ exports for Reader async methods and Client async reader creation.
  • Added asyncio test coverage for basic reader flows (start positions, seek, message availability, auth failure).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.

File Description
tests/asyncio_test.py Adds asyncio integration tests validating new Reader behaviors (read, seek, has-message, auth).
src/reader.cc Exposes Reader async operations (read_next_async, seek_async, etc.) via pybind11 with GIL release.
src/client.cc Exposes async reader creation APIs (create_reader_async, create_reader_async_v2) for asyncio wrapper use.
pulsar/asyncio.py Implements the new Reader wrapper and Client.create_reader() coroutine.

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

Comment thread pulsar/asyncio.py Outdated
Comment thread pulsar/asyncio.py
Comment thread src/reader.cc
Comment thread src/reader.cc
Comment thread tests/asyncio_test.py
Comment thread tests/asyncio_test.py
Comment thread pulsar/asyncio.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@RobertIndie RobertIndie RobertIndie left review comments
Copilot code review Copilot Copilot left review comments

At least 1 approving review is required to merge this pull request.

Labels

None yet

Projects

None yet

Milestone

3.13.0

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /