···
15
+
src = fetchFromGitHub {
16
+
owner = "kylebarron";
18
+
tag = "py-v${version}";
19
+
hash = "sha256-RTr+mf5slfxxvXp9cwPuy08AZUswPtIIRz+vngdg/k0=";
22
+
cargoDeps = rustPlatform.fetchCargoVendor {
23
+
inherit version src;
24
+
pname = "arro3-vendor";
25
+
hash = "sha256-YQA8Z86Ul8yAHncMgYrGmNe10KSpubHjaokCjaqTAxo=";
29
+
homepage = "https://github.com/kylebarron/arro3";
30
+
changelog = "https://github.com/kylebarron/arro3/releases/tag/py-v${version}";
31
+
license = lib.licenses.asl20;
32
+
maintainers = [ lib.maintainers.mslingsby ];
43
+
buildPythonPackage rec {
54
+
sourceRoot = "${src.name}/${subdir}";
57
+
nativeBuildInputs = with rustPlatform; [
63
+
CARGO_TARGET_DIR = "./target";
66
+
# Avoid infinite recursion in tests.
67
+
# arro3-core tests depends on arro3-compute and arro3-compute depends on arro3-core
68
+
passthru.tests = { inherit arro3-tests; };
70
+
meta = commonMeta // {
71
+
inherit description;
75
+
arro3-core = buildArro3Package {
76
+
pname = "arro3-core";
77
+
subdir = "arro3-core";
78
+
description = "Core library for representing Arrow data in Python";
79
+
pythonImportsCheck = [ "arro3.core" ];
82
+
arro3-compute = buildArro3Package {
83
+
pname = "arro3-compute";
84
+
subdir = "arro3-compute";
85
+
description = "Rust-based compute kernels for Arrow in Python";
86
+
pythonImportsCheck = [ "arro3.compute" ];
87
+
dependencies = [ arro3-core ];
90
+
arro3-io = buildArro3Package {
92
+
subdir = "arro3-io";
93
+
description = "Rust-based readers and writers for Arrow in Python";
94
+
pythonImportsCheck = [ "arro3.io" ];
95
+
dependencies = [ arro3-core ];
98
+
arro3-tests = buildPythonPackage {
99
+
pname = "arro3-tests";
100
+
version = arro3-core.version;
104
+
dontInstall = true;
108
+
nativeCheckInputs = [
121
+
inherit arro3-core arro3-io arro3-compute;