feat: revamp OpenMetadata 2.0 RC1 demo catalog - #73
Merged
Conversation
ayush-shah
force-pushed
the
ayush-shah-codex/python-sdk-retrieval-fix
branch
from
August 5, 2026 10:33
8f9ec69 to
6daebc6
Compare
ayush-shah
force-pushed
the
ayush-shah-codex/python-sdk-retrieval-fix
branch
from
August 5, 2026 10:36
6daebc6 to
8a72844
Compare
ayush-shah
force-pushed
the
ayush-shah-codex/python-sdk-retrieval-fix
branch
from
August 5, 2026 12:04
8a72844 to
7c2c7f2
Compare
ayush-shah
marked this pull request as ready for review
August 5, 2026 12:27
ayush-shah
marked this pull request as draft
August 5, 2026 14:37
ayush-shah
force-pushed
the
ayush-shah-codex/python-sdk-retrieval-fix
branch
from
August 6, 2026 09:27
e911720 to
15b96d7
Compare
ayush-shah
marked this pull request as ready for review
August 7, 2026 08:52
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixes ticket #20931 by turning
openmetadata-demointo a small, maintained OpenMetadata 2.0 RC1 example catalog. The old links broke after this repository was archived/private and its examples became stale.This branch keeps its first ten curation and connector commits through
7c2c7f2, removes the later generatedplatform-apiwork entirely, and adds plain Python examples built directly on the public fluent SDK facades.custom-connector/URL and the six maintained legacy areasSettingsa live, read-only exampleContextFiles,Folders, andPagesrequest models while documenting their missing RC1 route resolutionLineageAPI; it does not add a Search API cookbookVersion and Source Contract
openmetadata-ingestion==2.0.0.0rc12.0.0-rc12.0.0-rc1-releaseat8e199f486b63df9f44d4c827a9f43559d9e56e07These are prerelease examples and are not presented as compatible with OpenMetadata 1.12/1.13.
Facade Scenarios
The API-lineage demo now uses
APICollections,APIEndpoints, andLineageunder explicitly supplied API services. It verifies every requested column mapping after writing, documents exact-FQN filtering, and demonstrates direct API Endpoint → Table lineage without requiring a Pipeline asset. The analytics guide distinguishes Pipeline services from Pipeline assets and explainsPipelines.list()versusPipelines.list_all(). The CSV importer now usesTablesandDashboardDataModels, requires explicit target FQNs, preflights every target, and builds all changes before the first update.Some service facades do not exist in RC1. Analytics therefore requires existing database, ML model, pipeline, and search service FQNs. API lineage similarly requires two existing API service FQNs. The data-contract and data-quality scenarios require explicit existing target FQNs.
Write Safety
Facade.create()is a full PUT upsert. Demo-created entities include:The examples create missing entities, allow reruns only for an exact ownership-marker match, and refuse foreign collisions. The CSV importer's repeatable FQN flags are its explicit authorization boundary. There is no hard delete, recursive delete, automatic cleanup, restore, global Settings mutation, Search reindex, or test execution.
The live RC1 smoke pass also found three route-backed methods whose RC1 contracts are broken:
Containers.set_parent(),Metrics.add_related_metrics(), andDataContracts.validate_request(). The examples document those limitations and use the smallest working public-facade alternatives; they do not patch the SDK or add private/REST fallbacks.Validation Boundary
CI provides offline request/model/import validation against the exact RC1 SDK. It runs pytest, Ruff, formatting, compile checks, YAML/JSON parsing, socket-free import checks, facade-coverage checks, Node syntax/audit, Docker Compose configuration validation, Markdown link checking, and repository-wide Gitleaks. It does not certify a live server or Docker-backed ingestion.
Local final gate:
compileallpassesplatform-apifiles and history churn are absentAll branch-defined checks are green. The repository's separate default CodeQL
setup still schedules Java/Kotlin and fails with
no source code seenbecausethis curation intentionally removes the unsupported Java examples. A repository
administrator must remove Java/Kotlin from default CodeQL setup (or waive that
stale check); this PR does not add dummy Java solely to satisfy it.
Manual OpenMetadata 2.0 RC1 Evidence
Validated on 2026-08-06 with the official
2.0.0-rc1server and ingestion images:ContextFiles,Folders, andPagesfailed route resolution exactly as documented, without a REST workaroundReview and Rollback
The final fixed diff received source-to-example, customer-safety, security/secret, over-engineering, and atomic-history reviews. The bounded doubt loop ended clean after the live-smoke findings were reconciled.
Rollback options:
ayush-shah/backup-pr-73-platform-api-e911720Out of scope: every REST route, recreating missing facades, exercising every inherited method, live-server CI, automatic cleanup, and GA compatibility.
Readiness
Keep this PR in draft until CI and ingestion/documentation reviews pass. Repository visibility and the
2.0.0-rc1tag remain post-merge work. Docs PRs docs-om #364 and docs-collate #531 stay unchanged until the repository is public and that tag exists. The GA pin/tag migration will be a separate atomic PR.