Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.2 kB · 107 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108{ 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