1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 llm,
7 llm-openai-plugin,
8 openai,
9 pytestCheckHook,
10 pytest-asyncio,
11 pytest-recording,
12 syrupy,
13 cogapp,
14 writableTmpDirAsHomeHook,
15}:
16buildPythonPackage rec {
17 pname = "llm-openai-plugin";
18 version = "0.5";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = "simonw";
23 repo = "llm-openai-plugin";
24 tag = version;
25 hash = "sha256-xlJS+xAKOo40hZH751yrvIuXZw1HQsB7K2anFoMxthU=";
26 };
27
28 build-system = [ setuptools ];
29
30 dependencies = [
31 llm
32 openai
33 ];
34
35 nativeCheckInputs = [
36 pytestCheckHook
37 pytest-asyncio
38 pytest-recording
39 syrupy
40 cogapp
41 writableTmpDirAsHomeHook
42 ];
43
44 pythonImportsCheck = [ "llm_openai" ];
45
46 passthru.tests = llm.mkPluginTest llm-openai-plugin;
47
48 meta = {
49 description = "OpenAI plugin for LLM";
50 homepage = "https://github.com/simonw/llm-openai-plugin";
51 changelog = "https://github.com/simonw/llm-openai-plugin/releases/tag/${src.tag}";
52 license = lib.licenses.asl20;
53 maintainers = with lib.maintainers; [ josh ];
54 };
55}