roryqi opened a new pull request, #12442: URL: https://github.com/apache/gravitino/pull/12442
### What changes were proposed in this pull request? This PR adds Python client support for tag assignment values: - Add `allowed_values` support to tag creation and tag DTOs. - Add assignment-context values to detailed tag models. - Add tag-value pair request support for object tag assignment. - Add `assign_tags(...)` while keeping `associate_tags(...)` compatible. - Add `search_tag_assignments(...)` and response DTOs. - Add unit tests for DTO serialization, client request paths, and new APIs. ### Why are the changes needed? Python client APIs need to match the tag assignment values REST design so users can assign values such as `data_domain=finance` and search metadata objects by exact assignment values. Fix: #12441 ### Does this PR introduce _any_ user-facing change? Yes. The Python client adds: - `create_tag(..., allowed_values=None)` - `Tag.allowed_values()` - `Tag.assignment_values()` - `SupportsTags.assign_tags(...)` - `search_tag_assignments(...)` Existing `associate_tags(...)` remains available. ### How was this patch tested? - `PYTHONPATH=/tmp/gravitino-python-tag-values-pr/clients/client-python python -m unittest tests.unittests.dto.requests.test_tags_associate_request tests.unittests.dto.requests.test_tag_create_request tests.unittests.dto.test_tag_dto tests.unittests.test_generic_tag tests.unittests.client.test_metadata_object_tag_operations tests.unittests.test_tag_api` - `black --check ./gravitino ./tests/unittests ./scripts` - `pylint <changed files>` Also ran `./gradlew :clients:client-python:test`; `black` passed, but the full integration test task failed due to existing environment issues: Python client version `2.0.0.dev0` was higher than server `1.3.1-SNAPSHOT`, and Docker image `apache/gravitino-ci:hive-0.1.13` was missing. -- 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]
