Skip to content

Commit 29bf5ef

Browse files
authored
add optional token param in MetaculusClient.__init__ (#181)
1 parent 095a131 commit 29bf5ef

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

forecasting_tools/helpers/metaculus_client.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,13 @@ def __init__(
151151
timeout: int = 30,
152152
sleep_seconds_between_requests: float = 3.5,
153153
sleep_jitter_seconds: float = 1,
154+
token: str | None = None,
154155
):
155156
self.base_url = base_url
156157
self.timeout = timeout
157158
self.sleep_time_between_requests_min = sleep_seconds_between_requests
158159
self.sleep_jitter_seconds = sleep_jitter_seconds
160+
self.token = token
159161

160162
@retry_with_exponential_backoff()
161163
def get_user_bots(self) -> list[UserResponse]:
@@ -565,9 +567,9 @@ def get_needs_update_questions(
565567
return result
566568

567569
def _get_auth_headers(self) -> dict[str, dict[str, str]]:
568-
METACULUS_TOKEN = os.getenv("METACULUS_TOKEN")
570+
METACULUS_TOKEN = self.token or os.getenv("METACULUS_TOKEN")
569571
if METACULUS_TOKEN is None:
570-
raise ValueError("METACULUS_TOKEN environment variable not set")
572+
raise ValueError("METACULUS_TOKEN environment variable or field not set")
571573
return {
572574
"headers": {
573575
"Authorization": f"Token {METACULUS_TOKEN}",

0 commit comments

Comments
 (0)