Registry / data / openmetadata-ingestion

openmetadata-ingestion

JSON →
library2.0.0.0pypypi✓ verified 21d ago

OpenMetadata Ingestion is a Python framework designed to build connectors and ingest metadata from various external systems into an OpenMetadata instance via its APIs. It is commonly used within orchestration frameworks like Apache Airflow to automate metadata extraction and is actively maintained with frequent releases, often tied to OpenMetadata server versions. The current version is 1.12.5.1.

pip install "openmetadata-ingestion==1.12.5.1"
INSTALL
IMPORT
SIG · OPENMETADATA-INGES
O
openmetadata-ingestion
datapythonv2.0.0.0
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.12.5.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ timeout
1/3 runs
py 3.11
✕ timeout
1/3 runs
py 3.12
✕ build_error
1/3 runs
py 3.13
✕ build_error
2/3 runs
py 3.9
✕ build_error
✕ build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

MetadataWorkflow
from metadata.workflow.metadata import MetadataWorkflow
from metadata.workflow.metadata import MetadataWorkflow

This quickstart demonstrates a basic metadata ingestion workflow using the `MetadataWorkflow` class. It shows how to define a minimal workflow configuration in YAML, including the OpenMetadata server connection details and using an environment variable for the JWT token for authentication. Replace `sample-data` with your actual connector configuration (e.g., `mysql`, `snowflake`). Ensure your OpenMetadata server is running and accessible.

import os import yaml from metadata.workflow.metadata import MetadataWorkflow # Define your OpenMetadata server connection and authentication # It's recommended to use environment variables for sensitive data like JWT tokens openmetadata_server_config = { "hostPort": "http://localhost:8585/api", "authProvider": "openmetadata", "securityConfig": { "jwtToken": os.environ.get('OPENMETADATA_JWT_TOKEN', 'YOUR_OM_JWT_TOKEN_HERE') } } # Example: A minimal YAML configuration for ingesting metadata from a dummy source # In a real scenario, this would be a full connector config (e.g., MySQL, Snowflake) workflow_config_yaml = f""" source: type: "sample-data" serviceName: "sample_metadata" sink: type: "metadata-rest" config: {} workflowConfig: openMetadataServerConfig: hostPort: {openmetadata_server_config['hostPort']} authProvider: {openmetadata_server_config['authProvider']} securityConfig: jwtToken: {openmetadata_server_config['securityConfig']['jwtToken']} """ # Load the YAML configuration workflow_config = yaml.safe_load(workflow_config_yaml) # Create and execute the workflow print("Starting Metadata Ingestion Workflow...") workflow = MetadataWorkflow.create(workflow_config) try: workflow.execute() print("Metadata Ingestion Workflow completed successfully.") except Exception as err: print(f"Error during metadata ingestion: {err}") finally: workflow.print_status() workflow.stop()
metadata --version
Debug
Known issues
breakingA version mismatch between the `openmetadata-ingestion` Python package and the OpenMetadata server can lead to `ClientInitializationError`, `ValidationError`, or other unexpected behavior. The ingestion package version (e.g., `1.12.5.1`) must match the server version (e.g., `~=1.12.5`).
fix
Ensure that `openmetadata-ingestion` is installed with a version compatible with your OpenMetadata server version, typically using a tilde-equals `~=` version specifier (e.g., `pip install "openmetadata-ingestion~=1.12.5"`).
affects: All versions
breakingSchema changes introduced in OpenMetadata minor releases (e.g., adding `queryStatementSource`, `queryParserConfig`, `statusLookbackDays` fields) require upgrading the ingestion framework. Running an older ingestion framework with a newer server can cause `ValidationError` during pipeline deployment or Airflow DAG build failures.
fix
Always upgrade the `openmetadata-ingestion` package to match your OpenMetadata server version, especially after server upgrades, to ensure schema compatibility.
affects: >=1.11.10
breakingThe OpenLineage Kinesis connection schema was refactored in version 1.11.12. Existing configurations with flat Kafka-specific fields (e.g., `brokersUrl`, `topicName`) must be migrated to a nested `brokerConfig` object.
fix
Update your OpenLineage Kinesis connector configurations to use the new `brokerConfig` object structure.
affects: >=1.11.12
breakingThe REST connector configuration changed in version 1.11.11 to support OpenAPI schemas from local files (JSON/YAML) in addition to HTTP URLs via the `openAPISchemaConnection` union type. Existing configurations might require updates.
fix
Refer to the official documentation for the updated REST connector connection structure and adjust your YAML configurations accordingly.
affects: >=1.11.11
gotchaThe `openmetadata-ingestion` library requires Python versions 3.9, 3.10, or 3.11. Using unsupported Python versions might lead to compatibility issues or errors.
fix
Ensure your Python environment is running a supported version (3.9, 3.10, or 3.11). It's recommended to use a virtual environment.
affects: All versions
Upgrade
Version history
2.0.0.0latest on PyPI · released Aug 24, 2026
Audit
Dependencies
PythonrequiredRequired for running the ingestion framework; officially supports Python 3.9, 3.10, and 3.11.
Agent activity
37 hits · last 30 days
node
32
OpenAI (training)
1
Resources
openmetadata-ingestion — pip install openmetadata-ingestion · libregistry