1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 quickjs, 7 llm, 8 llm-tools-quickjs, 9 llm-echo, 10 pytestCheckHook, 11 writableTmpDirAsHomeHook, 12}: 13 14buildPythonPackage rec { 15 pname = "llm-tools-quickjs"; 16 version = "0.1"; 17 pyproject = true; 18 19 src = fetchFromGitHub { 20 owner = "simonw"; 21 repo = "llm-tools-quickjs"; 22 tag = version; 23 hash = "sha256-Si3VcHnRUj8Q/N8pRhltPOM6K64TX9DBH/u4WQxQJjQ="; 24 }; 25 26 build-system = [ setuptools ]; 27 28 dependencies = [ 29 llm 30 quickjs 31 ]; 32 33 nativeCheckInputs = [ 34 llm-echo 35 pytestCheckHook 36 writableTmpDirAsHomeHook 37 ]; 38 39 pythonImportsCheck = [ "llm_tools_quickjs" ]; 40 41 passthru.tests = llm.mkPluginTest llm-tools-quickjs; 42 43 meta = { 44 description = "JavaScript execution as a tool for LLM"; 45 homepage = "https://github.com/simonw/llm-tools-quickjs"; 46 changelog = "https://github.com/simonw/llm-tools-quickjs/releases/tag/${version}/CHANGELOG.md"; 47 license = lib.licenses.asl20; 48 maintainers = with lib.maintainers; [ philiptaron ]; 49 }; 50}