11from __future__ import annotations
22
33import json
4+ import os
45import time
56from contextlib import asynccontextmanager
67from datetime import date , datetime
@@ -251,8 +252,10 @@ class Session(AsyncContextManagerMixin):
251252
252253 Prefer using with its async context manager to ensure proper cleanup.
253254
254- :param provider_secret: OAuth secret for your provider
255- :param refresh_token: refresh token for the user
255+ :param provider_secret:
256+ OAuth secret for your provider; defaults to the $TT_SECRET environment variable
257+ :param refresh_token:
258+ refresh token for the user; defaults to the $TT_REFRESH environment variable
256259 :param is_test:
257260 whether to use the test API endpoints, default False
258261 :param proxy:
@@ -265,8 +268,8 @@ class Session(AsyncContextManagerMixin):
265268
266269 def __init__ (
267270 self ,
268- provider_secret : str ,
269- refresh_token : str ,
271+ provider_secret : str | None = None ,
272+ refresh_token : str | None = None ,
270273 is_test : bool = False ,
271274 proxy : str | None = None ,
272275 ** client_kwargs : Any ,
@@ -276,9 +279,9 @@ def __init__(
276279 #: Proxy URL to use for requests and web sockets
277280 self .proxy = proxy
278281 #: OAuth secret for your provider
279- self .provider_secret = provider_secret
282+ self .provider_secret = provider_secret or os . environ [ "TT_SECRET" ]
280283 #: Refresh token for the user
281- self .refresh_token = refresh_token
284+ self .refresh_token = refresh_token or os . environ [ "TT_REFRESH" ]
282285 # The headers to use for API requests
283286 headers = {"Accept" : "application/json" , "Content-Type" : "application/json" }
284287 if not is_test : # not accepted in sandbox
0 commit comments