Build easy, minimal, PDF-able data reports with markdown and python.
- custom figures for individual reports using path parameters
- dynamic figure sizing using flexbox
- installable as a framework
- example project
- separate pyproject.toml for lib and example
- publish to pypi
- less boilerplate to register figure endpoints
- @bored_router.chart decorator
- allow decoration of functions that return figures directly
- make report_name path parameter optional
- altair figures as html
- matplotlib figures as png (drop mpld3)
- allow nested pages for grouping reports
- matplotlib figures as svg?
- support python 3.10, 3.11
- make plotting libraries optional
- pdf exports with selenium in headless mode
- ability to archive reports (export to static html, move to archive directory, still serve from archive directory, but can get rid of analysis—could just be archive endpoints for figures?)
- cli? (
boredcharts init
,boredcharts export [report]
,boredcharts dev
,boredcharts serve
) - deploy to bored-charts-example.oliverlambson.com
- dashboard layout with tighter grid layout
- example with database
- example with authentication
See bored-charts/README.md (you're currently reading the development README).
You'll need uv. (and node for linting/formatting, sorry)
make env # you need uv & node for this
make test
make lint
make fmt
I recommend running the full example project to see how everything fits together:
cd examples/full
make dev
Inspired by evidence.dev, observable framework, and rill, but: (1) I wanted to use python for data analysis and charting, (2) I didn't want a static site, and (3) I didn't want to pay for deployment.
You could also achieve something similar with pandoc and nbconvert, see examples/_alternatives for more.