A secure, production-oriented desktop monitor for the TopstepX gateway. The application polls user and market hub endpoints, validates payloads, and presents live updates in a Tkinter GUI.
- Configurable gateway base URL and endpoints with strict validation.
- Concurrent, asynchronous polling of user and market data streams.
- Enterprise-focused logging and error reporting.
- Background worker with thread-safe communication to the GUI thread.
- Typed data models enforcing payload structure and datetime parsing.
- Python 3.11 or newer (codebase targets Python 3.13 compatibility).
- Dependencies managed through pyproject.toml.
Install dependencies in an isolated environment:
python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]python -m topstepx_gui.app --base-url https://api.topstepx.example.com --use-envEnvironment variables prefixed with TOPSTEPX_ can provide credentials and overrides:
- TOPSTEPX_BASE_URL
- TOPSTEPX_USER_ENDPOINT
- TOPSTEPX_MARKET_ENDPOINT
- TOPSTEPX_TOKEN
- TOPSTEPX_TIMEOUT
- TOPSTEPX_REFRESH_INTERVAL
Run the automated test suite before shipping changes:
pytest- TLS is enforced for HTTPS endpoints and bearer tokens remain in-memory.
- Configuration inputs are validated and normalized before use.
- GUI updates and background fetches are guarded with logging and safe defaults.