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