-
Notifications
You must be signed in to change notification settings - Fork 1.3k
feat: Add OnlineStore for MongoDB #6025
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
ntkathole
merged 47 commits into
feast-dev:master
from
caseyclements:INTPYTHON-297-MongoDB-Feast-Integration
Mar 10, 2026
+8,296
−89
Merged
Changes from all commits
Commits
Show all changes
47 commits
Select commit
Hold shift + click to select a range
67d79f7
Initial commit on INTPYTHON-297-MongoDB-Feast-Integration
caseyclements 4d0f066
Added mongodb to project.optional-dependencies in pyproject.toml. Now…
caseyclements 18b16b9
Checkpoint. Passing tests.unit.online_store.test_online_writes.TestOn…
caseyclements a066a99
Handle Nan in dfs for test_online_writes.py. Now all tests in the mod…
caseyclements 7c17759
Removed suffix of implementation: mongodb_openai -> mongodb
caseyclements c463f4a
Moved MongoDBOnlineStore to feast.infra.online_store.contrib
caseyclements a6db5c7
Formatting
caseyclements 9ed89f0
Refactor online_read that converts bson to proto. Left two methods fo…
caseyclements 40e5ea5
Remove file added early during discovery
caseyclements 67f2c99
Formatting
caseyclements 35b66f0
Added version of test that uses testcontainers mongodb instead of ass…
caseyclements a526a0c
Create Make target for universal tests
caseyclements b0d57f5
Cleanup
caseyclements 5a94a11
Removed temporary integration tests requiring one to spin up own mong…
caseyclements 46898b5
Format
caseyclements 0356261
Typing
caseyclements 960881d
Implemented ASync API and Tests
caseyclements 52948a2
Removed offline store stubs. The first PR will only contain the Onlin…
caseyclements f2e5dff
Moved mongodb_online_store out of cobtrib package.
caseyclements 7f5a192
Add documentation.
caseyclements 619fdd3
Cleanups and docstrings
caseyclements 1f46d8e
Fixed another reference to contrib dir
caseyclements de6b103
Typos
caseyclements 7e2a80d
Made _convert_raw_docs_to_proto staticmethods private
caseyclements 8a82e74
After benchmarking two alogithm for conevrting read results from bson…
caseyclements f09faa0
Add extra unit tests
caseyclements 0ba503c
Formatting
caseyclements 6b96c0e
Fixes in pyproject.toml
caseyclements 7c3874b
Fixed Detect secrets false positives.
caseyclements 49022e3
Update sdk/python/feast/infra/online_stores/mongodb_online_store/mong…
caseyclements a2c493e
Fix CI: guard pymongo imports and skip test module when pymongo unava…
caseyclements dcb9072
Fix: return (None, None) when entity doc exists but feature view was …
caseyclements bcb63aa
Update pixi.lock after adding mongodb optional dependency to pyprojec…
caseyclements 1cb84dc
fix: catch FeastExtrasDependencyImportError in doctest runner
caseyclements c02eebf
fix: update PYTEST_PLUGINS path for mongodb online store tests
caseyclements 3eb6107
fix: broaden import exception handling in doctest runner to catch Typ…
caseyclements 01d2e4c
fix: pass onerror to pkgutil.walk_packages to suppress non-ImportErro…
caseyclements 156f17b
fix: update stale tests.integration.feature_repos imports to tests.un…
caseyclements 762d17b
feat: add mongodb to ValidOnlineStoreDBStorePersistenceTypes in feast…
caseyclements 6147c87
feat: add Feast driver metadata to MongoDB client instantiations
caseyclements 1492a1e
docs: update MongoDB online store status from alpha to preview
caseyclements 0d80772
fix: add mongodb to kubebuilder Enum annotations for OnlineStoreDBSto…
caseyclements 7563f11
Update +GOLANGCI_LINT_VERSION to fix upstream issue golang/go#74462
caseyclements 26ad3bb
fix: raise ValueError in _get_client_async for invalid config type, c…
caseyclements 2f92af9
fix: Added mongodb to operator yamls
ntkathole 577f2a7
Small change suggested by ntkathole
caseyclements e761e10
Factor out write logic into utility function making sync/async essent…
caseyclements File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.