jiangxt2 opened a new issue, #14334: URL: https://github.com/apache/gravitino/issues/14334
### Describe the proposal Improve the `apache-gravitino` Python SDK by incrementally addressing confirmed client API gaps, improving compatibility with application dependencies, and making communication failure behavior clearer and more predictable. #### Goals - Improve coverage of existing Gravitino APIs, distinguishing missing Python client support from catalog-provider limitations. - Improve HTTP and authentication reliability, including timeout behavior, safe retry policies, resource cleanup, and token expiry handling under existing authentication methods, with refresh where applicable. - Establish tested dependency compatibility ranges for the base client and supported extras while preserving metadata-only installation. - Improve public API consistency, type annotations, documentation, and runnable examples. #### Scope This epic covers the Python SDK, its distribution, and tests that directly exercise its public APIs and compatibility. The API coverage assessment should use existing Gravitino REST contracts and corresponding Java client operations as references. Confirm gaps against the current implementation and reuse existing issues before proposing new tasks. New server capabilities, server-side pagination, write-idempotency protocols, and engine integrations that bypass this SDK are outside the implementation scope. Native asynchronous APIs and generated bindings require separate design decisions before entering the agreed delivery scope. #### Acceptance criteria - API coverage is documented, distinguishing implemented, missing, provider-unsupported, and deferred operations. - Agreed implementation tasks meet their acceptance criteria, including serialization, error handling, documentation, and appropriate tests. Material server interactions have integration coverage. - HTTP and authentication changes define failure behavior, protect credentials, and avoid unsafe automatic replay of writes. - Existing supported public API behavior is preserved, or changes have an agreed migration path. - Relevant sub-issues identify supported Python, Gravitino server, and key dependency versions, and validate installation, imports, and representative API calls using built distributions. - Installation and compatibility guidance matches the resulting distribution. Completion is assessed against the sub-issue scope confirmed by the community. Tasks that are deferred or removed from scope should record the reasons and how follow-up work will be tracked. ### Task list Reuse existing issues, distinguishing completed foundations from remaining work. Track agreed work through GitHub sub-issues. - [x] #12211 — Separate runtime, cloud-storage, and development dependencies. - [ ] #13556 — Establish tested dependency compatibility ranges. - [x] #13735 — Isolate per-request headers. - [x] #13736 — Correct client cleanup behavior. Additional sub-issues will be proposed after validating API coverage gaps and developer-experience improvements against the current implementation. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
