Skip to main content

bored-charts

Build easy, minimal, PDF-able data reports with markdown and python.

The idea is you do your analysis in Python, as you normally would, and dumping your figures into a nice report written in markdown is now super low-effort: you decorate the function to generate the figure (that you already wrote when doing your analysis) and it becomes available to bored-charts so you can present your findings clearly.

Minimal example

Install bored-charts and uvicorn:

pip install bored-charts uvicorn

Create your app

# main.py

from pathlib import Path

import plotly.express as px
import plotly.graph_objects as go
from boredcharts import FigureRouter, boredcharts

figures = FigureRouter()


@figures.chart("population")
async def population(country: str) -> go.Figure:
    df = px.data.gapminder().query(f"country=='{country}'")
    fig = px.bar(df, x="year", y="pop")
    return fig


app = boredcharts(pages=Path(__file__).parent, figures=figures)

Write a markdown report

<!-- populations.md -->

## Populations

USA's population has been growing linearly for the last 70 years:

{{ figure("population", country="United States") }}

Run your app

uvicorn main:app --reload

🎉Now you can view your reports at http://localhost:8000!

Going further

A more full project structure might look like this (see the full example here):

my-reports
├── analysis          <-- do your analysis and define your figures
│   ├── __init__.py
│   ├── figures.py
│   └── ...
├── pages             <-- write your markdown reports
│   ├── example.md
│   └── ...
├── app.py            <-- spin up the bored-charts app
├── pyproject.toml
└── README.md

Supported charting libraries

Extensibility

The bored-charts app is just a FastAPI (ASGI) app, so you can integrate it into your existing projects or extend it as needed with existing solutions (e.g., adding authentication).

Roadmap

See the Github repo

Release files for bored-charts 0.13.1

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

Source distribution (sdist)

Source distribution for bored-charts 0.13.1
File Size Uploaded
bored_charts-0.13.1.tar.gz 161.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bored-charts 0.13.1
File Interpreter ABI Platform
bored_charts-0.13.1-py3-none-any.whl Python 3 none any Details

Total release size: 327.0 kB

Release files / bored_charts-0.13.1.tar.gz

Download URL bored_charts-0.13.1.tar.gz
Size 161.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e129458a7f68fcd10dd5e9b498e9484db45c6c18d1084c879d27f5dce3d77bbb
BLAKE2b-256 checksum
How to use checksums
ae2fdbf3690fdc4e3f41074224b3db3a6ef9035086b14255dc1a8e297c6645fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.5

Release files / bored_charts-0.13.1-py3-none-any.whl

Download URL bored_charts-0.13.1-py3-none-any.whl
Size 165.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
585c8daadd12ca8c5809a7f88fa1cc1b4cf0039231d7b6d398b969ed2a10e6f8
BLAKE2b-256 checksum
How to use checksums
ba06e640404ff9b452a06a0d1691900e0c41365fac3c41c982f2b9d6ac647ded
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.5

Release history Release notifications | RSS feed

This release

0.13.1 This release

2 release files

0.13.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.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