from pydantic import AnyHttpUrl from pathlib import Path from git import Repo def clone_repository(repo_url: AnyHttpUrl) -> Path: # extract repo name repo_name = repo_url.split('/')[-1].replace('.git', '') dst_dir = Path(__file__).parent / repo_name # prepare repo download dir dst_dir.mkdir(exist_ok=True) # git clone repo Repo.clone_from(url=repo_url, to_path=dst_dir) return dst_dir