1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 versioneer,
8 wheel,
9 dask,
10 pandas,
11 pyarrow,
12 distributed,
13 pytestCheckHook,
14}:
15
16buildPythonPackage rec {
17 pname = "dask-expr";
18 version = "1.1.1";
19 pyproject = true;
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "dask";
25 repo = "dask-expr";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-ltsRKbb/p+qHeNiX0oeZUKbbjPoPxSM4uFnWUFqoqhc=";
28 };
29
30 postPatch = ''
31 substituteInPlace pyproject.toml \
32 --replace-fail "versioneer[toml]==0.28" "versioneer[toml]"
33 '';
34
35 build-system = [
36 setuptools
37 versioneer
38 wheel
39 ];
40
41 dependencies = [
42 dask
43 pandas
44 pyarrow
45 ];
46
47 pythonImportsCheck = [ "dask_expr" ];
48
49 nativeCheckInputs = [
50 distributed
51 pytestCheckHook
52 ];
53
54 __darwinAllowLocalNetworking = true;
55
56 meta = {
57 description = "A rewrite of Dask DataFrame that includes query optimization and generally improved organization";
58 homepage = "https://github.com/dask/dask-expr";
59 license = lib.licenses.bsd3;
60 maintainers = with lib.maintainers; [ GaetanLepage ];
61 };
62}