"""exsdk 1.1.2 example. Requires EXSDK_TOKEN; no credentials are embedded."""
import os
from exsdk import ExApi

with ExApi(os.environ["EXSDK_TOKEN"]) as api:
    symbols = api.query_symbols("FUTURE", exchange_id="SHFE", is_main=True)
    if not symbols:
        raise RuntimeError("No matching futures contracts")
    quote = api.watch_quote(symbols[0])
    while api.wait_update():
        if quote.is_changing("last_price"):
            q = quote.data()
            print(q.symbol, q.timestamp, q.last_price)
