From 5870e8234928561d5fd998b843f29b36997ca2e3 Mon Sep 17 00:00:00 2001 From: Marvin Schenkel Date: Fri, 17 Mar 2023 10:50:37 +0100 Subject: [PATCH] Add option to add git repositories as dependencies (#542) This PR adds the possibility to add git repositories as pip dependencies. --- script/gen_requirements_all.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/script/gen_requirements_all.py b/script/gen_requirements_all.py index 8ac9e13f..640c3f49 100644 --- a/script/gen_requirements_all.py +++ b/script/gen_requirements_all.py @@ -10,6 +10,7 @@ import tomllib from pathlib import Path PACKAGE_REGEX = re.compile(r"^(?:--.+\s)?([-_\.\w\d]+).*==.+$") +GIT_REPO_REGEX = re.compile(r"^(git\+https:\/\/[-_\.\w\d\/]+[@-_\.\w\d\/]*)$") def gather_core_requirements() -> list[str]: @@ -60,17 +61,18 @@ def main() -> int: for req_str in core_reqs + extra_reqs: if match := PACKAGE_REGEX.search(req_str): package_name = match.group(1).lower().replace("_", "-") - if package_name in final_requirements: - # duplicate package without version is safe to ignore - print("ignoring %s" % package_name) - continue + elif match := GIT_REPO_REGEX.search(req_str): + package_name = match.group(1) + elif package_name in final_requirements: + # duplicate package without version is safe to ignore + continue else: print("Found requirement without version specifier: %s" % req_str) package_name = req_str existing = final_requirements.get(package_name) if existing: - print(f"WARNING: ignore duplicate package: {package_name} - existing: {existing}") + print("WARNING: ignore duplicate package: %s - existing: %s" % package_name, existing) continue final_requirements[package_name] = req_str -- 2.34.1