laserninja opened a new pull request, #13795:
URL: https://github.com/apache/gravitino/pull/13795

   ### What changes were proposed in this pull request?
   
   Add `import_ossie_document(namespace, document, document_format="yaml")` and 
`export_ossie_document(identifier, document_format="yaml")` to the Python 
Semantic Model catalog API.
   
   Use the existing HTTP client for raw UTF-8 YAML/JSON text and the lossless 
Semantic Model response decoder. Export returns document text unchanged. Add 
unit tests, a separate Ossie integration-test module, and a usage example 
without adding dependencies.
   
   ### Why are the changes needed?
   
   The server supports Ossie import/export, but the Python SDK lacks these 
operations. The new real-server round-trip test reproduced the missing method 
before implementation.
   
   Part of #12209.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Python users can import and export Ossie YAML/JSON documents, 
defaulting to YAML. Imports report conflicts without replacing existing models.
   
   ### How was this patch tested?
   
   - Full Python unit suite: 1,221 passed (`python -m unittest discover -s 
tests/unittests`).
   - All 6 new real-server integration tests passed 
(`START_EXTERNAL_GRAVITINO=true python -m unittest -v 
tests.integration.test_semantic_model_ossie`).
   - Round trips verify both formats, exact decimals/large integers, additional 
AI context, properties, and custom extensions. Error cases verify malformed 
documents, missing schema/model/source, and non-destructive conflicts.
   - Changed-file Black/Pylint, repository Spotless, and `git diff --check` 
passed.
   - Tests ran from `clients/client-python` on Python 3.11 against a JDK 17 
server built from current main with `./gradlew compileDistribution 
-PskipWeb=true -PskipTrinoConnector=true -PskipTests -PskipITs -x test`.
   
   Dependencies: none beyond main at `b837e07a9`, including merged #12860. This 
does not stack on #13768 or change metadata/privilege mappings, tag/owner 
support, or server authorization.
   
   No new integration tests were skipped. The full repository integration suite 
and Python-version matrix were not run.
   
   


-- 
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