1{ 2 lib, 3 fetchFromGitHub, 4 buildPythonPackage, 5 poetry-core, 6 7 anthropic, 8 astor, 9 fastapi, 10 google-generativeai, 11 html2image, 12 html2text, 13 inquirer, 14 ipykernel, 15 jupyter-client, 16 litellm, 17 matplotlib, 18 platformdirs, 19 psutil, 20 pyautogui, 21 pydantic, 22 pyperclip, 23 pyyaml, 24 rich, 25 selenium, 26 send2trash, 27 setuptools, 28 shortuuid, 29 six, 30 starlette, 31 tiktoken, 32 tokentrim, 33 toml, 34 typer, 35 uvicorn, 36 webdriver-manager, 37 wget, 38 yaspin, 39 40 nltk, 41}: 42 43buildPythonPackage rec { 44 pname = "open-interpreter"; 45 version = "0.4.2"; 46 pyproject = true; 47 48 src = fetchFromGitHub { 49 owner = "KillianLucas"; 50 repo = "open-interpreter"; 51 tag = "v${version}"; 52 hash = "sha256-fogCcWAhcrCrrcV0q4oKttkf/GeJaJSZnbgiFxvySs8="; 53 }; 54 55 pythonRemoveDeps = [ "git-python" ]; 56 57 pythonRelaxDeps = [ 58 "anthropic" 59 "google-generativeai" 60 "psutil" 61 "rich" 62 "starlette" 63 "tiktoken" 64 "typer" 65 "yaspin" 66 ]; 67 68 build-system = [ poetry-core ]; 69 70 dependencies = [ 71 anthropic 72 astor 73 fastapi 74 google-generativeai 75 html2image 76 html2text 77 inquirer 78 ipykernel 79 jupyter-client 80 litellm 81 matplotlib 82 platformdirs 83 psutil 84 pyautogui 85 pydantic 86 pyperclip 87 pyyaml 88 rich 89 selenium 90 send2trash 91 setuptools 92 shortuuid 93 six 94 starlette 95 tiktoken 96 tokentrim 97 toml 98 typer 99 uvicorn 100 webdriver-manager 101 wget 102 yaspin 103 104 # marked optional in pyproject.toml but still required? 105 nltk 106 ]; 107 108 pythonImportsCheck = [ "interpreter" ]; 109 110 # Most tests required network access 111 doCheck = false; 112 113 meta = { 114 description = "OpenAI's Code Interpreter in your terminal, running locally"; 115 homepage = "https://github.com/KillianLucas/open-interpreter"; 116 license = lib.licenses.mit; 117 changelog = "https://github.com/KillianLucas/open-interpreter/releases/tag/v${version}"; 118 maintainers = with lib.maintainers; [ happysalada ]; 119 mainProgram = "interpreter"; 120 }; 121}