OpenMetadata/ingestion/SDK_IMPLEMENTATION_PLAN.md
Sriharsha Chintalapani bb1395fc72
Implement Modern Fluent API Pattern for OpenMetadata Java Client (#23239)
* Implement Modern Fluent API Pattern for OpenMetadata Java Client

* Add Lineage, Bulk, Search static methods

* Add all API support for Java & Python SDKs

* Add Python SDKs and mock tests

* Add Fluent APIs for sdks

* Add Fluent APIs for sdks

* Add Fluent APIs for sdks, support async import/export

* Remove unnecessary scripts

* fix py checkstyle

* fix tests with new plural form sdks

* Fix tests

* remove examples from python sdk

* remove examples from python sdk

* Fix type check

* Fix pyformat check

* Fix pyformat check

* fix python integration tests

* fix pycheck and pytests

* fix search api pycheck

* fix pycheck

* fix pycheck

* fix pycheck

* Fix test_sdk_integration

* Improvements to SDK

* Remove SDK coverage for Python 3.9

* Remove SDK coverage for Python 3.9

* Remove SDK coverage for Python 3.9
2025-09-29 16:07:02 -07:00

1.6 KiB

OpenMetadata Python SDK Implementation Plan

Current Status

Completed (15 entities):

  • Table
  • Database
  • DatabaseSchema
  • Dashboard
  • Pipeline
  • Container
  • Topic
  • Team
  • User
  • Glossary
  • GlossaryTerm
  • Chart (NEW)
  • Metric (NEW)
  • MLModel (IN PROGRESS)

Remaining High-Priority Entities (20)

Data Assets (Priority 1)

  • StoredProcedure
  • SearchIndex
  • Query
  • DashboardDataModel
  • APIEndpoint
  • APICollection

Governance (Priority 2)

  • Classification
  • Tag
  • Domain
  • DataProduct

Data Quality (Priority 3)

  • TestCase
  • TestSuite
  • TestDefinition
  • DataContract

Security (Priority 4)

  • Role
  • Policy
  • PersonalAccessToken

Operations (Priority 5)

  • IngestionPipeline
  • Workflow
  • Alert

Implementation Strategy

Each entity needs:

  1. Entity class with full CRUD operations
  2. Comprehensive unit tests (15-20 test cases)
  3. Integration with base entity pattern
  4. Proper error handling
  5. CSV import/export support
  6. Version management
  7. Follower management
  8. Custom operations specific to entity type

Test Coverage Requirements

  • Create operations
  • Retrieve by ID and name
  • Update and patch operations
  • Delete (soft and hard)
  • List with pagination
  • Add/remove followers
  • Version management
  • Error handling
  • Entity-specific operations

Next Steps

  1. Complete MLModel implementation and tests
  2. Implement remaining data asset entities
  3. Add governance entities
  4. Implement data quality entities
  5. Add security entities
  6. Create comprehensive integration tests
  7. Update documentation
  8. Performance optimization