python310Packages.polars: 0.15.13 -> 0.17.11

This commit is contained in:
Michael Schantz Klausen 2023-05-04 15:40:56 +02:00 committed by Yt
parent 16b3b0c53b
commit 89abc99d5b
2 changed files with 2706 additions and 15 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4,15 +4,17 @@
, pythonOlder
, rustPlatform
, libiconv
, fetchzip
, fetchFromGitHub
, typing-extensions
}:
let
pname = "polars";
version = "0.15.13";
rootSource = fetchzip {
url = "https://github.com/pola-rs/${pname}/archive/refs/tags/py-${version}.tar.gz";
hash = "sha256-bk2opNLN3L+fkzXVfUU5O37UmA27ijmnAElCHjsuI+o=";
version = "0.17.11";
rootSource = fetchFromGitHub {
owner = "pola-rs";
repo = "polars";
rev = "refs/tags/py-${version}";
hash = "sha256-zNp/77an9daUfHQ+HCaHtZzaq0TT9F+8aH3abrF7+YA=";
};
in
buildPythonPackage {
@ -21,28 +23,28 @@ buildPythonPackage {
disabled = pythonOlder "3.6";
src = rootSource;
# Cargo.lock files is sometimes behind actual release which throws an error,
# Cargo.lock file is sometimes behind actual release which throws an error,
# thus the `sed` command
# Make sure to check that the right substitutions are made when updating the package
preBuild = ''
cd py-polars
sed -i 's/version = "0.15.11"/version = "${version}"/g' Cargo.lock
#sed -i 's/version = "0.17.11"/version = "${version}"/g' Cargo.lock
'';
cargoDeps = rustPlatform.fetchCargoTarball {
src = rootSource;
preBuild = ''
cd py-polars
'';
name = "${pname}-${version}";
hash = "sha256-u7ascftUPz8K+gWwjjxdXXFJf++M+8P9QE/KVJkO5DM=";
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"arrow2-0.17.0" = "sha256-jjrwTP+ZKem9lyrmAWJ+t9cZBkGqAR1VlgNFXDtx1LA=";
"jsonpath_lib-0.3.0" = "sha256-NKszYpDGG8VxfZSMbsTlzcMGFHBOUeFojNw4P2wM3qk=";
"simd-json-0.7.0" = "sha256-tlz6my4vhUQIArPonJml8zIyk1sbbDSORKp3cmPUUSI=";
};
};
cargoRoot = "py-polars";
# Revisit this whenever package or Rust is upgraded
RUSTC_BOOTSTRAP = 1;
propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [ typing-extensions ];
propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [ typing-extensions ];
nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];