Loading pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch 0 → 100644 +34 −0 Original line number Diff line number Diff line diff --git a/llm/cli.py b/llm/cli.py index af37feb..18b078a 100644 --- a/llm/cli.py +++ b/llm/cli.py @@ -1014,18 +1014,7 @@ def templates_path(): ) def install(packages, upgrade, editable, force_reinstall, no_cache_dir): """Install packages from PyPI into the same environment as LLM""" - args = ["pip", "install"] - if upgrade: - args += ["--upgrade"] - if editable: - args += ["--editable", editable] - if force_reinstall: - args += ["--force-reinstall"] - if no_cache_dir: - args += ["--no-cache-dir"] - args += list(packages) - sys.argv = args - run_module("pip", run_name="__main__") + click.echo("Install command has been disabled for Nix. If you want to install extra llm plugins, use llm.withPlugins([]) expression.") @cli.command() @@ -1033,8 +1022,7 @@ def install(packages, upgrade, editable, force_reinstall, no_cache_dir): @click.option("-y", "--yes", is_flag=True, help="Don't ask for confirmation") def uninstall(packages, yes): """Uninstall Python packages from the LLM environment""" - sys.argv = ["pip", "uninstall"] + list(packages) + (["-y"] if yes else []) - run_module("pip", run_name="__main__") + click.echo("Uninstall command has been disabled for Nix. If you want to uninstall extra llm plugins, just remove them from llm.withPlugins([]) list expression.") @cli.command() pkgs/development/python-modules/llm/default.nix 0 → 100644 +107 −0 Original line number Diff line number Diff line { buildPythonApplication, buildPythonPackage, fetchFromGitHub, lib, makeWrapper, pytestCheckHook, python3, pythonOlder, ruff, setuptools, }: let llm = buildPythonPackage rec { pname = "llm"; version = "0.12"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "simonw"; repo = pname; rev = "refs/tags/${version}"; hash = "sha256-aCqdw2co/cXrBwVY/k/aSLl3C22nlH5LvU2yir1/NnQ="; }; patches = [ ./001-disable-install-uninstall-commands.patch ]; nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = with python3.pkgs; [ click-default-group numpy openai pluggy pydantic python-ulid pyyaml setuptools # for pkg_resources sqlite-migrate sqlite-utils ]; nativeCheckInputs = with python3.pkgs; [ cogapp numpy pytestCheckHook requests-mock ]; doCheck = true; pytestFlagsArray = [ "-svv" "tests/" ]; pythonImportsCheck = [ "llm" ]; passthru = {inherit withPlugins;}; meta = with lib; { homepage = "https://github.com/simonw/llm"; description = "Access large language models from the command-line"; changelog = "https://github.com/simonw/llm/releases/tag/${version}"; license = licenses.asl20; mainProgram = "llm"; maintainers = with maintainers; [aldoborrero]; }; }; withPlugins = plugins: buildPythonApplication { inherit (llm) pname version; format = "other"; disabled = pythonOlder "3.8"; dontUnpack = true; dontBuild = true; doCheck = false; nativeBuildInputs = [ makeWrapper ]; installPhase = '' makeWrapper ${llm}/bin/llm $out/bin/llm \ --prefix PYTHONPATH : "${llm}/${python3.sitePackages}:$PYTHONPATH" ln -sfv ${llm}/lib $out/lib ''; propagatedBuildInputs = llm.propagatedBuildInputs ++ plugins; passthru = llm.passthru // { withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); }; inherit (llm) meta; }; in llm pkgs/top-level/all-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -9990,6 +9990,8 @@ with pkgs; lldpd = callPackage ../tools/networking/lldpd { }; llm = with python3Packages; toPythonApplication llm; lnav = callPackage ../tools/misc/lnav { }; lnch = callPackage ../tools/misc/lnch { }; pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -6390,6 +6390,8 @@ self: super: with self; { inherit (pkgs) fuse; }; llm = callPackage ../development/python-modules/llm { }; llvmlite = callPackage ../development/python-modules/llvmlite { # llvmlite always requires a specific version of llvm. llvm = pkgs.llvm_14; Loading Loading
pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch 0 → 100644 +34 −0 Original line number Diff line number Diff line diff --git a/llm/cli.py b/llm/cli.py index af37feb..18b078a 100644 --- a/llm/cli.py +++ b/llm/cli.py @@ -1014,18 +1014,7 @@ def templates_path(): ) def install(packages, upgrade, editable, force_reinstall, no_cache_dir): """Install packages from PyPI into the same environment as LLM""" - args = ["pip", "install"] - if upgrade: - args += ["--upgrade"] - if editable: - args += ["--editable", editable] - if force_reinstall: - args += ["--force-reinstall"] - if no_cache_dir: - args += ["--no-cache-dir"] - args += list(packages) - sys.argv = args - run_module("pip", run_name="__main__") + click.echo("Install command has been disabled for Nix. If you want to install extra llm plugins, use llm.withPlugins([]) expression.") @cli.command() @@ -1033,8 +1022,7 @@ def install(packages, upgrade, editable, force_reinstall, no_cache_dir): @click.option("-y", "--yes", is_flag=True, help="Don't ask for confirmation") def uninstall(packages, yes): """Uninstall Python packages from the LLM environment""" - sys.argv = ["pip", "uninstall"] + list(packages) + (["-y"] if yes else []) - run_module("pip", run_name="__main__") + click.echo("Uninstall command has been disabled for Nix. If you want to uninstall extra llm plugins, just remove them from llm.withPlugins([]) list expression.") @cli.command()
pkgs/development/python-modules/llm/default.nix 0 → 100644 +107 −0 Original line number Diff line number Diff line { buildPythonApplication, buildPythonPackage, fetchFromGitHub, lib, makeWrapper, pytestCheckHook, python3, pythonOlder, ruff, setuptools, }: let llm = buildPythonPackage rec { pname = "llm"; version = "0.12"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "simonw"; repo = pname; rev = "refs/tags/${version}"; hash = "sha256-aCqdw2co/cXrBwVY/k/aSLl3C22nlH5LvU2yir1/NnQ="; }; patches = [ ./001-disable-install-uninstall-commands.patch ]; nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = with python3.pkgs; [ click-default-group numpy openai pluggy pydantic python-ulid pyyaml setuptools # for pkg_resources sqlite-migrate sqlite-utils ]; nativeCheckInputs = with python3.pkgs; [ cogapp numpy pytestCheckHook requests-mock ]; doCheck = true; pytestFlagsArray = [ "-svv" "tests/" ]; pythonImportsCheck = [ "llm" ]; passthru = {inherit withPlugins;}; meta = with lib; { homepage = "https://github.com/simonw/llm"; description = "Access large language models from the command-line"; changelog = "https://github.com/simonw/llm/releases/tag/${version}"; license = licenses.asl20; mainProgram = "llm"; maintainers = with maintainers; [aldoborrero]; }; }; withPlugins = plugins: buildPythonApplication { inherit (llm) pname version; format = "other"; disabled = pythonOlder "3.8"; dontUnpack = true; dontBuild = true; doCheck = false; nativeBuildInputs = [ makeWrapper ]; installPhase = '' makeWrapper ${llm}/bin/llm $out/bin/llm \ --prefix PYTHONPATH : "${llm}/${python3.sitePackages}:$PYTHONPATH" ln -sfv ${llm}/lib $out/lib ''; propagatedBuildInputs = llm.propagatedBuildInputs ++ plugins; passthru = llm.passthru // { withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); }; inherit (llm) meta; }; in llm
pkgs/top-level/all-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -9990,6 +9990,8 @@ with pkgs; lldpd = callPackage ../tools/networking/lldpd { }; llm = with python3Packages; toPythonApplication llm; lnav = callPackage ../tools/misc/lnav { }; lnch = callPackage ../tools/misc/lnch { };
pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -6390,6 +6390,8 @@ self: super: with self; { inherit (pkgs) fuse; }; llm = callPackage ../development/python-modules/llm { }; llvmlite = callPackage ../development/python-modules/llvmlite { # llvmlite always requires a specific version of llvm. llvm = pkgs.llvm_14; Loading