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