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
Metadata
Release files for report-creator 1.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| report_creator-1.2.6.tar.gz | 88.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| report_creator-1.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 160.5 kB
Release files / report_creator-1.2.6.tar.gz
| Download URL | report_creator-1.2.6.tar.gz |
|---|---|
| Size | 88.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2d57d8838b5053306cb10fdae20ac1b7bc28ea561ac77b6307ee2b4b74db05a3
|
|
BLAKE2b-256 checksum How to use checksums |
6673e659115bd9877f48b404d9ceea0c939d795e76b17c537d0ec0643940f88f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / report_creator-1.2.6-py3-none-any.whl
| Download URL | report_creator-1.2.6-py3-none-any.whl |
|---|---|
| Size | 72.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
23a42a6443970829356272122d2d2034e7d62fc8fe512587d907f9cf9752bf9f
|
|
BLAKE2b-256 checksum How to use checksums |
f55b88531aea0ecb1a4aaae4256125755dbf19e148ea6ce903288ae445823005
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|