Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adept/hledger-sankey
Python3 (pandas, plotly) script to plot income vs expense money flows from hledger ledger
https://github.com/adept/hledger-sankey
Last synced: about 1 month ago
JSON representation
Python3 (pandas, plotly) script to plot income vs expense money flows from hledger ledger
- Host: GitHub
- URL: https://github.com/adept/hledger-sankey
- Owner: adept
- License: bsd-3-clause
- Created: 2019-09-12T19:35:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-17T10:18:05.000Z (7 months ago)
- Last Synced: 2024-10-31T21:51:34.725Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 479 KB
- Stars: 26
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - adept/hledger-sankey - Script + html files to plot income vs expense money flows from hledger ledger (others)
README
# hledger-sankey
A python3 script (that uses pandas and plotly) to plot three graphs:- treemap graph of all expenses
- sankey graph of income vs expense money flows
- sankey graph of money flows between income, expenses, assets and liabilities account categories
# Usage it
Run `python3 sankey.py example.journal`, and this should open the page with interactive graphs in your browser.# Try it
Repository contains `sankey.csv` generated out of slighly edited `Cody.journal` from hledger examples.# Assumptions
This is a proof of concept, and it is a bit rough round the edges.Patches to make it more robust are very welcome
Script makes a bunch of assumptions:
- `hledger` is in your path
- income, expenses, assets and liabilities categories in
your chart of accounts are named exactly this- your balances could be obtained in '£' via `--cost --value=then,£` flags for `hledger balance`.
If these assumptions do not hold for you, edit the script.
# How would it look like
![Graphs generated from example.journal](example.png)