A visual canvas
Read, filter, join, aggregate, pivot, write: each block carries its parameters, and the graph is validated before it runs.
Low-code pipelines
You assemble the steps on a canvas; graal writes the matching Pandas or PySpark code. That code is readable, versioned and runs outside graal: on a laptop, in your CI, on another cluster.

A valid pipeline, exported to PySpark from the editor. The same menu offers Pandas; the button next to it turns the pipeline into a job.
Real graal console interface, not retouched; fictional demonstration data (tenant energie-demo — people, projects and tokens are invented).
Key capabilities
Read, filter, join, aggregate, pivot, write: each block carries its parameters, and the graph is validated before it runs.
Click a block and the pipeline runs up to it on a sample, showing the rows it produces.
Pandas for modest volumes, PySpark to scale out. The code can be reviewed, tested and run without graal.
Not null, uniqueness, value ranges, regular expressions, freshness: a failing check stops the run or warns, according to your rule.
You describe the processing in a sentence; graal proposes the graph, which you review and adjust before saving it.
Every save creates a version of the graph, committed to the project’s Git repository. You compare, you roll back.
How it works
Step 01
You place the blocks, connect them and check the data preview at every step.
Step 02
You add quality checks wherever the data has to keep its promises. Their report comes with every run.
Step 03
The graph becomes a schedulable job that fits into a workflow. Or you export the code and deploy it elsewhere.
A graal pipeline is a directed graph: each block declares its inputs, its parameters and its output schema. The engine validates the graph, then translates it into a complete Pandas or PySpark script, dependencies included. There is no hidden execution: what runs in graal is what you export.
Because the generated code is readable, it fits into your existing practices: code review, unit tests, continuous integration. Your data engineers keep control over what goes to production, and your analysts build without waiting.
The European Data Act prohibits switching charges between data processing service providers from 12 January 2027 (Article 29). Exported code and open formats make that switch concrete.
Standards and integrations
Governance
The Pandas or PySpark code of your pipelines, their Git history, and your data in Parquet and Iceberg. Nothing needs converting.
Not to draw. The generated code is meant to be reviewed by your data engineers: it is the reference.
The same graph exports to both. Pandas suits data that fits in memory; PySpark distributes the work across your cluster.
From drawing to code export, then to a scheduled job: it is one of the acts of the demonstration.