{ lib, callPackage, buildPythonPackage, fetchFromGitHub, setuptools, llm, httpx, ijson, pytestCheckHook, pytest-recording, pytest-asyncio, nest-asyncio, writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "llm-gemini"; version = "0.19.1"; pyproject = true; src = fetchFromGitHub { owner = "simonw"; repo = "llm-gemini"; tag = version; hash = "sha256-znN+4hhQNDvDy6Wzad9TpR1m1i6tOPvWrCdCocaf8N8="; }; build-system = [ setuptools ]; dependencies = [ llm httpx ijson ]; nativeCheckInputs = [ pytestCheckHook pytest-recording pytest-asyncio nest-asyncio writableTmpDirAsHomeHook ]; pythonImportsCheck = [ "llm_gemini" ]; passthru.tests = { llm-plugin = callPackage ./tests/llm-plugin.nix { }; }; meta = { description = "LLM plugin to access Google's Gemini family of models"; homepage = "https://github.com/simonw/llm-gemini"; changelog = "https://github.com/simonw/llm-gemini/releases/tag/${src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ josh ]; }; }