lol

python3Packages.datafusion: init at 0.4.0 (#152763)

authored by

Phillip Cloud and committed by
GitHub
7891c655 688e471a

+170
+78
pkgs/development/python-modules/datafusion/Cargo.lock.patch
··· 1 + diff --git a/Cargo.lock b/Cargo.lock 2 + index fa84a54c..3d790e1c 100644 3 + --- a/Cargo.lock 4 + +++ b/Cargo.lock 5 + @@ -57,9 +57,9 @@ checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" 6 + 7 + [[package]] 8 + name = "arrow" 9 + -version = "6.0.0" 10 + +version = "6.5.0" 11 + source = "registry+https://github.com/rust-lang/crates.io-index" 12 + -checksum = "337e668497751234149fd607f5cb41a6ae7b286b6329589126fe67f0ac55d637" 13 + +checksum = "216c6846a292bdd93c2b93c1baab58c32ff50e2ab5e8d50db333ab518535dd8b" 14 + dependencies = [ 15 + "bitflags", 16 + "chrono", 17 + @@ -212,9 +212,9 @@ dependencies = [ 18 + 19 + [[package]] 20 + name = "comfy-table" 21 + -version = "4.1.1" 22 + +version = "5.0.0" 23 + source = "registry+https://github.com/rust-lang/crates.io-index" 24 + -checksum = "11e95a3e867422fd8d04049041f5671f94d53c32a9dcd82e2be268714942f3f3" 25 + +checksum = "c42350b81f044f576ff88ac750419f914abb46a03831bb1747134344ee7a4e64" 26 + dependencies = [ 27 + "strum", 28 + "strum_macros", 29 + @@ -279,7 +279,7 @@ dependencies = [ 30 + 31 + [[package]] 32 + name = "datafusion" 33 + -version = "5.1.0" 34 + +version = "6.0.0" 35 + dependencies = [ 36 + "ahash", 37 + "arrow", 38 + @@ -310,7 +310,7 @@ dependencies = [ 39 + 40 + [[package]] 41 + name = "datafusion-python" 42 + -version = "0.3.0" 43 + +version = "0.4.0" 44 + dependencies = [ 45 + "datafusion", 46 + "pyo3", 47 + @@ -877,9 +877,9 @@ dependencies = [ 48 + 49 + [[package]] 50 + name = "parquet" 51 + -version = "6.0.0" 52 + +version = "6.5.0" 53 + source = "registry+https://github.com/rust-lang/crates.io-index" 54 + -checksum = "d263b9b59ba260518de9e57bd65931c3f765fea0fabacfe84f40d6fde38e841a" 55 + +checksum = "788d9953f4cfbe9db1beff7bebd54299d105e34680d78b82b1ddc85d432cac9d" 56 + dependencies = [ 57 + "arrow", 58 + "base64", 59 + @@ -1228,15 +1228,15 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 60 + 61 + [[package]] 62 + name = "strum" 63 + -version = "0.21.0" 64 + +version = "0.22.0" 65 + source = "registry+https://github.com/rust-lang/crates.io-index" 66 + -checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" 67 + +checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" 68 + 69 + [[package]] 70 + name = "strum_macros" 71 + -version = "0.21.1" 72 + +version = "0.22.0" 73 + source = "registry+https://github.com/rust-lang/crates.io-index" 74 + -checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" 75 + +checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" 76 + dependencies = [ 77 + "heck", 78 + "proc-macro2",
+90
pkgs/development/python-modules/datafusion/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , buildPythonPackage 5 + , fetchPypi 6 + , fetchFromGitHub 7 + , rustPlatform 8 + , maturin 9 + , pytestCheckHook 10 + , libiconv 11 + , numpy 12 + , pandas 13 + , pyarrow 14 + , pytest 15 + }: 16 + let 17 + # le sigh, the perils of unrelated versions of software living in the same 18 + # repo: there's no obvious way to map the top level source repo 19 + # (arrow-datafusion) version to the version of contained repo 20 + # (arrow-datafusion/python) 21 + # 22 + # A commit hash will do in a pinch, and ultimately the sha256 has the final 23 + # say of what the content is when building 24 + cargoLock = fetchurl { 25 + url = "https://raw.githubusercontent.com/apache/arrow-datafusion/6.0.0/python/Cargo.lock"; 26 + sha256 = "sha256-xiv3drEU5jOGsEIh0U01ZQ1NBKobxO2ctp4mxy9iigw="; 27 + }; 28 + 29 + postUnpack = '' 30 + cp "${cargoLock}" $sourceRoot/Cargo.lock 31 + chmod u+w $sourceRoot/Cargo.lock 32 + ''; 33 + in 34 + buildPythonPackage rec { 35 + pname = "datafusion"; 36 + version = "0.4.0"; 37 + format = "pyproject"; 38 + 39 + src = fetchPypi { 40 + inherit pname version; 41 + sha256 = "sha256-+YqogteKfNhtI2QbVXv/5CIWm3PcOH653dwONm5ZcL8="; 42 + }; 43 + 44 + inherit postUnpack; 45 + 46 + # TODO: remove the patch hacking and postUnpack hooks after 47 + # https://github.com/apache/arrow-datafusion/pull/1508 is merged 48 + # 49 + # the lock file isn't up to date as of 6.0.0 so we need to patch the source 50 + # lockfile and the vendored cargo deps lockfile 51 + patches = [ ./Cargo.lock.patch ]; 52 + cargoDeps = rustPlatform.fetchCargoTarball { 53 + inherit src pname version postUnpack; 54 + sha256 = "sha256-JGyDxpfBXzduJaMF1sbmRm7KJajHYdVSj+WbiSETiY0="; 55 + patches = [ ./Cargo.lock.patch ]; 56 + }; 57 + 58 + nativeBuildInputs = with rustPlatform; [ 59 + cargoSetupHook 60 + maturinBuildHook 61 + ]; 62 + 63 + buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; 64 + 65 + propagatedBuildInputs = [ 66 + numpy 67 + pandas 68 + pyarrow 69 + ]; 70 + 71 + checkInputs = [ pytest ]; 72 + pythonImportsCheck = [ "datafusion" ]; 73 + 74 + checkPhase = '' 75 + runHook preCheck 76 + pytest --pyargs "${pname}" 77 + runHook postCheck 78 + ''; 79 + 80 + meta = with lib; { 81 + description = "Extensible query execution framework"; 82 + longDescription = '' 83 + DataFusion is an extensible query execution framework, written in Rust, 84 + that uses Apache Arrow as its in-memory format. 85 + ''; 86 + homepage = "https://arrow.apache.org/datafusion/"; 87 + license = with licenses; [ asl20 ]; 88 + maintainers = with maintainers; [ cpcloud ]; 89 + }; 90 + }
+2
pkgs/top-level/python-packages.nix
··· 1994 1994 1995 1995 datadog = callPackage ../development/python-modules/datadog { }; 1996 1996 1997 + datafusion = callPackage ../development/python-modules/datafusion { }; 1998 + 1997 1999 datamodeldict = callPackage ../development/python-modules/datamodeldict { }; 1998 2000 1999 2001 dataset = callPackage ../development/python-modules/dataset { };