mirror of
https://github.com/hwchase17/langchain
synced 2024-11-06 03:20:49 +00:00
47070b8314
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
17 lines
585 B
Python
17 lines
585 B
Python
from pathlib import Path
|
|
from typing import Set, Optional
|
|
|
|
|
|
def get_package_root(cwd: Optional[Path] = None) -> Path:
|
|
# traverse path for routes to host (any directory holding a pyproject.toml file)
|
|
package_root = Path.cwd() if cwd is None else cwd
|
|
visited: Set[Path] = set()
|
|
while package_root not in visited:
|
|
visited.add(package_root)
|
|
|
|
pyproject_path = package_root / "pyproject.toml"
|
|
if pyproject_path.exists():
|
|
return package_root
|
|
package_root = package_root.parent
|
|
raise FileNotFoundError("No pyproject.toml found")
|