-
Notifications
You must be signed in to change notification settings - Fork 3.3k
feat(ingest/snowflake): add Streamlit apps ingestion support #15046
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
base: master
Are you sure you want to change the base?
feat(ingest/snowflake): add Streamlit apps ingestion support #15046
Conversation
- Add support for ingesting Snowflake Streamlit apps as Dashboard entities - Streamlit apps are modeled as dashboards with Streamlit subtype - Use Dashboard SDK for simplified metadata generation - Apply snowflake_identifier() for consistent URN casing with datasets - Build browse paths manually to avoid duplicate platform instance entries - Add comprehensive unit and integration tests with golden files - Support streamlit_pattern filtering configuration This enables DataHub to discover and catalog Streamlit applications deployed in Snowflake, providing visibility into interactive data apps.
- Register 'streamlit' platform in bootstrap (v4 → v5) with logo - Add Streamlit constants and logos to frontend (ingest V1 and V2) - Ingest apps with platform="streamlit", parent containers, and Snowsight URLs - Support filtering via streamlit_pattern configuration
Bundle ReportChanges will increase total bundle size by 5.5kB (0.02%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: datahub-react-web-esmAssets Changed:
Files in
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_schema_gen.py
Outdated
Show resolved
Hide resolved
metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_schema_gen.py
Show resolved
Hide resolved
| "url_id": "abc123def456_1", | ||
| "comment": "Comment for Streamlit App 1" | ||
| }, | ||
| "externalUrl": "https://app.snowflake.com/ap-south-1.aws/abc12345/#/streamlit-apps/TEST_DB.TEST_SCHEMA.STREAMLIT_APP_1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably it's an issue with the test data... how is the externalUrl does not include the url_id ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
url_id is the unique id for the streamlit app. Based on the investigation, it's not related to access url to Streamlit page. Thank you for checking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall LGTM, good job!
I left some minor comments. The only concerning one is about the identity of the streamlit dashboard.
…oard identifiers Streamlit apps are identified using their url_id field instead of name to ensure stable and unique dashboard identifiers. Updated documentation to include required permissions for Streamlit app ingestion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎖️
This commit reverts data platform version as it's not breacking change.
This enables DataHub to discover and catalog Streamlit applications deployed in Snowflake, providing visibility into interactive data apps.