Metadata-Version: 2.4
Name: elevate-monitor
Version: 0.1.0
Summary: ElevateMind monitoring SDK — stream your trading bot's signals, fills and risk to a live dashboard.
Author-email: ElevateMind Studio <hello@elevatemindstudio.net>
License: MIT
Project-URL: Homepage, https://elevatemindstudio.net
Project-URL: Dashboard, https://app.elevatemindstudio.net
Project-URL: Documentation, https://elevatemindstudio.net/docs/
Project-URL: Bug Tracker, https://elevatemindstudio.net/contact/
Keywords: trading,algo,futures,monitoring,backtesting,prop-firm,rithmic,topstep
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# elevate-monitor

Zero-dependency Python SDK to stream your trading bot's activity to ElevateMind.

```bash
pip install elevate-monitor   # (local: pip install -e .)
```

```python
from elevate import Monitor

mon = Monitor(api_key="em_live_…", bot="olivera_es", mode="live")

mon.signal(sym="ES", side="long", reason="NR7_breakout", price=5100.25, vol_z=2.1)
mon.order(sym="ES", side="buy", qty=3, type="market")
mon.fill(sym="ES", qty=3, price=5100.50, slip_ticks=1)
mon.exit(sym="ES", qty=3, price=5104.25, pnl=187.50, reason="target")
mon.risk(daily=-180.0, trailing_used=360.0, halted=False)
mon.halt(reason="daily_loss_limit")
```

- **Non-blocking:** events queue and send from a background thread; calls never
  add latency to your trading loop.
- **Fail-silent:** if ElevateMind is unreachable, your bot keeps trading and
  events are dropped — the SDK never raises.
- **No broker access:** it only sends the events you emit. It never sees your
  broker credentials.

Call `mon.close()` on shutdown to flush remaining events.
