Skip to main content

Create self-contained HTML reports from Python.

Project description

Report Creator

Build polished, self-contained HTML reports from Python in minutes.

PyPI Version Python Versions Read the Docs License

Report Creator helps you turn DataFrames, charts, markdown, metrics, and diagrams into a single professional HTML file. No web app or frontend stack required.

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) and rc.Group() (horizontal)
  • Interactive data components like rc.DataTable() and rc.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

report_creator-1.2.6.tar.gz (88.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

report_creator-1.2.6-py3-none-any.whl (72.3 kB view details)

Uploaded Python 3

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

Hashes for report_creator-1.2.6.tar.gz
Algorithm Hash digest
SHA256 2d57d8838b5053306cb10fdae20ac1b7bc28ea561ac77b6307ee2b4b74db05a3
MD5 db7e21a37122978bcd5a5ebb3e8a8401
BLAKE2b-256 6673e659115bd9877f48b404d9ceea0c939d795e76b17c537d0ec0643940f88f

See more details on using hashes here.

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

Hashes for report_creator-1.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 23a42a6443970829356272122d2d2034e7d62fc8fe512587d907f9cf9752bf9f
MD5 a600fee2c6e43a0ca4f1f21729250b70
BLAKE2b-256 f55b88531aea0ecb1a4aaae4256125755dbf19e148ea6ce903288ae445823005

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page