From ef31210bf06f920e0890e171c3198f0b0dc8d72d Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sat, 22 Jul 2023 11:32:42 -0700 Subject: [PATCH] sqlite-utils install -e, closes #570 --- sqlite_utils/cli.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sqlite_utils/cli.py b/sqlite_utils/cli.py index 30fc20c..0c3a222 100644 --- a/sqlite_utils/cli.py +++ b/sqlite_utils/cli.py @@ -2771,15 +2771,23 @@ def _analyze(db, tables, columns, save, common_limit=10, no_most=False, no_least @cli.command() -@click.argument("packages", nargs=-1, required=True) +@click.argument("packages", nargs=-1, required=False) @click.option( "-U", "--upgrade", is_flag=True, help="Upgrade packages to latest version" ) -def install(packages, upgrade): +@click.option( + "-e", + "--editable", + type=click.Path(readable=True, exists=True, dir_okay=True, file_okay=False), + help="Install a project in editable mode from this path", +) +def install(packages, upgrade, editable): """Install packages from PyPI into the same environment as sqlite-utils""" args = ["pip", "install"] if upgrade: args += ["--upgrade"] + if editable: + args += ["--editable", str(editable)] args += list(packages) sys.argv = args run_module("pip", run_name="__main__")