"""Tradier brokerage mirror of the Alpaca execution surface. Redundancy path: if the Alpaca live account stays blocked, the live loop can switch brokers with BROKER=tradier (+ TRADIER_* env). The client exposes the same method names/signatures as AlpacaPaperClient for every trading call the live loop uses, and returns Alpaca-SHAPED dicts, so trading_execution, runtime/exit_manager, runtime/flatten, alpaca_paper.sync and alpaca_paper.execution all run unchanged. Market data (bars, screeners, quotes, news) stays on Alpaca — data keys work without a live brokerage account — via an injected AlpacaPaperClient the Tradier client delegates data calls to. """ from tradier_broker.client import TradierApiError, TradierClient from tradier_broker.settings import TradierSettings __all__ = ["TradierClient", "TradierApiError", "TradierSettings"]