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.1.0.tar.gz (2.6 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.1.0-py3-none-any.whl (683.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fava_portfolio_returns-2.1.0.tar.gz
  • Upload date:
  • Size: 2.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 9c3c77a5fb27b5b614dc23a76925633666275afa19e5020324128d751dc08de8
MD5 12f6e0578f409187defbfba18336ac75
BLAKE2b-256 1559b7119e06085c362a8dce3f98fa04114454811b856c1b9c539448a783695c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fava_portfolio_returns-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72d34ed5deef76c11015d51cf0af89ba41537227d249c2bc198e63b93e345ca7
MD5 71a5c06e799ebc2e14aad6859d56edf2
BLAKE2b-256 f54b134a35cca73e09e79c7115133918638dd5d2573148aeb99fb60bfed42ed5

See more details on using hashes here.

Provenance

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