Skip to content

[#14146] feat(client-python): Support Semantic Model metric discovery - #14147

Draft
mchades wants to merge 5 commits into
apache:mainfrom
mchades:codex/semantic-model-metric-discovery-python-client
Draft

mchades wants to merge 5 commits into
apache:mainfrom
mchades:codex/semantic-model-metric-discovery-python-client

Conversation

@mchades

@mchades mchades commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Add list_metrics and list_metric_infos to the Python SemanticModelCatalog API, with a SemanticModelMetric result type and REST response decoding. Each call uses one schema-level request and preserves complete metrics, including Decimal precision.

Why are the changes needed?

Let Python clients discover metrics without loading each Semantic Model, following #14038 under #14036.

Depends on #14143. This draft includes prerequisite commits and needs rebasing after they merge.

Fixes #14146.

Does this PR introduce any user-facing change?

Adds two discovery methods with catalog-relative schema/model namespaces. Existing SemanticModelCatalog implementations retain compatible unsupported-operation defaults.

How was this patch tested?

138 Semantic Model unit tests and 14 real-server integration tests passed with H2, including discovery lifecycle, authorization, and Ossie regressions.

From clients/client-python:

  • python -m unittest discover -s tests/unittests -t . -p 'semantic.py'
  • python -m unittest -v tests.integration.test_semantic_model_metric_discovery tests.integration.test_semantic_model_authorization tests.integration.test_semantic_model_ossie

Integration tests used GRAVITINO_HOME and START_EXTERNAL_GRAVITINO=true against the built server. Distribution build, Black, Pylint, and git diff --check passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Subtask] Support Semantic Model metric discovery in the Python client

1 participant