Report Creator

GitHub |
PyPI |
Documentation |
Issues |
Getting Started
Library to assemble reports in HTML from various components using python. This is not meant to be a replacement for do-it-yourself HTML,
it's a tool to put together professional looking reports from python easily and quickly. The philosophy for layout is that components flow in
either the horizontal (rc.Group
) or Vertical (rc.Block
) direction.
⚡ Features
⚡ Example
import report_creator as rc
with rc.ReportCreator(
title="My Report",
description="My Report Description",
footer="My Report Footer",
) as report:
view = rc.Block(
rc.Text(
"""It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of light, it was the season of darkness, it was the spring of hope, it was the winter of despair.""",
label="Charles Dickens, A Tale of Two Cities",
),
rc.Group(
rc.Metric(
heading="Answer to Life, The Universe, and Everything",
value="42",
),
rc.Metric(
heading="Author",
value="Douglas Adams",
),
),
rc.Bar(
px.data.medals_long(),
x="nation",
y="count",
dimension="medal",
label="Bar Chart - Olympic Medals",
),
rc.Scatter(
px.data.iris(),
x="sepal_width",
y="sepal_length",
dimension="species",
marginal="histogram",
label="Scatter Plot - Iris",
),
)
report.save(view, "report.html")
🤗 Code Structure
graph TD
subgraph "UI"
API[Report Creator API]
COMP[Components]
API --> COMP
end
subgraph "Core"
RC[Engine]
TS[Templates]
TM[Themes]
CR[Renderer]
RC --> TS
RC --> TM
RC --> CR
COMP --> CR
end
subgraph "Integration"
PL[Plotting]
MD[Markdown]
SH[Syntax]
MJ[Mermaid]
JW[Jupyter]
CR --> PL
CR --> MD
CR --> SH
CR --> MJ
CR --> JW
end
subgraph "Output"
HG[HTML]
AB[Assets]
DT[Template]
CR --> HG
HG --> AB
TS --> DT
DT --> HG
end
subgraph "Utils"
UT[Utils]
VM[Version]
PI[Init]
RC --> UT
RC --> VM
RC --> PI
end
classDef core fill:#2374ab,color:white
classDef integration fill:#47a025,color:white
classDef output fill:#a442f5,color:white
classDef utility fill:#f58442,color:white
class API,RC,TS,TM,CR core
class PL,MD,SH,MJ,JW integration
class HG,AB,DT output
class UT,VM,PI utility
click RC "https://github.com/darenr/report_creator/blob/main/report_creator/report_creator.py"
click TS "https://github.com/darenr/report_creator/tree/main/report_creator/templates/"
click TM "https://github.com/darenr/report_creator/blob/main/report_creator/theming.py"
click UT "https://github.com/darenr/report_creator/blob/main/report_creator/utilities.py"
click COMP "https://github.com/darenr/report_creator/blob/main/tests/test_components.py"
click DT "https://github.com/darenr/report_creator/blob/main/report_creator/templates/default.html"
click VM "https://github.com/darenr/report_creator/blob/main/report_creator/__version__.py"
click PI "https://github.com/darenr/report_creator/blob/main/report_creator/__init__.py"
🤗 Development
conda create --name rc python=3.13
conda activate rc
make setup
make format
python3 -m pip install -e .
pipdeptree --exclude pip,pipdeptree,setuptools,wheel,twine
make examples
make examples EXAMPLES=examples/myreport.py
make tests
make docs
make release
make targets
Get in touch
This project is under active development