feat(python): add topic listing, update, delete and purge#3572
Conversation
2db95ac to
02a1008
Compare
02a1008 to
ce94a0d
Compare
There was a problem hiding this comment.
Looks good at a first glance.
As an aside, please do not force push new code. Instead, address the review in well-formed commits. This helps me understand what changed since my last review.
You can write /ready on a new line in a comment to indicate that your PR is ready for review.
|
/author |
|
Appreciate the comments and have addressed most of them. The remaining Topic/TopicDetails getters are tracked in #3577 as a follow-up I'll take on after this merges. |
|
/ready |
slbotbm
left a comment
There was a problem hiding this comment.
Other than a few comments, the PR looks good
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3572 +/- ##
============================================
+ Coverage 74.16% 74.29% +0.13%
Complexity 937 937
============================================
Files 1261 1249 -12
Lines 131930 127753 -4177
Branches 107800 103506 -4294
============================================
- Hits 97849 94918 -2931
+ Misses 30982 29802 -1180
+ Partials 3099 3033 -66
🚀 New features to boost your workflow:
|
|
/author |
|
Addressed all comments. Considered adding a Rust-side test for the deterministic ordering of get_topics, but there's no existing test coverage for it to extend. Would mean a new, isolated test module rather than folding into something existing, so I left it out for now. Let me know if you have any other feedback. |
|
/ready |
|
lgtm |
Which issue does this PR address?
Closes #3521
Rationale
Completes the Python SDK's topic management by adding the missing list, update, delete, and purge operations, which previously had no Python binding and forced callers to another SDK.
What changed?
The Python SDK exposed only
create_topicandget_topic, so listing, updating, deleting, or purging topics required falling back to another SDK.TopicDetailsalso hidcompression_algorithmandreplication_factor, leaving the result of an update impossible to assert from Python.get_topics,update_topic,delete_topic, andpurge_topicnow bind through to the RustTopicClient, a newTopictype backs the list view, andTopicDetailsexposes the two previously hidden fields. The new methods takestream_idto stay consistent with the Rust trait and the existingget_topic.Local Execution
AI Usage
Claude was used to help generate and review this PR.