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.4.0.tar.gz (2.9 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.4.0-py3-none-any.whl (882.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fava_portfolio_returns-2.4.0.tar.gz
  • Upload date:
  • Size: 2.9 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.4.0.tar.gz
Algorithm Hash digest
SHA256 e8bf8ea45156a55049cf40583d11dc6c04e3c5c061a42e2a0364f3b98ae7c3b5
MD5 220da010526dfc2c3fedee20da482438
BLAKE2b-256 a1d1b61a0ce9d078d27928fa21db3c762c2e117e658ae3877e2a37f093f2a166

See more details on using hashes here.

Provenance

The following attestation bundles were made for fava_portfolio_returns-2.4.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.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fava_portfolio_returns-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1dba4d8ddd3b0a43614b77c447a2b6e8c061fe5ba91be1e078f010217b78485d
MD5 cbf23ccd4dd80056cc0c9dc520c86fd1
BLAKE2b-256 dbb3cef213464e9cdd7ac9e9b0cc67e831182d64c960bdfef53b064724619f19

See more details on using hashes here.

Provenance

The following attestation bundles were made for fava_portfolio_returns-2.4.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