from dataclasses import dataclass from typing import Mapping @dataclass(frozen=True) class AbriConfig: endpoint_url: str username: str password: str default_resource: str @classmethod def from_env(cls, env: Mapping[str, str]) -> "AbriConfig": return cls( endpoint_url=env["ABRI_RELAY_URL"], username=env["ABRI_RELAY_USERNAME"], password=env["ABRI_RELAY_PASSWORD"], default_resource=env["ABRI_RELAY_DEFAULT_RESOURCE"], )