Point Datangent at a folder. Your files open in a real editor — table view, source view — and stay in your browser until you run.
Any two numeric tables — different rows, different columns, different worlds. Only each table's internal distance structure is compared.
A p-value against a covariance-matched null decides. The coupling shows which rows align — as candidates to investigate, never as proof.
The distance. Datangent computes an exact, balanced Gromov–Wasserstein coupling between your two tables (via POT, multi-restart, no entropic approximation). GW never compares your columns to each other — it compares each table's internal distance structure, which is why the two datasets need no shared units, features, or even the same number of rows.
The verdict. A small GW cost alone proves nothing, so every run is tested against a null: 10,000 surrogate datasets matched to each table's mean, covariance, clusters and tails. The result is a p-value — p = max(p_A, p_B) — and the verdict "significant against a covariance-matched null," or not.
The coupling. When structure is shared, the coupling says which row of A lines up with which row of B. Datangent draws it — every edge a candidate bridge for you to investigate.
Open the workspace, load two CSVs, and see where they touch.
Open the app