
Catch data issues during CI, not in production.



Column level data lineage in 10 minutes
Prevent breaking data changes in a pull request
Open-source and self-hostable
Backed by



Features
Unlock the full potential of your metadata with Grai. With a rich feature set, end to end column level data lineage, and a flexible data model, it’s the only tool you can customize to solve your domain specific problems.

Check changes in Github before merging
We check every pull request, to see if the changes will break your data pipelines.
Stop chasing issues once they hit production, notify developers in their tool of choice.
Subscribe for alerts when data changes or tests fail
Get alerted about changes to your data with email or Slack notifications. Keep up to date with migrations and new columns and tables. The data team are no longer the last to hear about changes.


Column level data lineage
At the core of Grai is our data lineage graph, with rich metadata for each node and edge. See how data moves through your organization to spot issues or build custom functionality on top of Grai.
Advanced testing
Grai utilises your data lineage to intelligently map tests across your pipelines. This behaviour is fully customisable, for example you can set Fivetran to pass nullable tests but not foreign key constraints.

Integrations
Grai connects with every part of your data stack and keeps everything up to date.
Don't see the tool you require? Grai makes it easy to build a custom integration.

How it works
Master the art of continuous data improvement with Grai’s streamlined CI process.

Issues are resolved before merging to production

Developer makes code change on branch
Slack and email alerts for failed tests

GitHub Action runs Grai tests for downstream issues

Get started in minutes
Our range of integrations make it easy to build your data lineage, without engineering support.


Import metadata from a wide range of data stores and tools with Grai's pre-built integrations.

Install our GitHub app and add a few lines of code to your workflow file to integrate Grai with GitHub.

Grai automatically runs your tests, and alerts you to any data issues, before merging into production.


Import metadata from a wide range of data stores and tools with Grai's pre-built integrations.

Install our GitHub app and add a few lines of code to your workflow file to integrate Grai with GitHub.

Grai automatically runs your tests, and alerts you to any data issues, before merging into production.
Built with developers in mind
Python SDK for easily adding custom functionality on top of your data lineage, using the REST API. For more advanced customization you can always fork our project.

#update_server.py
from grai_client.endpoints.v1.client import ClientV1 from grai_source_postgres.base import update_server
client = ClientV1('localhost', '8000') client.set_authentication_headers( username='null@grai.io',
password='super_secret'
)
update_server(
client,
dbname='sample_data',
user='postgres',
password='password',
namespace='demo'
)

#nodes_and_edges.yaml
type: Node
spec:
name: public.customers
namespace: default
---
type: Node
spec:
name: public.customer.id
namespace: default
---
type: Edge
spec:
source:
name: public.customer.id
namespace: default
destination:
name: public.orders.customer
namespace: default

