Skip to main content

fava-portfolio-returns shows portfolio returns in Fava

Project description

Fava Portfolio Returns

Continuous Integration PyPI

fava-portfolio-returns shows portfolio returns in the Fava web interface. It leverages beangrow to categorize transactions and calculate the portfolio returns of a beancount ledger.

Portfolio Performance Returns Dividends Cash Flows Groups

Installation

pip install fava-portfolio-returns

Usage

Please setup beangrow first, using this guide: https://beancount.github.io/docs/calculating_portolio_returns.html.

Enable this plugin in Fava by adding the following lines to your ledger:

2010-01-01 custom "fava-extension" "fava_portfolio_returns" "{
  'beangrow_config': 'beangrow.pbtxt'
}"

Configuration

The plugin supports the following configuration options:

2010-01-01 custom "fava-extension" "fava_portfolio_returns" "{
  'beangrow_config': 'beangrow.pbtxt',
  'pnl_color_scheme': 'green-red',
  'beangrow_debug_dir': 'path/to/debug/directory'
}"

Available options for pnl_color_scheme:

  • green-red: Green for profits, red for losses
  • red-green: Red for profits, green for losses

The default value is automatically selected based on the browser's locale: Chinese and Japanese regions use red-green by default, all other regions use green-red.

View Example Ledger

cd example; fava example.beancount

Contributing

This plugin consists of a Python backend and a React frontend.

Install uv and Node.js 22, run make deps to install the dependencies, and make dev to run the Fava dev server with auto-rebuild.

Before submitting a PR, please run make build to build the frontend in production mode, and add the compiled frontend to the PR.

Related Projects

Acknowledgements

Thanks to Martin Blais and all contributors of beancount and beangrow, Jakob Schnitzer, Dominik Aumayr and all contributors of Fava, and to all contributors of Apache ECharts.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fava_portfolio_returns-2.2.0.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fava_portfolio_returns-2.2.0-py3-none-any.whl (822.8 kB view details)

Uploaded Python 3

File details

Details for the file fava_portfolio_returns-2.2.0.tar.gz.

File metadata

  • Download URL: fava_portfolio_returns-2.2.0.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fava_portfolio_returns-2.2.0.tar.gz
Algorithm Hash digest
SHA256 3f31a39d5272117c8fb3a278f0e63f611d3c1043a3ba06c46bf959ebb4f34a15
MD5 519c022dad7dfd190f69f6fe74ce9b6f
BLAKE2b-256 0a23cf68c6832ee8c949365026913cfffd69429954113bd70b5fd138df539231

See more details on using hashes here.

Provenance

The following attestation bundles were made for fava_portfolio_returns-2.2.0.tar.gz:

Publisher: release.yml on andreasgerstmayr/fava-portfolio-returns

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fava_portfolio_returns-2.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fava_portfolio_returns-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0baffbd3db30b4b6e3dd8b8098233037b9790839e7db35cc248294b7a8745164
MD5 b7b02a7c6104ad92e25e915d627c8fd1
BLAKE2b-256 d1d805fedc6e1e3e92729e67f4608a1f15a8dc6350b504613fb148fe3b0642ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for fava_portfolio_returns-2.2.0-py3-none-any.whl:

Publisher: release.yml on andreasgerstmayr/fava-portfolio-returns

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page