Download lib/python3.12/site-packages/hydra/utils.py from parallel-reasoner/env-full: direct link, hf CLI and curl.
- Browser
- Download file 3.27 kB
-
https://huggingface.co/parallel-reasoner/env-full/resolve/ef9f3b242ae7e3f7f6941c7127ec00ad092d910e/lib/python3.12/site-packages/hydra/utils.py
- Command line
-
hf download hf://parallel-reasoner/env-full@ef9f3b242ae7e3f7f6941c7127ec00ad092d910e/lib/python3.12/site-packages/hydra/utils.py
-
curl -L -o utils.py https://huggingface.co/parallel-reasoner/env-full/resolve/ef9f3b242ae7e3f7f6941c7127ec00ad092d910e/lib/python3.12/site-packages/hydra/utils.py
3.27 kB
| # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved | |
| import logging.config | |
| import os | |
| from pathlib import Path | |
| from typing import Any, Callable | |
| import hydra._internal.instantiate._instantiate2 | |
| import hydra.types | |
| from hydra._internal.utils import _locate | |
| from hydra.core.hydra_config import HydraConfig | |
| log = logging.getLogger(__name__) | |
| # Instantiation related symbols | |
| instantiate = hydra._internal.instantiate._instantiate2.instantiate | |
| call = instantiate | |
| ConvertMode = hydra.types.ConvertMode | |
| def get_class(path: str) -> type: | |
| """ | |
| Look up a class based on a dotpath. | |
| Fails if the path does not point to a class. | |
| >>> import my_module | |
| >>> from hydra.utils import get_class | |
| >>> assert get_class("my_module.MyClass") is my_module.MyClass | |
| """ | |
| try: | |
| cls = _locate(path) | |
| if not isinstance(cls, type): | |
| raise ValueError( | |
| f"Located non-class of type '{type(cls).__name__}'" | |
| + f" while loading '{path}'" | |
| ) | |
| return cls | |
| except Exception as e: | |
| log.error(f"Error getting class at {path}: {e}") | |
| raise e | |
| def get_method(path: str) -> Callable[..., Any]: | |
| """ | |
| Look up a callable based on a dotpath. | |
| Fails if the path does not point to a callable object. | |
| >>> import my_module | |
| >>> from hydra.utils import get_method | |
| >>> assert get_method("my_module.my_function") is my_module.my_function | |
| """ | |
| try: | |
| obj = _locate(path) | |
| if not callable(obj): | |
| raise ValueError( | |
| f"Located non-callable of type '{type(obj).__name__}'" | |
| + f" while loading '{path}'" | |
| ) | |
| cl: Callable[..., Any] = obj | |
| return cl | |
| except Exception as e: | |
| log.error(f"Error getting callable at {path} : {e}") | |
| raise e | |
| # Alias for get_method | |
| get_static_method = get_method | |
| def get_object(path: str) -> Any: | |
| """ | |
| Look up an entity based on the dotpath. | |
| Does not perform any type checks on the entity. | |
| >>> import my_module | |
| >>> from hydra.utils import get_object | |
| >>> assert get_object("my_module.my_object") is my_module.my_object | |
| """ | |
| try: | |
| obj = _locate(path) | |
| return obj | |
| except Exception as e: | |
| log.error(f"Error getting object at {path} : {e}") | |
| raise e | |
| def get_original_cwd() -> str: | |
| """ | |
| :return: the original working directory the Hydra application was launched from | |
| """ | |
| if not HydraConfig.initialized(): | |
| raise ValueError( | |
| "get_original_cwd() must only be used after HydraConfig is initialized" | |
| ) | |
| ret = HydraConfig.get().runtime.cwd | |
| assert ret is not None and isinstance(ret, str) | |
| return ret | |
| def to_absolute_path(path: str) -> str: | |
| """ | |
| converts the specified path to be absolute path. | |
| if the input path is relative, it's interpreted as relative to the original working directory | |
| if it's absolute, it's returned as is | |
| :param path: path to convert | |
| :return: | |
| """ | |
| p = Path(path) | |
| if not HydraConfig.initialized(): | |
| base = Path(os.getcwd()) | |
| else: | |
| base = Path(get_original_cwd()) | |
| if p.is_absolute(): | |
| ret = p | |
| else: | |
| ret = base / p | |
| return str(ret) | |