diff --git a/pkgs/by-name/ai/aider-chat/package.nix b/pkgs/by-name/ai/aider-chat/package.nix index 0218dcd0830d..ab55239d814e 100644 --- a/pkgs/by-name/ai/aider-chat/package.nix +++ b/pkgs/by-name/ai/aider-chat/package.nix @@ -13,166 +13,176 @@ let packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; }; }; version = "0.62.0"; -in -python3.pkgs.buildPythonApplication { - pname = "aider-chat"; - inherit version; - pyproject = true; + aider-chat = python3.pkgs.buildPythonApplication { + pname = "aider-chat"; + inherit version; + pyproject = true; - src = fetchFromGitHub { - owner = "Aider-AI"; - repo = "aider"; - rev = "refs/tags/v${version}"; - hash = "sha256-o5vyOaJSUcdwuHBbzgpo5RDpZLnIur5dM+b7Y7PVBXA="; - }; + src = fetchFromGitHub { + owner = "Aider-AI"; + repo = "aider"; + rev = "refs/tags/v${version}"; + hash = "sha256-o5vyOaJSUcdwuHBbzgpo5RDpZLnIur5dM+b7Y7PVBXA="; + }; - pythonRelaxDeps = true; + pythonRelaxDeps = true; - build-system = with python3.pkgs; [ setuptools-scm ]; + build-system = with python3.pkgs; [ setuptools-scm ]; - dependencies = with python3.pkgs; [ - aiohappyeyeballs - aiohttp - aiosignal - annotated-types - anyio - attrs - backoff - beautifulsoup4 - certifi - cffi - charset-normalizer - click - configargparse - diff-match-patch - diskcache - distro - filelock - flake8 - frozenlist - fsspec - gitdb - gitpython - grep-ast - h11 - httpcore - httpx - huggingface-hub - idna - importlib-resources - jinja2 - jiter - json5 - jsonschema - jsonschema-specifications - litellm - markdown-it-py - markupsafe - mccabe - mdurl - multidict - networkx - numpy - openai - packaging - pathspec - pexpect - pillow - prompt-toolkit - psutil - ptyprocess - pycodestyle - pycparser - pydantic - pydantic-core - pydub - pyflakes - pygments - pypandoc - pyperclip - python-dotenv - pyyaml - referencing - regex - requests - rich - rpds-py - scipy - smmap - sniffio - sounddevice - soundfile - soupsieve - tiktoken - tokenizers - tqdm - tree-sitter - tree-sitter-languages - typing-extensions - urllib3 - wcwidth - yarl - zipp - - # Not listed in requirements - mixpanel - monotonic - posthog - propcache - python-dateutil - ]; - - buildInputs = [ portaudio ]; - - nativeCheckInputs = (with python3.pkgs; [ pytestCheckHook ]) ++ [ gitMinimal ]; - - disabledTestPaths = [ - # Tests require network access - "tests/scrape/test_scrape.py" - # Expected 'mock' to have been called once - "tests/help/test_help.py" - ]; - - disabledTests = - [ - # Tests require network - "test_urls" - "test_get_commit_message_with_custom_prompt" - # FileNotFoundError - "test_get_commit_message" - # Expected 'launch_gui' to have been called once - "test_browser_flag_imports_streamlit" - # AttributeError - "test_simple_send_with_retries" - # Expected 'check_version' to have been called once - "test_main_exit_calls_version_check" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Tests fails on darwin - "test_dark_mode_sets_code_theme" - "test_default_env_file_sets_automatic_variable" - ]; - - preCheck = '' - export HOME=$(mktemp -d) - export AIDER_CHECK_UPDATE=false - ''; - - optional-dependencies = with python3.pkgs; { - playwright = [ - greenlet - playwright - pyee + dependencies = with python3.pkgs; [ + aiohappyeyeballs + aiohttp + aiosignal + annotated-types + anyio + attrs + backoff + beautifulsoup4 + certifi + cffi + charset-normalizer + click + configargparse + diff-match-patch + diskcache + distro + filelock + flake8 + frozenlist + fsspec + gitdb + gitpython + grep-ast + h11 + httpcore + httpx + huggingface-hub + idna + importlib-resources + jinja2 + jiter + json5 + jsonschema + jsonschema-specifications + litellm + markdown-it-py + markupsafe + mccabe + mdurl + multidict + networkx + numpy + openai + packaging + pathspec + pexpect + pillow + prompt-toolkit + psutil + ptyprocess + pycodestyle + pycparser + pydantic + pydantic-core + pydub + pyflakes + pygments + pypandoc + pyperclip + python-dotenv + pyyaml + referencing + regex + requests + rich + rpds-py + scipy + smmap + sniffio + sounddevice + soundfile + soupsieve + tiktoken + tokenizers + tqdm + tree-sitter + tree-sitter-languages typing-extensions - ]; - }; + urllib3 + wcwidth + yarl + zipp - meta = { - description = "AI pair programming in your terminal"; - homepage = "https://github.com/paul-gauthier/aider"; - changelog = "https://github.com/paul-gauthier/aider/blob/v${version}/HISTORY.md"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ taha-yassine ]; - mainProgram = "aider"; + # Not listed in requirements + mixpanel + monotonic + posthog + propcache + python-dateutil + ]; + + buildInputs = [ portaudio ]; + + nativeCheckInputs = (with python3.pkgs; [ pytestCheckHook ]) ++ [ gitMinimal ]; + + disabledTestPaths = [ + # Tests require network access + "tests/scrape/test_scrape.py" + # Expected 'mock' to have been called once + "tests/help/test_help.py" + ]; + + disabledTests = + [ + # Tests require network + "test_urls" + "test_get_commit_message_with_custom_prompt" + # FileNotFoundError + "test_get_commit_message" + # Expected 'launch_gui' to have been called once + "test_browser_flag_imports_streamlit" + # AttributeError + "test_simple_send_with_retries" + # Expected 'check_version' to have been called once + "test_main_exit_calls_version_check" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Tests fails on darwin + "test_dark_mode_sets_code_theme" + "test_default_env_file_sets_automatic_variable" + ]; + + preCheck = '' + export HOME=$(mktemp -d) + export AIDER_CHECK_UPDATE=false + ''; + + optional-dependencies = with python3.pkgs; { + playwright = [ + greenlet + playwright + pyee + typing-extensions + ]; + }; + + passthru = { + withPlaywright = aider-chat.overridePythonAttrs ( + { dependencies, ... }: + { + dependencies = dependencies ++ aider-chat.optional-dependencies.playwright; + } + ); + }; + + meta = { + description = "AI pair programming in your terminal"; + homepage = "https://github.com/paul-gauthier/aider"; + changelog = "https://github.com/paul-gauthier/aider/blob/v${version}/HISTORY.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ taha-yassine ]; + mainProgram = "aider"; + }; }; -} +in +aider-chat