From 1af23910d7f3a861fa5477244aad5d893e47372a Mon Sep 17 00:00:00 2001 From: foefl Date: Wed, 16 Apr 2025 15:05:48 +0200 Subject: [PATCH] add pre-release option to venv-add, closes #6 --- pyproject.toml | 4 ++-- src/pycage/venv.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 669fd4a..6d06ef2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pycage" -version = "0.2.4dev1" +version = "0.2.4" description = "tool to handle standalone Python installations from the CLI" authors = [ {name = "Florian Förster", email = "f.foerster@d-opt.com"}, @@ -78,7 +78,7 @@ directory = "reports/coverage" [tool.bumpversion] -current_version = "0.2.4dev1" +current_version = "0.2.4" parse = """(?x) (?P0|[1-9]\\d*)\\. (?P0|[1-9]\\d*)\\. diff --git a/src/pycage/venv.py b/src/pycage/venv.py index 86743d0..a373b61 100644 --- a/src/pycage/venv.py +++ b/src/pycage/venv.py @@ -63,6 +63,7 @@ def add_pkg( package: str, index: str | None = None, extra_index: str | None = None, + include_prerelease: bool = False, ) -> None: cmd: list[str] = [ str(interpreter), @@ -79,11 +80,22 @@ def add_pkg( if extra_index is not None: add_opts = ["--extra-index-url", extra_index] cmd.extend(add_opts) + if include_prerelease: + add_opts = ["--pre"] + cmd.extend(add_opts) subprocess.run(cmd) @click.command(help="install packages directly into the virtual environment") +@click.option( + "-p", + "--pre", + is_flag=True, + default=False, + show_default=True, + help=("install pre-release versions"), +) @click.option( "-e", "--extra-index", default=None, help="extra index to lookup packages at by pip" ) @@ -93,6 +105,7 @@ def add( package: str, index: str | None, extra_index: str | None, + pre: bool, ) -> None: try: pth_intp = get_interpreter() @@ -105,6 +118,7 @@ def add( package=package, index=index, extra_index=extra_index, + include_prerelease=pre, )