HongzeFu's picture
HF Space: code-only (no binary assets)
06c11b0
from __future__ import annotations
import sys
from pathlib import Path
def find_repo_root(start_file: str | Path) -> Path:
path = Path(start_file).resolve()
cur = path if path.is_dir() else path.parent
for candidate in (cur, *cur.parents):
if (candidate / "pyproject.toml").exists():
return candidate
raise FileNotFoundError(f"Could not find repo root from {path}")
def ensure_src_on_path(start_file: str | Path) -> Path:
repo_root = find_repo_root(start_file)
src_path = repo_root / "src"
src_str = str(src_path)
if src_str not in sys.path:
sys.path.insert(0, src_str)
return repo_root