{ lib , fetchFromGitHub , buildPythonPackage , pythonOlder , pythonRelaxDepsHook , poetry-core , appdirs , astor , inquirer , litellm , pyyaml , rich , six , tiktoken , tokentrim , wget , psutil , html2image , ipykernel , jupyter-client , matplotlib , toml , posthog , openai , setuptools }: buildPythonPackage rec { pname = "open-interpreter"; version = "0.2.0"; pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "KillianLucas"; repo = pname; rev = "v${version}"; hash = "sha256-XeJ6cADtyXtqoTXwYJu+i9d3NYbJCLpYOeZYmdImtwI="; }; # Remove unused dependency postPatch = '' substituteInPlace pyproject.toml --replace 'git-python = "^1.0.3"' "" ''; pythonRelaxDeps = [ "tiktoken" ]; nativeBuildInputs = [ poetry-core pythonRelaxDepsHook ]; propagatedBuildInputs = [ appdirs astor inquirer litellm pyyaml rich six tiktoken tokentrim wget psutil html2image ipykernel jupyter-client matplotlib toml posthog openai # Not explicitly in pyproject.toml but required due to use of `pkgs_resources` setuptools ]; pythonImportsCheck = [ "interpreter" ]; # Most tests required network access doCheck = false; meta = with lib; { description = "OpenAI's Code Interpreter in your terminal, running locally"; homepage = "https://github.com/KillianLucas/open-interpreter"; license = licenses.mit; changelog = "https://github.com/KillianLucas/open-interpreter/releases/tag/v${version}"; maintainers = with maintainers; [ happysalada ]; mainProgram = "interpreter"; }; }