Commit c7294aaf authored by Gaetan Lepage's avatar Gaetan Lepage
Browse files
parent caa3289d
Loading
Loading
Loading
Loading
+26 −22
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@
, stdenv
, buildPythonPackage
, fetchFromGitHub
, fetchpatch

# build-system
, setuptools
@@ -29,6 +28,7 @@

# tests
, arrow-cpp
, dask-expr
, hypothesis
, pytest-asyncio
, pytest-rerunfailures
@@ -37,9 +37,9 @@
, pythonOlder
}:

buildPythonPackage rec {
let self = buildPythonPackage rec {
  pname = "dask";
  version = "2024.2.1";
  version = "2024.4.2";
  pyproject = true;

  disabled = pythonOlder "3.9";
@@ -48,22 +48,9 @@ buildPythonPackage rec {
    owner = "dask";
    repo = "dask";
    rev = "refs/tags/${version}";
    hash = "sha256-8VFtKPaF0PqCjqFB+plFe1GjUno5j7j86+wxKhzByyw=";
    hash = "sha256-iD+diwctXaQlOpL0fjOiFoWVONtlMq7AonbC0vCmXc0=";
  };

  patches = [
    # A pair of fixes with python 3.11.9, merged upstream;
    # see https://github.com/dask/dask/issues/11038
    (fetchpatch {
      url = "https://github.com/dask/dask/pull/11035.diff";
      hash = "sha256-aQTzas8gn7pCyp7L6VV3NpSYgqC1Ov7YN7YGnX0Vwmo=";
    })
    (fetchpatch {
      url = "https://github.com/dask/dask/pull/11039.diff";
      hash = "sha256-gvEEvnyhFlhiFvVaB6jwMy4auUOvECf49FbFJyjqQm4=";
    })
  ];

  nativeBuildInputs = [
    setuptools
    wheel
@@ -93,6 +80,7 @@ buildPythonPackage rec {
    ++ self.distributed
    ++ self.diagnostics;
    dataframe = [
      # dask-expr -> circular dependency with dask-expr
      numpy
      pandas
    ];
@@ -106,6 +94,7 @@ buildPythonPackage rec {
  });

  nativeCheckInputs = [
    dask-expr
    pytestCheckHook
    pytest-rerunfailures
    pytest-xdist
@@ -113,6 +102,7 @@ buildPythonPackage rec {
    hypothesis
    pytest-asyncio
  ]
  ++ passthru.optional-dependencies.array
  ++ passthru.optional-dependencies.dataframe
  ++ lib.optionals (!arrow-cpp.meta.broken) [ # support is sparse on aarch64
    pyarrow
@@ -172,14 +162,28 @@ buildPythonPackage rec {

  pythonImportsCheck = [
    "dask"
    "dask.array"
    "dask.bag"
    "dask.bytes"
    "dask.diagnostics"
  ];

  doCheck = false;

  # Enable tests via passthru to avoid cyclic dependency with dask-expr.
  passthru.tests = {
    check = self.overridePythonAttrs (old: {
      doCheck = true;
      pythonImportsCheck = [
        # Requires the `dask.optional-dependencies.array` that are only in `nativeCheckInputs`
        "dask.array"
        # Requires the `dask.optional-dependencies.dataframe` that are only in `nativeCheckInputs`
        "dask.dataframe"
        "dask.dataframe.io"
        "dask.dataframe.tseries"
    "dask.diagnostics"
  ];
      ] ++ old.pythonImportsCheck;
    });
  };


  meta = with lib; {
    description = "Minimal task scheduling abstraction";
@@ -189,4 +193,4 @@ buildPythonPackage rec {
    license = licenses.bsd3;
    maintainers = with maintainers; [ fridh ];
  };
}
}; in self