Sentinel Lite is a desktop trading workstation built with PySide6, PyQtGraph, and qasync.
Current focus:
- live charting
- chart + orderflow composite view
- DOM and depth/orderbook tooling
- dockable Qt workspace with layout persistence
- shared async market-data runtime
uv sync --group devuv run python -m sentineluv run python -m pytestSentinel is a dock-based workspace.
Primary active widgets:
ChartChart + OrderflowDOMOrderbook
Important behavior:
- each chart widget owns its own
Symbol,Timeframe,Mode, andBubblesstate - chart and chart+orderflow widgets do not share market controls globally
- layout and widget state persist across restarts when the saved layout version matches
sentinel/app- Qt shell
- main window
- layout persistence
- widget registry
- runtime/signal bridge
sentinel/widgets- chart panes and dock widgets
- chart-local toolbars
- chart+orderflow composite
- DOM and orderbook widgets
sentinel/core- streaming runtime
- task management
- exchange/data access
- signals
- cache/fetch infrastructure
sentinel/analysis- shared analytics and processors
- orderbook aggregation / ladder helpers
- Sentinel uses
qasyncand the external Qt event loop path. - High-frequency widgets use internal dirty-state models plus capped timer-based rendering.
- Rendering should not be driven directly by per-tick Qt signal spam.
- Dependencies are managed in
pyproject.toml - Use
uv - The active app is
sentinel
Useful checks:
uv run python -c "import sentinel, sentinel.app.runtime, sentinel.core.facade"
uv run python -m pytestContributor and agent operating guidance lives in AGENTS.md.
MIT. See LICENSE.
