| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- """Core variables, functions, and classes that we want in the wandb
- module but are also used in modules that import the wandb module.
- The purpose of this module is to break circular imports.
- """
- import os
- import tempfile
- import time
- import wandb
- from wandb import env
- # We use the hidden version if it already exists, otherwise non-hidden.
- if os.path.exists(os.path.join(env.get_dir(os.getcwd()), ".wandb")):
- __stage_dir__ = ".wandb" + os.sep
- elif os.path.exists(os.path.join(env.get_dir(os.getcwd()), "wandb")):
- __stage_dir__ = "wandb" + os.sep
- else:
- __stage_dir__ = None
- wandb.START_TIME = time.time()
- def wandb_dir(root_dir=None):
- if root_dir is None or root_dir == "":
- try:
- cwd = os.getcwd()
- except OSError:
- wandb.termwarn("os.getcwd() no longer exists, using system temp directory")
- cwd = tempfile.gettempdir()
- root_dir = env.get_dir(cwd)
- path = os.path.join(root_dir, __stage_dir__ or ("wandb" + os.sep))
- if not os.access(root_dir, os.W_OK):
- wandb.termwarn(
- f"Path {path} wasn't writable, using system temp directory", repeat=False
- )
- path = os.path.join(tempfile.gettempdir(), __stage_dir__ or ("wandb" + os.sep))
- return path
- def _set_stage_dir(stage_dir):
- # Used when initing a new project with "wandb init"
- global __stage_dir__
- __stage_dir__ = stage_dir
- __all__ = [
- "__stage_dir__",
- "START_TIME",
- "wandb_dir",
- "_set_stage_dir",
- ]
|