20 # optional-dependencies
40 self = buildPythonPackage rec {
42 version = "2024.12.1";
45 src = fetchFromGitHub {
49 hash = "sha256-QqvdldAHW2UYt1NXfk3Aa+oe97e+OpRbF8d6eKV3OJ4=";
52 build-system = [ setuptools ];
65 optional-dependencies = lib.fix (self: {
77 # dask-expr -> circular dependency with dask-expr
81 distributed = [ distributed ];
98 ++ self.optional-dependencies.array
99 ++ self.optional-dependencies.dataframe
100 ++ lib.optionals (!arrow-cpp.meta.broken) [
101 # support is sparse on aarch64
105 dontUseSetuptoolsCheck = true;
108 # versioneer hack to set version of GitHub package
109 echo "def get_versions(): return {'dirty': False, 'error': None, 'full-revisionid': None, 'version': '${version}'}" > dask/_version.py
111 substituteInPlace setup.py \
112 --replace-fail "import versioneer" "" \
113 --replace-fail "version=versioneer.get_version()," "version='${version}'," \
114 --replace-fail "cmdclass=versioneer.get_cmdclass()," ""
116 substituteInPlace pyproject.toml \
117 --replace-fail ', "versioneer[toml]==0.29"' "" \
118 --replace-fail " --durations=10" "" \
119 --replace-fail " --cov-config=pyproject.toml" "" \
120 --replace-fail "\"-v" "\" "
124 # Rerun failed tests up to three times
126 # Don't run tests that require network access
131 lib.optionals stdenv.hostPlatform.isDarwin [
132 # Test requires features of python3Packages.psutil that are
133 # blocked in sandboxed-builds
134 "test_auto_blocksize_csv"
135 # AttributeError: 'str' object has no attribute 'decode'
136 "test_read_dir_nometa"
138 ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
139 # concurrent.futures.process.BrokenProcessPool: A process in the process pool terminated abpruptly...
140 "test_foldby_tree_reduction"
144 # https://github.com/dask/dask/issues/10347#issuecomment-1589683941
145 "test_concat_categorical"
146 # AttributeError: 'ArrowStringArray' object has no attribute 'tobytes'. Did you mean: 'nbytes'?
149 "test_merge_column_with_nulls"
150 # FileNotFoundError: [Errno 2] No such file or directory: '/build/tmp301jryv_/createme/0.part'
152 "test_to_json_results"
153 # FutureWarning: Those tests should be working fine when pandas will have been upgraded to 2.1.1
155 "test_apply_infer_columns"
158 __darwinAllowLocalNetworking = true;
160 pythonImportsCheck = [
169 # Enable tests via passthru to avoid cyclic dependency with dask-expr.
171 check = self.overridePythonAttrs (old: {
173 pythonImportsCheck = [
174 # Requires the `dask.optional-dependencies.array` that are only in `nativeCheckInputs`
176 # Requires the `dask.optional-dependencies.dataframe` that are only in `nativeCheckInputs`
179 "dask.dataframe.tseries"
180 ] ++ old.pythonImportsCheck;
185 description = "Minimal task scheduling abstraction";
186 mainProgram = "dask";
187 homepage = "https://dask.org/";
188 changelog = "https://docs.dask.org/en/latest/changelog.html";
189 license = lib.licenses.bsd3;
190 maintainers = with lib.maintainers; [ GaetanLepage ];