mirror of
https://github.com/allenai/olmocr.git
synced 2025-09-03 22:06:16 +00:00
28 lines
784 B
Python
28 lines
784 B
Python
import os
|
|
from dataclasses import dataclass
|
|
from typing import Optional
|
|
|
|
|
|
@dataclass
|
|
class BeakerState:
|
|
job_id: Optional[str] = None
|
|
job_kind: Optional[str] = None
|
|
task_id: Optional[str] = None
|
|
experiment_id: Optional[str] = None
|
|
replica_rank: Optional[str] = None
|
|
leader_replica_hostname: Optional[str] = None
|
|
leader_replica_node_id: Optional[str] = None
|
|
user_id: Optional[str] = None
|
|
|
|
def __post_init__(self):
|
|
for key, value in os.environ.items():
|
|
if not key.startswith("BEAKER_"):
|
|
continue
|
|
setattr(self, key.lstrip("BEAKER_").lower(), value)
|
|
|
|
@property
|
|
def url(self) -> Optional[str]:
|
|
if self.job_id:
|
|
return f"https://beaker.org/jobs/{self.job_id}"
|
|
return None
|