Unverified Commit fcfa553f authored by Pol Dellaiera's avatar Pol Dellaiera Committed by GitHub
Browse files

Merge pull request #323927 from taha-yassine/aider

aider-chat: init at 0.50.0 + python3Packages.pypager: init at 3.0.1
parents 607f987d 122892a0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -20026,6 +20026,12 @@
    githubId = 6457015;
    name = "Taha Gharib";
  };
  taha-yassine = {
    email = "taha.yssne@gmail.com";
    github = "taha-yassine";
    githubId = 40228615;
    name = "Taha Yassine";
  };
  taikx4 = {
    email = "taikx4@taikx4szlaj2rsdupcwabg35inbny4jk322ngeb7qwbbhd5i55nf5yyd.onion";
    github = "taikx4";
+114 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  python311,
  fetchFromGitHub,
  gitMinimal,
  portaudio,
}:

let
  python3 = python311.override {
    self = python3;
    packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; };
  };
  version = "0.50.0";
in
python3.pkgs.buildPythonApplication {
  pname = "aider-chat";
  inherit version;
  pyproject = true;

  src = fetchFromGitHub {
    owner = "paul-gauthier";
    repo = "aider";
    rev = "v${version}";
    hash = "sha256-hRUxzljtgLGEDwHf6UtQzGQM8CgiRtgNLlVoKa2jU3o=";
  };

  build-system = with python3.pkgs; [ setuptools ];

  dependencies =
    with python3.pkgs;
    [
      aiohappyeyeballs
      backoff
      beautifulsoup4
      configargparse
      diff-match-patch
      diskcache
      flake8
      gitpython
      grep-ast
      importlib-resources
      jsonschema
      jiter
      litellm
      networkx
      numpy
      packaging
      pathspec
      pillow
      playwright
      prompt-toolkit
      pypager
      pypandoc
      pyperclip
      pyyaml
      rich
      scipy
      sounddevice
      soundfile
      streamlit
      tokenizers
      watchdog
    ]
    ++ lib.optionals (!tensorflow.meta.broken) [
      llama-index-core
      llama-index-embeddings-huggingface
    ];

  buildInputs = [ portaudio ];

  pythonRelaxDeps = true;

  nativeCheckInputs = (with python3.pkgs; [ pytestCheckHook ]) ++ [ gitMinimal ];

  disabledTestPaths = [
    # requires network
    "tests/scrape/test_scrape.py"

    # Expected 'mock' to have been called once
    "tests/help/test_help.py"
  ];

  disabledTests =
    [
      # requires 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"
    ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin [
      # fails on darwin
      "test_dark_mode_sets_code_theme"
      "test_default_env_file_sets_automatic_variable"
    ];

  preCheck = ''
    export HOME=$(mktemp -d)
  '';

  meta = {
    description = "AI pair programming in your terminal";
    homepage = "https://github.com/paul-gauthier/aider";
    license = lib.licenses.asl20;
    mainProgram = "aider";
    maintainers = with lib.maintainers; [ taha-yassine ];
  };
}
+41 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  prompt-toolkit,
  pygments,
}:

buildPythonPackage {
  pname = "pypager";
  version = "3.0.1";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "prompt-toolkit";
    repo = "pypager";
    rev = "0255d59a14ffba81c3842ef570c96c8dfee91e8e";
    hash = "sha256-uPpVAI12INKFZDiTQdzQ0dhWCBAGeu0488zZDEV22mU=";
  };

  build-system = [ setuptools ];

  dependencies = [
    prompt-toolkit
    pygments
  ];

  pythonImportsCheck = [ "pypager" ];

  # no tests
  doCheck = false;

  meta = {
    description = ''Pure Python pager (like "more" and "less")'';
    homepage = "https://github.com/prompt-toolkit/pypager";
    license = lib.licenses.bsd3;
    mainProgram = "pypager";
    maintainers = with lib.maintainers; [ taha-yassine ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -11982,6 +11982,8 @@ self: super: with self; {
  pyowm = callPackage ../development/python-modules/pyowm { };
  pypager = callPackage ../development/python-modules/pypager { };
  pypamtest = toPythonModule (pkgs.libpam-wrapper.override {
    enablePython = true;
    inherit python;