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.3.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.3.0-py3-none-any.whl (824.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fava_portfolio_returns-2.3.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.3.0.tar.gz
Algorithm Hash digest
SHA256 54b490fd56e1f50717016ef1fbbeabcec2c0eebfad7a46d1788df1276f1414ae
MD5 be881cac044041305d2b0f5289aa8181
BLAKE2b-256 fb313272ad009d1ecad7b6c87046697577e6c274cdf73b6183fb23478380ba0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fava_portfolio_returns-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4d947eb809041371650ebf95318cf3488771f7aebb9a14da59e1682c261d88c
MD5 98509706f67bc71876173a463aa1f7d0
BLAKE2b-256 1a76dceb7148ae20be4aa0f7709c14ebe59ec190288b139117643a73d64ff079

See more details on using hashes here.

Provenance

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