Skip to main content

Local-first AI investigation CLI for OpenMetadata data pipelines.

Project description

OpenBlame

                         _     _                      
                        | |   | |                     
   ___  _ __   ___ _ __ | |__ | | __ _ _ __ ___   ___ 
  / _ \| '_ \ / _ \ '_ \| '_ \| |/ _` | '_ ` _ \ / _ \
 | (_) | |_) |  __/ | | | |_) | | (_| | | | | | |  __/
  \___/| .__/ \___|_| |_|_.__/|_|\__,_|_| |_| |_|\___|
       | |                                            
       |_|                                            

OpenBlame is a local-first AI investigation CLI for data pipelines running on OpenMetadata. Point it to a table, and it will trace lineage, inspect recent quality failures, parse schema-changes, surface governance gaps, and draft a root-cause narrative.

The reasoning layer runs entirely on your local Ollama models, ensuring your metadata stays inside your environment.


Features

  • Autonomous Investigation: ReAct-style agent loop that plans and executes metadata research.
  • Lineage & Blast Radius: Automatic upstream/downstream analysis to find affected entities.
  • Schema Drift: Instant diffing of column changes, type updates, and renames.
  • Governance Aware: Surfaces missing owners, tiers, and domain gaps as operational risks.
  • Local-First AI: Powered by Ollama (qwen2.5, llama3, etc.). No external API keys needed for reasoning.
  • MCP Ready: Built-in Model Context Protocol server to integrate with AI IDEs like Cursor and Claude Desktop.

Quick Start

1. Install

pip install openblame

2. Configure (CLI-only)

No need to manually edit files. Just run the interactive setup:

openblame configure

It will help you set your OpenMetadata Host, Token, and even auto-detect your installed Ollama models.

3. Investigate

openblame investigate "ecommerce.analytics.customer_churn"

CLI Commands

investigate

The core command. Runs the full AI reasoning loop.

openblame investigate <table_fqn> [OPTIONS]

Options:
  --depth INTEGER     Lineage depth (default: 3)
  --days INTEGER      Lookback days for changes (default: 7)
  --output PATH       Save report to markdown file
  --model TEXT        Override default Ollama model
  --host TEXT         Override OpenMetadata host
  --token TEXT        Override OpenMetadata JWT token

configure

Interactive setup for your environment. Sets up .env for you.

openblame configure

list-models

Show all models available in your local Ollama instance and see which one is active.

openblame list-models

diff

Check for schema changes in a table without running the full agent.

openblame diff <table_fqn> --days 7

lineage

Visualize upstream and downstream lineage as a tree.

openblame lineage <table_fqn> --depth 3

mcp-server

Start the MCP server for integration with Claude/Cursor.

openblame mcp-server

MCP Integration (Cursor / Claude)

Add OpenBlame to your claude_desktop_config.json:

{
  "mcpServers": {
    "openblame": {
      "command": "openblame",
      "args": ["mcp-server"]
    }
  }
}

Development

# Clone and install
git clone https://github.com/manasdutta04/openblame
cd openblame
pip install -e ".[dev]"

# Run Tests (Windows)
.\test.ps1

# Run Tests (Linux/Mac)
make test

License

OpenBlame is released under the MIT License. See LICENSE for details.


Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines. Check out our Code of Conduct and Security Policy.


Note: For users migrating from DataGhost, we provide DataGhostAgent and DataGhostResult aliases in openblame.agent for backward compatibility.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openblame-0.1.7.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openblame-0.1.7-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file openblame-0.1.7.tar.gz.

File metadata

  • Download URL: openblame-0.1.7.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openblame-0.1.7.tar.gz
Algorithm Hash digest
SHA256 00e358f74689337c8187e82f50ede6982be522fa2125fa6f26ac01d2b809ed41
MD5 eac8e66bf10e39c1a40a04da217fc6c2
BLAKE2b-256 611c547b1a581139f81bca1e751d80d165e4e171534ea83786b51870f9f8e18b

See more details on using hashes here.

Provenance

The following attestation bundles were made for openblame-0.1.7.tar.gz:

Publisher: publish.yml on manasdutta04/openblame

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openblame-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: openblame-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openblame-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 66b9619f4fa0265c4df8384f2042aef29248149c9770d5fd1a167a4792cd9048
MD5 14f73e24005ba8d77de88dc98229491e
BLAKE2b-256 cac6308bf9f62a9860623cb7e09953bf1c5f7a8737660a916c82d30d526d7983

See more details on using hashes here.

Provenance

The following attestation bundles were made for openblame-0.1.7-py3-none-any.whl:

Publisher: publish.yml on manasdutta04/openblame

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page