From 45f9b570a25486e941229437a196913a3948fd75 Mon Sep 17 00:00:00 2001 From: Daniel Chen Date: Mon, 24 Apr 2023 18:11:19 -0700 Subject: [PATCH] Re-add install-plugin-deps to CLI (#3170) --- autogpt/cli.py | 7 +++++++ autogpt/main.py | 5 +++++ scripts/install_plugin_deps.py | 14 +++++++++++--- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/autogpt/cli.py b/autogpt/cli.py index 1e3964a6e43a..d9294516f255 100644 --- a/autogpt/cli.py +++ b/autogpt/cli.py @@ -55,6 +55,11 @@ type=click.Path(), hidden=True, ) +@click.option( + "--install-plugin-deps", + is_flag=True, + help="Installs external dependencies for 3rd party plugins.", +) @click.pass_context def main( ctx: click.Context, @@ -71,6 +76,7 @@ def main( allow_downloads: bool, skip_news: bool, workspace_directory: str, + install_plugin_deps: bool, ) -> None: """ Welcome to AutoGPT an experimental open-source application showcasing the capabilities of the GPT-4 pushing the boundaries of AI. @@ -95,6 +101,7 @@ def main( allow_downloads, skip_news, workspace_directory, + install_plugin_deps, ) diff --git a/autogpt/main.py b/autogpt/main.py index 52ca845f013f..08b610926b8a 100644 --- a/autogpt/main.py +++ b/autogpt/main.py @@ -15,6 +15,7 @@ from autogpt.prompts.prompt import construct_main_ai_config from autogpt.utils import get_current_git_branch, get_latest_bulletin from autogpt.workspace import Workspace +from scripts.install_plugin_deps import install_plugin_dependencies def run_auto_gpt( @@ -31,6 +32,7 @@ def run_auto_gpt( allow_downloads: bool, skip_news: bool, workspace_directory: str, + install_plugin_deps: bool, ): cfg = Config() # TODO: fill in llm values here @@ -72,6 +74,9 @@ def run_auto_gpt( "Please consider upgrading to Python 3.10 or higher.", ) + if install_plugin_deps: + install_plugin_dependencies() + # TODO: have this directory live outside the repository (e.g. in a user's # home directory) and have it come in as a command line argument or part of # the env file. diff --git a/scripts/install_plugin_deps.py b/scripts/install_plugin_deps.py index 3b371afec6fe..d15c166f7e8f 100644 --- a/scripts/install_plugin_deps.py +++ b/scripts/install_plugin_deps.py @@ -5,8 +5,16 @@ from pathlib import Path -def main(): - # Plugin packages +def install_plugin_dependencies(): + """ + Installs dependencies for all plugins in the plugins dir. + + Args: + None + + Returns: + None + """ plugins_dir = Path(os.getenv("PLUGINS_DIR", "plugins")) for plugin in plugins_dir.glob("*.zip"): with zipfile.ZipFile(str(plugin), "r") as zfile: @@ -24,4 +32,4 @@ def main(): if __name__ == "__main__": - main() + install_plugin_dependencies()