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 syncto install local deps into the virtualenv
Quick Start
- Configure environment
- Copy
.env.exampleto.env - Set
COINMARKETCAP_API_KEY=...and/orCOINDESK_API_KEY=...for price data (optional) - Optionals:
WEALTH_DB_PATH=wealth.db,WEALTH_BASE_CURRENCY=USD
- Initialize the DB
wealth init- Seed demo data (optional):
wealth seed
- Run API + UI
- Production UI:
wealth ui- Force rebuild if needed:
wealth ui --build - Custom ports:
wealth ui --ui-port 4000 --api-port 8002
- Force rebuild if needed:
- 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
versioninpyproject.tomland update changelog if applicable - Build artifacts:
python -m pip install --upgrade build twinepython -m build# createsdist/*.tar.gzanddist/*.whltwine 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.