Skip to content

feat(gooddata-sdk): [AUTO] add CatalogSmartFunctionsService with get_trending_objects for GDAI-1418#1447

Closed
yenkins-admin wants to merge 2 commits intomasterfrom
feature/auto-P014-trending-objects
Closed

feat(gooddata-sdk): [AUTO] add CatalogSmartFunctionsService with get_trending_objects for GDAI-1418#1447
yenkins-admin wants to merge 2 commits intomasterfrom
feature/auto-P014-trending-objects

Conversation

@yenkins-admin
Copy link
Copy Markdown
Contributor

Adds SDK wrapper for the new Tredimark AI trendingObjects endpoint (GDAI-1418), exposing get_trending_objects via GoodDataSdk.catalog_smart_functions.

Problem: P014 | Workflow: https://github.com/gooddata/gdc-nas/actions/runs/23194184862

Caution

Test fixtures need recording. The following fixture files are referenced by tests but do not exist yet.
They must be recorded against a live GoodData server before merging:

  • packages/gooddata-sdk/tests/catalog/smart_functions/fixtures/test_get_trending_objects.yaml

What changed in gdc-nas

  • Added new GET /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/trendingObjects endpoint to afm-exec-api returning TrendingObjectItem and TrendingObjectsResult models
  • New gRPC proto messages TrendingObject, TrendingObjectsRequest, TrendingObjectsResponse and trending_objects rpc added to GenAIService
  • Qdrant-backed usage tracking service added to gen-ai Python microservice
  • Commit: 3e5b1e6 — merged via PR #20842

What was implemented in SDK

  • Added CatalogTrendingObjectItem and CatalogTrendingObjectsResult wrapper model classes (using @attrs.define(kw_only=True)) with from_api_model() class methods
  • Added CatalogSmartFunctionsService with a get_trending_objects(workspace_id) method calling SmartFunctionsApi.trending_objects()
  • Exposed SmartFunctionsApi via a new smart_functions_api property on GoodDataApiClient
  • Wired CatalogSmartFunctionsService into GoodDataSdk as catalog_smart_functions
  • Exported all new public classes from gooddata_sdk/__init__.py

Files modified

  • packages/gooddata-sdk/src/gooddata_sdk/__init__.py
  • packages/gooddata-sdk/src/gooddata_sdk/client.py
  • packages/gooddata-sdk/src/gooddata_sdk/sdk.py
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/analytics_catalog/__init__.py
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/analytics_catalog/model/__init__.py
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/analytics_catalog/model/trending_objects.py (new)
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/smart_functions/__init__.py (new)
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/smart_functions/service.py (new)
  • packages/gooddata-sdk/tests/catalog/smart_functions/__init__.py (new)
  • packages/gooddata-sdk/tests/catalog/smart_functions/test_trending_objects.py (new)

JIRA: PENDING (Jira ticket will be created after review)
Risk: Low

Auto Implementation and others added 2 commits March 17, 2026 13:12
…trending_objects for GDAI-1418

Wraps the new GET /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/trendingObjects
endpoint (already present in gooddata-api-client) by adding CatalogTrendingObjectItem and
CatalogTrendingObjectsResult model classes, CatalogSmartFunctionsService, and exposing them
through the GoodDataSdk facade and public __init__ exports.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

2 participants