Omnigraph
Graph engine for context assembly. Object-storage native. Agents work with graph data the way engineers work with code: branched, typed, reviewed, merged, audited, and governed.
From SELECT * to plain English. OpenPipeline turns every dbt model into a story anyone can read. Every change, from a teammate or an AI agent, goes to the data's owner before it lands.
DataPython · TypeScriptGitHub @PawanPatil19OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗From SELECT * to plain English.
OpenPipeline turns every dbt model into a story anyone can read. Every change, from a teammate or an AI agent, goes to the data's owner before it lands.
Website · Live demo (read-only, nothing to install) · Docs
Agents propose, owners approve. AI agents are starting to write SQL. OpenPipeline lets them, safely: an agent reads your project, checks its idea on sample rows, and files a proposal. The owner sees it on the graph, in plain words and business terms, and accepts or rejects it. Nothing touches your dbt files until a person says yes.
It opens a dbt project you already have. It never runs dbt, never connects to your warehouse, and reads and writes plain dbt files, so you can stop using it at any time.
propose_change
through the MCP server.pip install openpipeline
openpipeline demo
This copies the bundled jaffle_shop example to a temporary folder, files one pending proposal from an imaginary agent, and starts the server at http://127.0.0.1:8484. Open the Proposals tab and press Show on graph to see a review.
/ to find any model, source, or column.
Pick a column to see where it comes from and what uses it.openpipeline serve path/to/your/dbt/project
# open http://127.0.0.1:8484
With Docker:
docker run --rm -p 8484:8484 -v "$PWD:/project" ghcr.io/pawanpatil19/openpipeline
docker logs <container> # prints the write token and a link that opens with it
The container listens on all interfaces, so changes (editing docs, accepting
proposals, comments, AI calls) need a token. It makes one up and prints it, or use
-e OPENPIPELINE_TOKEN=.... Add -e OPENPIPELINE_READ_ONLY=1 for a server that
refuses every write. See Write access and security.
You do not need dbt installed or warehouse credentials. OpenPipeline reads
target/manifest.json when it exists (run dbt compile for the most accurate
results) and otherwise reads your SQL and YAML files directly.
Optional extras:
pip install 'openpipeline[ai]' # AI explanations, with your own Anthropic key
pip install 'openpipeline[preview]' # sample rows, run locally with DuckDB
claude mcp add openpipeline -- openpipeline mcp /path/to/dbt/project
The agent can look at everything, but it can only propose edits. It reads with
explain, search, column_lineage, impact_of, and list_rules, checks its work
with preview_change and sample_rows, and files changes with propose_change
or propose_docs, and suggests glossary terms with propose_glossary_term. See Working with AI agents.
openpipeline demo # the example project plus a proposal to review
openpipeline serve [PROJECT] # web UI and API on :8484 (--token, --read-only)
openpipeline explain customers [PROJECT] # explain one model (add --ai for an AI write-up)
openpipeline lineage customers lifetime_value [PROJECT]
openpipeline sample customers [PROJECT] # a few rows, on sample data
openpipeline rules [PROJECT] # business rules, grouped by owner
openpipeline review BASE HEAD # Markdown summary of a change, for a PR
openpipeline mcp [PROJECT] # MCP server for agents
PROJECT defaults to the current folder or $OPENPIPELINE_PROJECT_DIR. Run any
command with --help for its options.
Guides, the command line, HTTP API, and configuration reference are at https://openpipeline.vercel.app/docs/.
| Part | Path | Stack |
|---|---|---|
| Engine | packages/core | Python, sqlglot, pydantic |
| App (CLI, API, MCP) | apps/server | FastAPI, Typer, MCP Python SDK |
| Web UI | apps/web | React, TypeScript, Vite, React Flow |
| PR summary action | actions/pr-summary | GitHub composite action |
| Example project | examples/jaffle_shop | dbt |
Read docs/architecture.md for how the parts fit.
Early (0.x). The features above work and are covered by tests, including on real public dbt projects, but names and options may still change before 1.0. Bug reports and ideas are welcome in the issue tracker.
CONTRIBUTING.md explains how to set up the project and run the checks. In short:
make install # Python and web dependencies, plus git hooks
make dev # API with reload on :8484, web dev server on :5173
make lint typecheck test