Skip to content

Commit 3ea5a78

Browse files
daveeyrjwalters
andauthored
fix: remove setup_metta_environment aws and wandb checks (#1129)
### TL;DR Remove the AWS and Wandb credential checking functions from the codebase. [Asana Task](https://app.asana.com/1/1209016784099267/project/1210348820405981/task/1210632382857191) [Asana Task](https://app.asana.com/1/1209016784099267/project/1210348820405981/task/1210632060208346) --------- Co-authored-by: Robb Walters <robb@2amlogic.com>
1 parent 8742dc1 commit 3ea5a78

4 files changed

Lines changed: 2 additions & 53 deletions

File tree

metta/util/config.py

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
from __future__ import annotations
22

3-
import os
43
from typing import Any, Dict, Optional, TypeVar, cast
54

6-
import boto3
75
import hydra
8-
import wandb
9-
from botocore.exceptions import ClientError, NoCredentialsError
106
from omegaconf import DictConfig, ListConfig, OmegaConf
117
from pydantic import BaseModel
128

@@ -91,46 +87,3 @@ def config_from_path(config_path: str, overrides: Optional[DictConfig | ListConf
9187
cfg = OmegaConf.merge(cfg, overrides)
9288
OmegaConf.set_struct(cfg, True)
9389
return cast(DictConfig, cfg)
94-
95-
96-
def check_aws_credentials() -> bool:
97-
"""Check if valid AWS credentials are available from any source."""
98-
if "AWS_ACCESS_KEY_ID" in os.environ and "AWS_SECRET_ACCESS_KEY" in os.environ:
99-
# This check is primarily for github actions.
100-
return True
101-
try:
102-
sts = boto3.client("sts")
103-
sts.get_caller_identity()
104-
return True
105-
except (NoCredentialsError, ClientError):
106-
return False
107-
108-
109-
def check_wandb_credentials() -> bool:
110-
"""Check if valid W&B credentials are available."""
111-
if "WANDB_API_KEY" in os.environ:
112-
# This check is primarily for github actions.
113-
return True
114-
try:
115-
return wandb.login(anonymous="never", timeout=10)
116-
except Exception:
117-
return False
118-
119-
120-
def setup_metta_environment(cfg: ListConfig | DictConfig, require_aws: bool = True, require_wandb: bool = True):
121-
if require_aws:
122-
# Check that AWS is good to go.
123-
if not check_aws_credentials():
124-
print("AWS is not configured, please install:")
125-
print("brew install awscli")
126-
print("and run:")
127-
print("aws sso login --profile softmax")
128-
print("Alternatively, set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY in your environment.")
129-
exit(1)
130-
if cfg.wandb.enabled and require_wandb:
131-
# Check that W&B is good to go.
132-
if not check_wandb_credentials():
133-
print("W&B is not configured, please run:")
134-
print("wandb login")
135-
print("Alternatively, set WANDB_API_KEY or copy ~/.netrc from another machine that has it configured.")
136-
exit(1)

mettascope/replays.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from metta.agent.policy_store import PolicyStore
1111
from metta.sim.simulation import Simulation
1212
from metta.sim.simulation_config import SingleEnvSimulationConfig
13-
from metta.util.config import setup_metta_environment
1413
from metta.util.logging import setup_mettagrid_logger
1514
from metta.util.runtime_configuration import setup_mettagrid_environment
1615
from metta.util.wandb.wandb_context import WandbContext
@@ -49,7 +48,6 @@ def policy(self, *args):
4948

5049

5150
def create_simulation(cfg):
52-
setup_metta_environment(cfg)
5351
setup_mettagrid_environment(cfg)
5452

5553
logger = setup_mettagrid_logger("replay")

tools/replay.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from metta.agent.policy_store import PolicyStore
1212
from metta.sim.simulation import Simulation
1313
from metta.sim.simulation_config import SingleEnvSimulationConfig
14-
from metta.util.config import Config, setup_metta_environment
14+
from metta.util.config import Config
1515
from metta.util.logging import setup_mettagrid_logger
1616
from metta.util.runtime_configuration import setup_mettagrid_environment
1717
from metta.util.wandb.wandb_context import WandbContext
@@ -29,7 +29,6 @@ class ReplayJob(Config):
2929

3030
@hydra.main(version_base=None, config_path="../configs", config_name="replay_job")
3131
def main(cfg):
32-
setup_metta_environment(cfg)
3332
setup_mettagrid_environment(cfg)
3433

3534
logger = setup_mettagrid_logger("metta.tools.replay")

tools/train.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from app_backend.stats_client import StatsClient
1414
from metta.agent.policy_store import PolicyStore
1515
from metta.sim.simulation_config import SimulationSuiteConfig
16-
from metta.util.config import Config, setup_metta_environment
16+
from metta.util.config import Config
1717
from metta.util.heartbeat import record_heartbeat
1818
from metta.util.logging import setup_mettagrid_logger
1919
from metta.util.runtime_configuration import setup_mettagrid_environment
@@ -69,7 +69,6 @@ def train(cfg: ListConfig | DictConfig, wandb_run: WandbRun | None, logger: Logg
6969
@record
7070
@hydra.main(config_path="../configs", config_name="train_job", version_base=None)
7171
def main(cfg: ListConfig | DictConfig) -> int:
72-
setup_metta_environment(cfg)
7372
setup_mettagrid_environment(cfg)
7473

7574
record_heartbeat()

0 commit comments

Comments
 (0)