Skip to main content

tessera

CI

Build self-contained, interactive HTML reports from Python — one file you can commit, or serve, with no runtime and no dependencies on the viewer's machine. Designed for batch-generated data and ML output: loop over your experiments, runs, or segments and emit a report per iteration.

Content is laid out on a grid of typed cells (charts, tables, metrics, code, images, diagrams), and the whole deck embeds into a single .html.

Documentation

https://tessera-report.readthedocs.io/

Installation

pip install tessera-report

Quick start

from tessera import Deck

deck = Deck(
    title="My Report",
)

deck.add_title("My Report", subtitle="Subtitle here")
deck.add_section("1 — Introduction")

slide = deck.add_slide("Results", ncols=2)

slide.add_metric(value=98.7, label="Efficiency (%)", delta=+2.3)
slide.add_text("Text with **markdown** and LaTeX: $E = mc^2$")

deck.write("report", open_browser=True)

Batch generation

The core use case — one report per run, generated in a loop:

deck = Deck(title=f"Experiment Results", author="Company name", date="Jun 20th, 2026")

for run in experiment_runs:
    
    deck.add_section(title=f"Run #{run.id}")    
    
    slide = deck.add_slide("Metrics", nrows=1, ncols=3)
    
    slide.add_metric(value=run.accuracy, label="Accuracy", delta=run.delta)
    slide.add_plotly(run.loss_curve)
    slide.add_table(run.results_table, caption="Results")

deck.write("report")

Cell types

Method Cell Description
add_text TextCell Markdown + LaTeX (MathJax)
add_metric MetricCell KPI card with value, label and delta
add_table TableCell CSV, dict, list or DataFrame
add_image ImageCell Image with lightbox and zoom/pan
add_image_slider ImageSliderCell Image carousel
add_list ListCell Bullet or numbered list
add_code CodeCell Code with syntax highlighting
add_plotly PlotlyCell Interactive Plotly chart
add_mermaid MermaidCell Declarative diagram (flowchart, etc.)
add_html HtmlCell Raw HTML without escaping
add_iframe IframeCell Embed external content
add_empty EmptyCell Reserves space in the grid

Common cell options

All add_* methods accept:

slide.add_text(
    "content",
    colspan=2,          # spans 2 columns
    rowspan=1,
    caption="Caption",
    overflow=True,      # internal scroll
    expand_button=True, # expand to fullscreen button
    copy_button=True,   # copy button (CodeCell)
    transparent=True,   # hides cell border and background
)

License

MIT

Metadata

Release files for tessera-report 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tessera-report 0.5.0
File Size Uploaded
tessera_report-0.5.0.tar.gz 3.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tessera-report 0.5.0
File Interpreter ABI Platform
tessera_report-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.0 MB

Release files / tessera_report-0.5.0.tar.gz

Download URL tessera_report-0.5.0.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
dbd25519d063d7882fd5177121e30aaeaca8cc686c2b6197e62dd221edbcc663
BLAKE2b-256 checksum
How to use checksums
e582da34a24305f026c5edd3cda9b7546332433890d746f08a5fd73a1a4000e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / tessera_report-0.5.0-py3-none-any.whl

Download URL tessera_report-0.5.0-py3-none-any.whl
Size 3.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c6efa60b81dbc29d1b53bb599c927c02944434b29d56211aee4e52dc8bb7c28b
BLAKE2b-256 checksum
How to use checksums
746786673bb674fe005ded160f50605789800ab2aac015fd7b35fade0be93ac3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page