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.6";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = "simonw";
23 repo = "llm-openai-plugin";
24 tag = version;
25 hash = "sha256-PDjrsuZMt4XpYyRg8VRyHZmAu4gD5lLl6aQezhavOvc=";
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; [
54 josh
55 philiptaron
56 ];
57 };
58}