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]

Reply via email to