in minihack/agent/polybeast/core/file_writer.py [0:0]
def gather_metadata():
metadata = dict(
date_start=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"),
env=os.environ.copy(),
successful=False,
)
# Git metadata.
try:
import git
except ImportError:
logging.warning(
"Couldn't import gitpython module; install it with `pip install gitpython`."
)
else:
try:
repo = git.Repo(search_parent_directories=True)
metadata["git"] = {
"commit": repo.commit().hexsha,
"is_dirty": repo.is_dirty(),
"path": repo.git_dir,
}
if not repo.head.is_detached:
metadata["git"]["branch"] = repo.active_branch.name
except git.InvalidGitRepositoryError:
pass
if "git" not in metadata:
logging.warning("Couldn't determine git data.")
# Slurm metadata.
if "SLURM_JOB_ID" in os.environ:
slurm_env_keys = [k for k in os.environ if k.startswith("SLURM")]
metadata["slurm"] = {}
for k in slurm_env_keys:
d_key = k.replace("SLURM_", "").replace("SLURMD_", "").lower()
metadata["slurm"][d_key] = os.environ[k]
return metadata