Skip to main content

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

Metadata

Release files for wealth-os 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wealth-os 0.1.2
File Size Uploaded Provenance Actions
wealth_os-0.1.2.tar.gz 246.9 kB With provenance Details for wealth_os-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for wealth-os 0.1.2
File Interpreter ABI Platform Actions
wealth_os-0.1.2-py3-none-any.whl Python 3 none any Details for wealth_os-0.1.2-py3-none-any.whl

Total release size: 446.5 kB

Release files / wealth_os-0.1.2.tar.gz

Download URL wealth_os-0.1.2.tar.gz
Size 246.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b4c4af76351b584c3798437605562d24d3a5d2ad4fa2571cac59cfea09a80fac
BLAKE2b-256 checksum
How to use checksums
dbbdb32fcfcef04ad787e246b51639363d01430a66810226f4f229d78bae16e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2025.

Transparency log

Release files / wealth_os-0.1.2-py3-none-any.whl

Download URL wealth_os-0.1.2-py3-none-any.whl
Size 199.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d189c1b9d7bd0541737e49da05da1eaa2a2b189ef4329bb82499d90d19ef3c4
BLAKE2b-256 checksum
How to use checksums
b29cbedc9ffc4976664ca5e5569957b4b38d3cfc4e81e44f36038529c499651e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2025.

Transparency log

Security for wealth-os 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for wealth_os-0.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page