Skip to content

[CDF-27105] 🫨 Data products alpha support #2510

Merged
ronpal merged 35 commits intomainfrom
data-products
Feb 17, 2026
Merged

[CDF-27105] 🫨 Data products alpha support #2510
ronpal merged 35 commits intomainfrom
data-products

Conversation

@ronpal
Copy link
Collaborator

@ronpal ronpal commented Feb 13, 2026

Description

Data Products alpha feature based on service contract https://github.com/cognitedata/service-contracts/blob/a386f0c1592ce3f8d6b93bb6cf83d0c6443eaf6f/versions/v1/dataproducts.preproc.yml

The Data Product service is available in a limited number of Projects at the moment.

Screenshot 2026-02-13 at 14 31 38

Bump

  • Patch
  • Skip

Changelog

Added

  • Support for data products [alpha]

@ronpal ronpal requested review from a team as code owners February 13, 2026 08:49
@gemini-code-assist
Copy link
Contributor

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

@github-actions
Copy link

github-actions bot commented Feb 13, 2026

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
34387 29523 86% 80% 🟢

New Files

File Coverage Status
cognite_toolkit/_cdf_tk/client/api/data_products.py 91% 🟢
cognite_toolkit/_cdf_tk/client/resource_classes/data_product.py 100% 🟢
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_product.py 91% 🟢
cognite_toolkit/_cdf_tk/resource_classes/data_product.py 92% 🟢
TOTAL 93% 🟢

Modified Files

File Coverage Status
cognite_toolkit/_cdf_tk/client/_toolkit_client.py 100% 🟢
cognite_toolkit/_cdf_tk/client/testing.py 100% 🟢
cognite_toolkit/_cdf_tk/commands/_migrate/creators.py 85% 🟢
cognite_toolkit/_cdf_tk/cruds/init.py 79% 🟢
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/init.py 100% 🟢
cognite_toolkit/_cdf_tk/feature_flags.py 100% 🟢
cognite_toolkit/_cdf_tk/resource_classes/init.py 100% 🟢
cognite_toolkit/_cdf_tk/utils/text.py 90% 🟢
TOTAL 94% 🟢

updated for commit: 07d6722 by action🐍

@codecov
Copy link

codecov bot commented Feb 13, 2026

Codecov Report

❌ Patch coverage is 90.96386% with 15 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.85%. Comparing base (81b84de) to head (07d6722).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...lkit/_cdf_tk/cruds/_resource_cruds/data_product.py 90.90% 6 Missing ⚠️
cognite_toolkit/_cdf_tk/utils/text.py 66.66% 4 Missing ⚠️
...ognite_toolkit/_cdf_tk/client/api/data_products.py 91.17% 3 Missing ⚠️
cognite_toolkit/_cdf_tk/cruds/__init__.py 80.00% 1 Missing ⚠️
...e_toolkit/_cdf_tk/resource_classes/data_product.py 91.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2510      +/-   ##
==========================================
+ Coverage   85.83%   85.85%   +0.02%     
==========================================
  Files         410      414       +4     
  Lines       34222    34387     +165     
==========================================
+ Hits        29373    29523     +150     
- Misses       4849     4864      +15     
Files with missing lines Coverage Δ
cognite_toolkit/_cdf_tk/client/_toolkit_client.py 100.00% <100.00%> (ø)
...it/_cdf_tk/client/resource_classes/data_product.py 100.00% <100.00%> (ø)
cognite_toolkit/_cdf_tk/client/testing.py 100.00% <100.00%> (ø)
...nite_toolkit/_cdf_tk/commands/_migrate/creators.py 84.84% <100.00%> (+0.07%) ⬆️
..._toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py 100.00% <100.00%> (ø)
cognite_toolkit/_cdf_tk/feature_flags.py 100.00% <100.00%> (ø)
...gnite_toolkit/_cdf_tk/resource_classes/__init__.py 100.00% <100.00%> (ø)
cognite_toolkit/_cdf_tk/cruds/__init__.py 79.31% <80.00%> (+0.06%) ⬆️
...e_toolkit/_cdf_tk/resource_classes/data_product.py 91.66% <91.66%> (ø)
...ognite_toolkit/_cdf_tk/client/api/data_products.py 91.17% <91.17%> (ø)
... and 2 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ronpal ronpal marked this pull request as draft February 13, 2026 09:37
@ronpal ronpal marked this pull request as ready for review February 13, 2026 13:54
Copy link
Collaborator

@doctrino doctrino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff. I have commented where I found issues.

In addition, you have to ensure that data products are exempt from smoke tests as all API classes that subclass CDFResourceAPI will automatically be picked up. Thus if this is merged smoke tests will fail.

ronpal and others added 9 commits February 16, 2026 08:46
Co-authored-by: Anders Albert <60234212+doctrino@users.noreply.github.com>
Co-authored-by: Anders Albert <60234212+doctrino@users.noreply.github.com>
Co-authored-by: Anders Albert <60234212+doctrino@users.noreply.github.com>
Co-authored-by: Anders Albert <60234212+doctrino@users.noreply.github.com>
Co-authored-by: Anders Albert <60234212+doctrino@users.noreply.github.com>
ronpal and others added 6 commits February 16, 2026 12:05
…a flag

Suppress 404 errors from the data products API when the alpha flag is
enabled but the endpoint is not yet available on the test server.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Collaborator

@doctrino doctrino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are missing extending https://github.com/cognitedata/toolkit/blob/main/tests/test_unit/approval_client/config.py#L1314
such that the local deployment of complete org checks for data product

- Extract shared DataProduct base class for request/response models
- Rename items -> external_ids on retrieve and delete API methods
- Fix list default from None to 10
- Simplify integration test: always exclude DataProductCRUD since
  alpha flag is off in cdf.toml
The fallback was lost during a merge from main. Without it,
deserializing built data product resources fails when
DataProductCRUD is excluded from CRUDS_BY_FOLDER_NAME.
Register DataProductsAPI in the approval client config so the
complete_org build/deploy unit tests exercise data product CRUD.
The approval client now includes data products, so the build/deploy
snapshot needs the expected DataProductResponse output.
os.environ,
{"EVENTHUB_CLIENT_ID": client_id, "EVENTHUB_CLIENT_SECRET": client_secret},
),
patch.dict(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good solution.

doctrino
doctrino previously approved these changes Feb 17, 2026
@ronpal ronpal enabled auto-merge (squash) February 17, 2026 07:06
@ronpal ronpal merged commit 5ab8f8c into main Feb 17, 2026
15 checks passed
@ronpal ronpal deleted the data-products branch February 17, 2026 07:24
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