Personal market health dashboard with CLI, macOS menu bar app, and iOS app.
python -m venv .venv
source .venv/bin/activate
pip install -e .
marketpulse snapshot
marketpulse runmarketpulse --help
marketpulse snapshot
marketpulse runShared SwiftUI core + views live in shared/MarketPulseShared and are consumed by:
- macOS menu bar app in
macos/MarketPulseBar - iOS app in
ios/MarketPulseApp
- Download the latest
MarketPulseBar.app.zipfrom GitHub Releases. - Unzip and move
MarketPulseBar.appto/Applications. - Open it (first run: right-click → Open).
cd macos/MarketPulseBar
swift build
swift runOpen ios/MarketPulseApp/MarketPulseApp.xcodeproj in Xcode and run on a simulator or device.
The iOS app fetches data from Stooq + FRED (network-only) and supports pull-to-refresh.
If macOS reports the app is "damaged", it is usually Gatekeeper quarantining an unsigned app.
After moving the app to /Applications, run:
xattr -dr com.apple.quarantine /Applications/MarketPulseBar.app- Place manual CSVs in
~/.marketpulse/data/. - Supported filenames:
SPY.csv,RSP.csv(OHLCV with adatecolumn)breadth.csv(columns:date,advances,declines,new_highs,new_lows)
If no local data is available, the CLI will attempt to fetch from free sources.
Issues and PRs are welcome. For larger changes, please open an issue to discuss scope first.
- Python package versions live in
pyproject.toml. - Swift app builds are published as GitHub Releases.
- Create a release by pushing a tag, for example:
git tag v0.1.0
git push origin v0.1.0