Skip to main content

A comprehensive open-source wealth management tool.

Project description

WealthOS

WealthOS is a modern, privacy‑first portfolio tracker with a fast CLI, a clean web UI (Next.js), and extensible data sources. It focuses on crypto first and stays flexible for other assets.

Highlights

  • Clean dashboard with KPIs, allocation, P&L over time, top holdings, and recent activity
  • Multi‑account filtering, dark mode, centered responsive layout
  • Powerful transactions tables (edit in dialog, batch delete, sort/filter, column visibility)
  • Robust API (FastAPI) and CLI (Typer) for full control and automation
  • CSV import/export, charts, and PDF reports

Install

  • Python 3.11+ required
  • Optional for UI: Node.js 18+ (only needed to build/run the Next.js UI)

From PyPI (recommended):

  • pip install wealth-os
  • Or with pipx: pipx install wealth-os (great for a standalone CLI)

From source (developers):

  • uv sync to install local deps into the virtualenv

Quick Start

  1. Configure environment
  • Copy .env.example to .env
  • Set COINMARKETCAP_API_KEY=... and/or COINDESK_API_KEY=... for price data (optional)
  • Optionals: WEALTH_DB_PATH=wealth.db, WEALTH_BASE_CURRENCY=USD
  1. Initialize the DB
  • wealth init
  • Seed demo data (optional): wealth seed
  1. Run API + UI
  • Production UI: wealth ui
    • Force rebuild if needed: wealth ui --build
    • Custom ports: wealth ui --ui-port 4000 --api-port 8002
  • Dev UI: wealth ui --dev

CLI Essentials

  • Help: wealth --help
  • Accounts: wealth account add|list|update|remove
  • Transactions: wealth tx add|list|update|remove
  • Prices: wealth price quote|sync
  • Portfolio: wealth portfolio summary|chart
  • CSV: wealth import csv ... / wealth export csv ...
  • Reports: wealth report generate

Web UI Overview

  • Dashboard: KPIs, Portfolio Allocation, Realized P&L, Top Holdings by Value, Recent Activity
  • Accounts: Grid of accounts; click to open an account view
  • Account View: KPIs scoped to that account, allocation, P&L, volume, and a full transactions table
  • Transactions: Full DataTable with edit, delete, batch operations, filtering, column visibility

Design

  • Centered content on large screens; clean spacing; dark mode toggle in the sidebar
  • Accessible controls and meaningful labels (e.g., “Trade Volume (Buy vs Sell)”, “Recent Activity”)

Development

  • Run tests: uv run pytest -q
  • Lint/typecheck (suggested): ruff/mypy/eslint if you use them locally

Publish to PyPI

Maintainers: steps to cut a release.

  • Bump version in pyproject.toml and update changelog if applicable
  • Build artifacts:
    • python -m pip install --upgrade build twine
    • python -m build # creates dist/*.tar.gz and dist/*.whl
    • twine check dist/*
  • Optional: TestPyPI smoke test
    • twine upload -r testpypi dist/*
    • pip install -i https://test.pypi.org/simple wealth-os
  • Publish to PyPI
    • twine upload dist/*

After install, the CLI entry point is wealth (or run python -m wealth_os).

Licensing & Contributing

  • License: MIT (see LICENSE)
  • Contributions welcome — read CONTRIBUTING.md for guidelines

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

wealth_os-0.1.2.tar.gz (246.9 kB view details)

Uploaded Source

Built Distribution

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

wealth_os-0.1.2-py3-none-any.whl (199.6 kB view details)

Uploaded Python 3

File details

Details for the file wealth_os-0.1.2.tar.gz.

File metadata

  • Download URL: wealth_os-0.1.2.tar.gz
  • Upload date:
  • Size: 246.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wealth_os-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b4c4af76351b584c3798437605562d24d3a5d2ad4fa2571cac59cfea09a80fac
MD5 b3e9c78769c5326148e0fe856945d095
BLAKE2b-256 dbbdb32fcfcef04ad787e246b51639363d01430a66810226f4f229d78bae16e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for wealth_os-0.1.2.tar.gz:

Publisher: publish.yml on dowhiledev/wealth

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

File details

Details for the file wealth_os-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: wealth_os-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 199.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wealth_os-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2d189c1b9d7bd0541737e49da05da1eaa2a2b189ef4329bb82499d90d19ef3c4
MD5 9e974aa9a5007f7b40bb5d7f8a17fd3e
BLAKE2b-256 b29cbedc9ffc4976664ca5e5569957b4b38d3cfc4e81e44f36038529c499651e

See more details on using hashes here.

Provenance

The following attestation bundles were made for wealth_os-0.1.2-py3-none-any.whl:

Publisher: publish.yml on dowhiledev/wealth

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