1{ 2 lib, 3 buildPythonPackage, 4 pythonOlder, 5 pythonAtLeast, 6 python, 7 fetchPypi, 8 absl-py, 9 etils, 10}: 11 12buildPythonPackage rec { 13 pname = "array-record"; 14 version = "0.7.2"; 15 format = "wheel"; 16 17 disabled = pythonOlder "3.10" || pythonAtLeast "3.14"; 18 19 src = 20 let 21 pyShortVersion = "cp${builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion}"; 22 in 23 fetchPypi { 24 inherit version format; 25 pname = "array_record"; 26 dist = pyShortVersion; 27 python = pyShortVersion; 28 abi = pyShortVersion; 29 platform = "manylinux_2_17_x86_64.manylinux2014_x86_64"; 30 hash = 31 { 32 cp310 = "sha256-UmMEehSqMqgLy1TcYoKUX/tG4Tf8UM2xgnuUrXOiHGo="; 33 cp311 = "sha256-cUN9Ws8A1xIN/n+/oGfv3mGUfmlsojLS69iWRpA2meM="; 34 cp312 = "sha256-S+cV0NhXXlOzSTr2ED1oUuk6U1gQA0ZXoGPaWxGp/ZQ="; 35 cp313 = "sha256-C7UvwXV0/NXA5dhr7NbUCW/KeUWg5w5F18aN2oAUXAQ="; 36 } 37 .${pyShortVersion} or (throw "${pname} is missing hash for ${pyShortVersion}"); 38 }; 39 40 dependencies = [ 41 absl-py 42 etils 43 ] 44 ++ etils.optional-dependencies.epath; 45 46 pythonImportsCheck = [ "array_record" ]; 47 48 meta = { 49 description = "New file format derived from Riegeli, achieving a new frontier of IO efficiency"; 50 homepage = "https://github.com/google/array_record"; 51 license = lib.licenses.asl20; 52 maintainers = with lib.maintainers; [ GaetanLepage ]; 53 platforms = [ "x86_64-linux" ]; 54 }; 55}