WebSankey is a web app to visualize charts, diagrams, and reports from double-entry bookkeeping CSV files (GnuCash exports).
- Backend: Python 3.12 + Flask
- Rendering: Plotly (server-side HTML for interactive charts)
- UI: HTML, CSS, HTMx, minimal JavaScript
- Upload accounts tree CSV and bookkeeping CSV
- Sankey diagram rendering (Net/Detailed modes, interactive)
- Date range filtering
- Local history of last 10 renders (JSON)
- Light/Dark/System theme toggle
- Python 3.12
/opt/homebrew/bin/python3.12 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt. .venv/bin/activate
python server.pyThe server runs on http://127.0.0.1:5000 by default.
- Open your browser at
http://127.0.0.1:5000. - Upload both CSV files and click Render.
. .venv/bin/activate
python -m unittest discover -s tests- CSV files are provided via upload forms, no fixed file paths are required.
- History is stored in
data/history.json.
Powered by Codex (GPT-5) under human supervision.