2025-07-24 13:55:40 +02:00

56 lines
1.4 KiB
Nix

{
lib,
buildPythonPackage,
pythonOlder,
pythonAtLeast,
python,
fetchPypi,
absl-py,
etils,
}:
buildPythonPackage rec {
pname = "array-record";
version = "0.7.2";
format = "wheel";
disabled = pythonOlder "3.10" || pythonAtLeast "3.14";
src =
let
pyShortVersion = "cp${builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion}";
in
fetchPypi {
inherit version format;
pname = "array_record";
dist = pyShortVersion;
python = pyShortVersion;
abi = pyShortVersion;
platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
hash =
{
cp310 = "sha256-UmMEehSqMqgLy1TcYoKUX/tG4Tf8UM2xgnuUrXOiHGo=";
cp311 = "sha256-cUN9Ws8A1xIN/n+/oGfv3mGUfmlsojLS69iWRpA2meM=";
cp312 = "sha256-S+cV0NhXXlOzSTr2ED1oUuk6U1gQA0ZXoGPaWxGp/ZQ=";
cp313 = "sha256-C7UvwXV0/NXA5dhr7NbUCW/KeUWg5w5F18aN2oAUXAQ=";
}
.${pyShortVersion} or (throw "${pname} is missing hash for ${pyShortVersion}");
};
dependencies = [
absl-py
etils
]
++ etils.optional-dependencies.epath;
pythonImportsCheck = [ "array_record" ];
meta = {
description = "New file format derived from Riegeli, achieving a new frontier of IO efficiency";
homepage = "https://github.com/google/array_record";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ GaetanLepage ];
platforms = [ "x86_64-linux" ];
};
}