Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / tensorstore / default.nix
blob5e8631062394b69cac9c1f7547d0e268ec15a083
1 { autoPatchelfHook
2 , buildPythonPackage
3 , fetchPypi
4 , lib
5 , numpy
6 , python
7 , stdenv
8 }:
10 let
11   pythonVersionNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
12   systemToPlatform = {
13     "x86_64-linux" = "manylinux_2_17_x86_64.manylinux2014_x86_64";
14     "aarch64-darwin" = "macosx_11_0_arm64";
15   };
16   hashes = {
17     "310-x86_64-linux" = "sha256-Zuy2zBLV950CMbdtpLNpIWqnXHw2jkjrZG48eGtm42w=";
18     "311-x86_64-linux" = "sha256-Bg5j8QB5z8Ju4bEQsZDojJHTJ4UoQF1pkd4ma83Sc/s=";
19     "310-aarch64-darwin" = "sha256-6Tta4ru1TnobFa4FXWz8fm9rAxF0G09Y2Pj/KaQPVnE=";
20     "311-aarch64-darwin" = "sha256-Sb0tv9ZPQJ4n9b0ybpjJWpreQPZvSC5Sd7CXuUwHCn0=";
21   };
23 buildPythonPackage rec {
24   pname = "tensorstore";
25   version = "0.1.40";
26   format = "wheel";
28   # The source build involves some wonky Bazel stuff.
29   src = fetchPypi {
30     inherit pname version;
31     format = "wheel";
32     python = "cp${pythonVersionNoDot}";
33     abi = "cp${pythonVersionNoDot}";
34     dist = "cp${pythonVersionNoDot}";
35     platform = systemToPlatform.${stdenv.system} or (throw "unsupported system");
36     hash = hashes."${pythonVersionNoDot}-${stdenv.system}" or (throw "unsupported system/python version combination");
37   };
39   nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
41   propagatedBuildInputs = [ numpy ];
43   pythonImportsCheck = [ "tensorstore" ];
45   meta = with lib; {
46     description = "Library for reading and writing large multi-dimensional arrays";
47     homepage = "https://google.github.io/tensorstore";
48     changelog = "https://github.com/google/tensorstore/releases/tag/v${version}";
49     license = licenses.asl20;
50     sourceProvenance = [ sourceTypes.binaryNativeCode ];
51     maintainers = with maintainers; [ samuela ];
52   };