Sharing a Report
A Pixel Patrol report is a single .parquet file holding everything about your dataset - metrics, thumbnails, schema, the works. Pair it with a viewer and you get the full interactive experience; this page covers all the ways to get a viewer to your collaborators (or the other way around).
Which method fits you?
Answer the three questions below and the cards for methods that don't fit will dim out - so the right one stands out at a glance.
Click the ✓ in the corner of each card to mark it as reviewed and track your progress.
The zero-effort option. No installation required on either end - send your collaborator the .parquet file and point them to:
ida-mdc.github.io/pixel-patrol/viewer/
They drag the file into the browser and the full interactive viewer loads. Everything runs locally in their browser - no data is uploaded anywhere.
pixel-patrol view instead.pixel-patrol view locally
Your collaborator will need Pixel Patrol installed - a single pip install pixel-patrol away (see the installation tutorial). Once it's there, they can open any .parquet file directly:
This starts a local server backed by native DuckDB - no browser memory ceiling, fast even for very large reports.
pixel-patrol view the way it is into a self-contained HTML or hosted site (see below).Package the viewer into a single HTML file that works with any parquet:
Send both viewer.html and report.parquet to your collaborator. They open viewer.html in any browser, pick the parquet from the file picker, and get the full interactive experience - with nothing to install and no external link to track down.
🔬 What's actually inside viewer.html
viewer.html is the application shell, not the data - your collaborator still needs the .parquet file alongside it (same folder is easiest; the viewer offers a file picker on load). Its core - DuckDB, Plotly, your extensions - is bundled directly into the file. Its styling (Bootstrap CSS and icons), however, still loads from a CDN at runtime, so your collaborator needs an internet connection the first time they open it, even though nothing needs installing.Want to publish results online - on GitHub Pages, an institutional server, an S3 bucket, or any static host? Deploy the viewer as a site folder and link straight to your parquet.
Step 1 - build a viewer site folder:
This creates a my-report-site/ directory with index.html and all viewer assets.
Step 2 - upload your parquet alongside the site (or to any public URL).
Step 3 - link to the viewer with a ?data= parameter:
The viewer fetches the parquet from the URL, so it can live anywhere publicly reachable - S3, GitHub releases, institutional storage, you name it.
🔬 GitHub Pages, end to end
# Build the viewer into your gh-pages output
pixel-patrol build-viewer-html -o docs/viewer/
# Add the parquet to the same repo (or reference an external URL)
cp report.parquet docs/viewer/
# After deploying to GitHub Pages, share:
# https://your-org.github.io/your-repo/viewer/?data=https://your-org.github.io/your-repo/viewer/report.parquet
?data= URL too - https://ida-mdc.github.io/pixel-patrol/viewer/?data=https://your-server.com/report.parquet. Anyone with that link opens the full interactive report immediately, no deployment required.Bonus: share exactly what matters
--name and --description so recipients aren't left guessing what they're looking at - both appear at the top of every viewer session: