apache / apache/gravitino

[EPIC] Implement Topic operations in client-python

Open
#3,804 0 comments 0 reactions 0 assignees View on GitHub
epic
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 15h
Merged PRs (30d)
315

Description

### Describe the proposal

* Currently client-python only supports `Fileset` catalog, we should also support `Topic` catalog which supported in Java client.
* Current Java class diagram of Topic, Python implementation will follow this diagram
image

### Task list

- [ ] Implement interface `topic` and data-transfer-object `topic_dto`
- [ ] Implement Response object `topic_response`
- [ ] Implement `topic_change`
- [ ] Implement Request objects `topic_create_request`, `topic_update_request`, `topic_updates_request`
- [ ] Implement `data_layout`, `topic_catalog` and its implementation `message_catalog`
- [ ] add `Topic` catalog type in `dto_converters.py`

Contributor guide

Open the contributing guide

Research direction

Use the Java Topic class diagram and the existing Fileset catalog support in client-python as references. Work through the listed interfaces, DTOs, responses, changes, requests, catalog classes, and dto_converters.py entry, then verify completion against every task-list item and the corresponding client behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, python
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.