Module facetorch.paths

Portable runtime locations used by packaged facetorch configuration.

Functions

def get_cache_dir() ‑> pathlib.Path
Expand source code
def get_cache_dir() -> Path:
    """Return the configured OS-appropriate facetorch cache root without creating it."""
    configured = os.environ.get(CACHE_DIR_ENV)
    if configured:
        return _normalized_path(configured)
    return _default_cache_dir()

Return the configured OS-appropriate facetorch cache root without creating it.

def get_metadata_dir() ‑> pathlib.Path
Expand source code
def get_metadata_dir() -> Path:
    """Return the versioned generated/model metadata location without creating it."""
    configured = os.environ.get(METADATA_DIR_ENV)
    if configured:
        return _normalized_path(configured)
    return get_cache_dir() / "metadata" / "v1"

Return the versioned generated/model metadata location without creating it.

def get_model_dir() ‑> pathlib.Path
Expand source code
def get_model_dir() -> Path:
    """Return the versioned model cache location without creating it."""
    configured = os.environ.get(MODEL_DIR_ENV)
    if configured:
        return _normalized_path(configured)
    return get_cache_dir() / "models" / "v1"

Return the versioned model cache location without creating it.

def get_offline_mode(*, environ: Mapping[str, str] | None = None) ‑> bool
Expand source code
def get_offline_mode(*, environ: Optional[Mapping[str, str]] = None) -> bool:
    """Return whether model network access is disabled by the public environment flag."""
    env = os.environ if environ is None else environ
    raw = str(env.get(OFFLINE_ENV, "")).strip().lower()
    if raw in _TRUE_VALUES:
        return True
    if raw in _FALSE_VALUES:
        return False
    raise ConfigurationError(
        f"{OFFLINE_ENV} must be one of 1/0, true/false, yes/no, or on/off; "
        f"got {env.get(OFFLINE_ENV)!r}."
    )

Return whether model network access is disabled by the public environment flag.

def register_path_resolvers() ‑> None
Expand source code
def register_path_resolvers() -> None:
    """Register portable path resolvers used by source and packaged Hydra configs."""
    OmegaConf.register_new_resolver(
        "facetorch.cache_dir",
        lambda: os.fspath(get_cache_dir()),
        replace=True,
        use_cache=False,
    )
    OmegaConf.register_new_resolver(
        "facetorch.model_dir",
        lambda: os.fspath(get_model_dir()),
        replace=True,
        use_cache=False,
    )
    OmegaConf.register_new_resolver(
        "facetorch.metadata_dir",
        lambda: os.fspath(get_metadata_dir()),
        replace=True,
        use_cache=False,
    )
    OmegaConf.register_new_resolver(
        "facetorch.offline",
        get_offline_mode,
        replace=True,
        use_cache=False,
    )

Register portable path resolvers used by source and packaged Hydra configs.