Create self-contained HTML reports from Python.
Project description
Report Creator
Build polished, self-contained HTML reports from Python in minutes.
Report Creator helps you turn DataFrames, charts, markdown, metrics, and diagrams into a single professional HTML file. No web app or frontend stack required.
- Website: GitLab
- Package: PyPI
- Docs: Read the Docs
- Examples:
examples/
Table of Contents
Why Report Creator
Use Report Creator when you want to:
- Keep report generation in pure Python.
- Combine data + narrative + charts in one deliverable.
- Share outputs that are self-contained HTML files.
- Build reusable internal reporting workflows quickly.
This project is not trying to replace custom web apps. It gives you a fast, structured path to clean reporting output with minimal code.
Quickstart
1) Install
python -m pip install report_creator -U
2) Create your first report
import plotly.express as px
import report_creator as rc
with rc.ReportCreator(
title="My First Report",
description="A quick report generated from Python",
footer="Built with report_creator",
) as report:
view = rc.Block(
rc.Markdown("## Hello report"),
rc.Group(
rc.Metric(heading="Rows", value=len(px.data.iris())),
rc.Metric(heading="Source", value="Plotly datasets"),
),
rc.Scatter(
px.data.iris(),
x="sepal_width",
y="sepal_length",
dimension="species",
label="Iris overview",
),
)
report.save(view, "report.html")
3) Open the output
python my_report.py
open report.html # macOS
# xdg-open report.html # Linux
4) Explore complete examples
PYTHONPATH=. python examples/kitchen_sink.py
See examples/README.md for a guided map of all example scripts.
Common Patterns
Dashboard-style layout
view = rc.Block(
rc.Heading("Executive Summary", level=2),
rc.Group(
rc.Metric(heading="Revenue", value="$1.2M"),
rc.Metric(heading="Growth", value="+14%"),
rc.Metric(heading="Churn", value="2.1%"),
),
rc.Separator(),
rc.Line(df, x="date", y="revenue", label="Revenue Trend"),
)
Chart + details tab view
view = rc.Select(
blocks=[
rc.Bar(df, x="team", y="score", label="Chart"),
rc.DataTable(df, label="Data", index=False),
],
label="Performance",
)
Presentation mode with slides
view = rc.Deck(
rc.Slide(rc.Block(rc.Heading("QBR"), rc.Markdown("### Highlights")), theme="modern:#3b82f6"),
rc.Slide(rc.Block(rc.Widget(fig), rc.Markdown("### Forecast")), theme="circles:#0ea5e9"),
)
Feature Highlights
- Layout system with
rc.Block()(vertical) andrc.Group()(horizontal) - Interactive data components like
rc.DataTable()andrc.Select()tabs - Rich text support via GFM markdown, code blocks, and Mermaid diagrams
- Visualization support for Plotly, Matplotlib, Seaborn, Radar, Timeline, Gauge, Bullet, and more
- Self-contained output that bundles required assets into a single HTML file
Examples
- Browse generated outputs in
examples/*.html - Run all example scripts:
make examples
- Run one example script:
PYTHONPATH=. python examples/workflow_example.py
For details, see examples/README.md.
Development
conda create -n rc -c conda-forge python=3.13
conda activate rc
make setup
# recommended for code hygiene
make format
# run tests
make tests
# build docs
make doc
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file report_creator-1.2.6.tar.gz.
File metadata
- Download URL: report_creator-1.2.6.tar.gz
- Upload date:
- Size: 88.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d57d8838b5053306cb10fdae20ac1b7bc28ea561ac77b6307ee2b4b74db05a3
|
|
| MD5 |
db7e21a37122978bcd5a5ebb3e8a8401
|
|
| BLAKE2b-256 |
6673e659115bd9877f48b404d9ceea0c939d795e76b17c537d0ec0643940f88f
|
File details
Details for the file report_creator-1.2.6-py3-none-any.whl.
File metadata
- Download URL: report_creator-1.2.6-py3-none-any.whl
- Upload date:
- Size: 72.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23a42a6443970829356272122d2d2034e7d62fc8fe512587d907f9cf9752bf9f
|
|
| MD5 |
a600fee2c6e43a0ca4f1f21729250b70
|
|
| BLAKE2b-256 |
f55b88531aea0ecb1a4aaae4256125755dbf19e148ea6ce903288ae445823005
|