Skip to main content

Collate SDKs

https://mintcdn.com/collatedocs/Q1OIJhF378waLn75/public/images/icons/quality.svg?fit=max&auto=format&n=Q1OIJhF378waLn75&q=85&s=c4667ff1121b2a5ce8951373641d692e

Type Safe

Generated from API schemas for type safety
https://mintcdn.com/collatedocs/yvgGxaeRR5RwtQo6/public/images/icons/celebration.svg?fit=max&auto=format&n=yvgGxaeRR5RwtQo6&q=85&s=2478381934fc5660df3fedcb7327d594

Full Featured

Complete API coverage and authentication
https://mintcdn.com/collatedocs/Q1OIJhF378waLn75/public/images/icons/puzzle.svg?fit=max&auto=format&n=Q1OIJhF378waLn75&q=85&s=d0be1918ca2f25fa600d07cb6617411f

Production Ready

Battle-tested in enterprise environments

Overview

The SDK docs in this section cover the current Python, Java, and Go clients. Use them for typed access to metadata entities, governance workflows, lineage, and automation scenarios.

Available SDKs

https://mintcdn.com/collatedocs/Q1OIJhF378waLn75/public/images/icons/puzzle.svg?fit=max&auto=format&n=Q1OIJhF378waLn75&q=85&s=d0be1918ca2f25fa600d07cb6617411f

Python SDK

Full-featured Python client
https://mintcdn.com/collatedocs/Q1OIJhF378waLn75/public/images/icons/puzzle.svg?fit=max&auto=format&n=Q1OIJhF378waLn75&q=85&s=d0be1918ca2f25fa600d07cb6617411f

Java SDK

Enterprise Java integration
https://mintcdn.com/collatedocs/Q1OIJhF378waLn75/public/images/icons/puzzle.svg?fit=max&auto=format&n=Q1OIJhF378waLn75&q=85&s=d0be1918ca2f25fa600d07cb6617411f

Go SDK

Lightweight Go client

Choose Your SDK

Python SDK

Perfect for:
  • Data engineering workflows
  • Jupyter notebook integration
  • ML pipeline automation
  • Data quality automation
from metadata.sdk import Tables, configure

configure(
    host="http://localhost:8585/api",
    jwt_token="your-jwt-token",
)

for table in Tables.list_all():
    print(table.fullyQualifiedName)

Java SDK

Perfect for:
  • Spring Boot applications
  • Enterprise integrations
  • Microservices architecture
  • Legacy system integration
import org.openmetadata.sdk.client.OpenMetadata;
import org.openmetadata.sdk.models.ListParams;

OpenMetadata.initialize(
    "http://localhost:8585/api",
    "your-jwt-token"
);

var client = OpenMetadata.client();
var tables = client.tables().list(new ListParams().setLimit(10));

Go SDK

Perfect for:
  • Go services and command-line tools
  • Type-safe API integrations
  • Automation that benefits from automatic pagination
  • Lightweight backend services
import (
    "context"
    "fmt"
    "log"

    "github.com/open-metadata/openmetadata-sdk/openmetadata-go-client/pkg/ometa"
)

client := ometa.NewClient(
    "http://localhost:8585",
    ometa.WithToken("your-jwt-token"),
)

for table, err := range client.Tables.List(context.Background(), nil) {
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(table.Name)
}

Common Use Cases

Metadata Automation

  • Automated table registration
  • Schema evolution tracking
  • Data lineage updates
  • Quality metric reporting

Data Discovery

  • Search and filter assets
  • Retrieve metadata
  • Build data catalogs
  • Generate documentation

Integration Patterns

  • ETL pipeline integration
  • CI/CD metadata updates
  • Real-time sync workflows
  • Event-driven updates