python3Packages.datafusion: 40.1.0 -> 48.0.0

Diff:
https://github.com/apache/arrow-datafusion-python/compare/40.1.0...48.0.0

Changelog:
https://github.com/apache/arrow-datafusion-python/blob/48.0.0/CHANGELOG.md

Changed files
+31 -47
pkgs
development
python-modules
datafusion
+31 -47
pkgs/development/python-modules/datafusion/default.nix
···
{
lib,
-
stdenv,
buildPythonPackage,
fetchFromGitHub,
rustPlatform,
-
pytestCheckHook,
-
libiconv,
-
numpy,
-
protobuf,
protoc,
pyarrow,
typing-extensions,
-
pythonOlder,
}:
-
let
-
arrow-testing = fetchFromGitHub {
-
name = "arrow-testing";
-
owner = "apache";
-
repo = "arrow-testing";
-
rev = "4d209492d514c2d3cb2d392681b9aa00e6d8da1c";
-
hash = "sha256-IkiCbuy0bWyClPZ4ZEdkEP7jFYLhM7RCuNLd6Lazd4o=";
-
};
-
-
parquet-testing = fetchFromGitHub {
-
name = "parquet-testing";
-
owner = "apache";
-
repo = "parquet-testing";
-
rev = "50af3d8ce206990d81014b1862e5ce7380dc3e08";
-
hash = "sha256-edyv/r5olkj09aHtm8LHZY0b3jUtLNUcufwI41qKYaY=";
-
};
-
in
-
buildPythonPackage rec {
pname = "datafusion";
-
version = "40.1.0";
pyproject = true;
src = fetchFromGitHub {
···
owner = "apache";
repo = "arrow-datafusion-python";
tag = version;
-
hash = "sha256-5WOSlx4XW9zO6oTY16lWQElShLv0ubflVPfSSEGrFgg=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
-
name = "datafusion-cargo-deps";
-
inherit src;
-
hash = "sha256-xUpchV4UFEX1HkCpClOwxnEfGLVlOIX4UmzYKiUth9U=";
};
nativeBuildInputs = with rustPlatform; [
···
buildInputs = [
protobuf
-
]
-
++ lib.optionals stdenv.hostPlatform.isDarwin [
-
libiconv
];
dependencies = [
···
];
nativeCheckInputs = [
pytestCheckHook
-
numpy
];
-
pythonImportsCheck = [ "datafusion" ];
-
-
pytestFlags = [
-
"--pyargs"
-
pname
];
preCheck = ''
-
pushd $TMPDIR
-
ln -s ${arrow-testing} ./testing
-
ln -s ${parquet-testing} ./parquet
'';
-
postCheck = ''
-
popd
-
'';
-
meta = with lib; {
description = "Extensible query execution framework";
longDescription = ''
DataFusion is an extensible query execution framework, written in Rust,
···
'';
homepage = "https://arrow.apache.org/datafusion/";
changelog = "https://github.com/apache/arrow-datafusion-python/blob/${version}/CHANGELOG.md";
-
license = with licenses; [ asl20 ];
-
maintainers = with maintainers; [ cpcloud ];
};
}
···
{
lib,
buildPythonPackage,
fetchFromGitHub,
rustPlatform,
+
+
# nativeBuildInputs
protoc,
+
+
# buildInputs
+
protobuf,
+
+
# dependencies
pyarrow,
typing-extensions,
+
+
# tests
+
numpy,
+
pytest-asyncio,
+
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "datafusion";
+
version = "48.0.0";
pyproject = true;
src = fetchFromGitHub {
···
owner = "apache";
repo = "arrow-datafusion-python";
tag = version;
+
# Fetch arrow-testing and parquet-testing (tests assets)
+
fetchSubmodules = true;
+
hash = "sha256-9IOkb31f4nFo9mWTr+z5ZG8xSXIZSgW3vCBgLaGxpfI=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
+
inherit pname src version;
+
hash = "sha256-P9NFvhHAGgYIi36CHEPZPr8hmMNp5zrCcmE7NHx51k4=";
};
nativeBuildInputs = with rustPlatform; [
···
buildInputs = [
protobuf
];
dependencies = [
···
];
nativeCheckInputs = [
+
numpy
+
pytest-asyncio
pytestCheckHook
];
+
pythonImportsCheck = [
+
"datafusion"
+
"datafusion._internal"
];
preCheck = ''
+
rm -rf python/datafusion
'';
+
disabledTests = [
+
# Exception: DataFusion error (requires internet access)
+
"test_register_http_csv"
+
];
+
meta = {
description = "Extensible query execution framework";
longDescription = ''
DataFusion is an extensible query execution framework, written in Rust,
···
'';
homepage = "https://arrow.apache.org/datafusion/";
changelog = "https://github.com/apache/arrow-datafusion-python/blob/${version}/CHANGELOG.md";
+
license = with lib.licenses; [ asl20 ];
+
maintainers = with lib.maintainers; [ cpcloud ];
};
}