Skip to content

feat: Add namespace and collection fields to SavedDataset for hierarchical grouping#6623

Open
ntkathole wants to merge 2 commits into
feast-dev:masterfrom
ntkathole:iceberg_compatible_datasets
Open

feat: Add namespace and collection fields to SavedDataset for hierarchical grouping#6623
ntkathole wants to merge 2 commits into
feast-dev:masterfrom
ntkathole:iceberg_compatible_datasets

Conversation

@ntkathole

Copy link
Copy Markdown
Member

What this PR does / why we need it:

Adds optional namespace and collection string fields to SavedDataset, enabling hierarchical grouping of datasets beyond the flat project-level organization. This is a backward-compatible, additive change — existing SavedDatasets and all current Feast workflows are unaffected.

Feast SavedDatasets currently have a flat hierarchy: Project → Dataset. As datasets grow within a project, there's no way to organize them into logical groups (e.g., by domain, stage, or team). This limitation also blocks alignment with the Iceberg REST Catalog API, which expects multi-level namespace hierarchies.

These two new fields solve both problems:

  • namespace - top-level logical grouping (e.g., fraud, underwriting, analytics)
  • collection - sub-grouping within a namespace (e.g., raw, curated, training)

Both fields default to empty string (not set), preserving full backward compatibility.

Screen.Recording.2026-07-22.at.1.00.45.PM.mov

Signed-off-by: ntkathole <nikhilkathole2683@gmail.com>
@ntkathole ntkathole self-assigned this Jul 22, 2026
@ntkathole
ntkathole requested a review from a team as a code owner July 22, 2026 08:34
@ntkathole
ntkathole force-pushed the iceberg_compatible_datasets branch from 9596bb7 to 658f9c0 Compare July 22, 2026 08:43
Signed-off-by: ntkathole <nikhilkathole2683@gmail.com>
@ntkathole
ntkathole force-pushed the iceberg_compatible_datasets branch from 658f9c0 to f4c78a9 Compare July 22, 2026 08:55
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 51.28205% with 19 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.94%. Comparing base (294efad) to head (f4c78a9).

Files with missing lines Patch % Lines
sdk/python/feast/infra/registry/snowflake.py 0.00% 6 Missing ⚠️
...k/python/feast/api/registry/rest/saved_datasets.py 50.00% 2 Missing and 2 partials ⚠️
...ython/feast/infra/registry/proto_registry_utils.py 55.55% 2 Missing and 2 partials ⚠️
sdk/python/feast/infra/registry/sql.py 33.33% 2 Missing and 2 partials ⚠️
...dk/python/feast/infra/registry/caching_registry.py 0.00% 1 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #6623   +/-   ##
=======================================
  Coverage   45.94%   45.94%           
=======================================
  Files         412      412           
  Lines       48864    48897   +33     
  Branches     6913     6922    +9     
=======================================
+ Hits        22452    22468   +16     
- Misses      24859    24870   +11     
- Partials     1553     1559    +6     
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 47.24% <51.28%> (+<0.01%) ⬆️
Files with missing lines Coverage Δ
sdk/python/feast/feature_store.py 41.13% <ø> (ø)
sdk/python/feast/infra/registry/base_registry.py 71.00% <ø> (ø)
sdk/python/feast/infra/registry/registry.py 57.58% <100.00%> (ø)
sdk/python/feast/infra/registry/remote.py 44.33% <ø> (ø)
sdk/python/feast/registry_server.py 50.89% <100.00%> (+0.16%) ⬆️
sdk/python/feast/saved_dataset.py 61.30% <100.00%> (+1.43%) ⬆️
...dk/python/feast/infra/registry/caching_registry.py 57.19% <0.00%> (ø)
...k/python/feast/api/registry/rest/saved_datasets.py 41.00% <50.00%> (+0.37%) ⬆️
...ython/feast/infra/registry/proto_registry_utils.py 72.69% <55.55%> (-0.87%) ⬇️
sdk/python/feast/infra/registry/sql.py 57.68% <33.33%> (-0.28%) ⬇️
... and 1 more

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 294efad...f4c78a9. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants