# Share a Sweetviz Report — Send the Comparison, Not a Screenshot

Canonical: https://commareports.com/share-sweetviz-report
Published: 2026-08-24

> Sweetviz writes a self-contained HTML file that only opens on your machine. Publish it to Comma for a URL where the train/test comparison stays interactive and a reviewer can question a column.

# Share a Sweetviz report

Sweetviz exists for one question: _are these two datasets the same shape?_
Train versus test. This month versus last. Treatment versus control. It
answers it with two distributions on one axis, which is far more convincing
than any sentence you could write about drift.

Then `show_html()` opens a browser tab on your laptop, and the convincing part
never leaves the room.

## Publish it

```python
import sweetviz, requests, os

report = sweetviz.compare([train, "Train"], [test, "Test"], target_feat="churned")
report.show_html("sweetviz.html", open_browser=False)

r = requests.post(
    "https://commareports.com/api/v1/reports",
    headers={"Authorization": f"Bearer {os.environ['COMMA_API_TOKEN']}"},
    json={
        "title": "Train/test split — churn model v4",
        "description": "Checking for drift before retraining",
        "html": open("sweetviz.html").read(),
    },
)
r.raise_for_status()
print(r.json()["url"])
```

One file in, one URL out. Sweetviz inlines everything it needs, so nothing
else has to be uploaded, and the association matrix and column detail panes
still respond inside the sandboxed iframe (`allow-scripts`, no
`allow-same-origin`).

## Why this one is worth reviewing

A profiling report on a single dataframe is reference material. A **comparison**
is a claim — that your split is fair, that the new month behaves like the old
one — and claims are the thing that should get a second pair of eyes.

The failure mode is familiar: the model underperforms in production, and
somebody discovers the split had a leaked column or an unrepresentative time
window. That was visible in the report the whole time. It just never had a URL
anyone could open, so nobody looked.

- **Anchored comments** on the column that is off — see
  [commenting on HTML](/comment-on-html).
- **Revisions** on the same report id, so each retrain is a diff against the
  last split rather than a fresh file with a date in the name.
- **Access per report** — private, team, domain-gated, or named reviewers.
  See the [sharing model](/docs/sharing).

## Limits

- **HTML body: 5 MB.** Sweetviz output is compact for typical column counts;
  a very wide frame is the case to watch. Profile a subset of columns, or
  publish per-feature-group.
- **60 requests/minute per token.**
- Publish the report, not the data. Sweetviz embeds summary statistics and
  example values — for a sensitive dataset, that is still a disclosure
  decision, so set visibility before you paste the link.

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision
history.

**[Publish a profiling report →](https://commareports.com/)**

### Related

- [Share a ydata-profiling report](/share-ydata-profiling-report) · [Share an EDA report](/share-eda-report)
- [Share an Evidently report](/share-evidently-report) — drift monitoring over time
- [Jupyter](/with/jupyter) · [Share a notebook as HTML](/share-jupyter-notebook-html)
