1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchPypi,
6 python,
7 pypaInstallHook,
8 wheelUnpackHook,
9 grpcio,
10}:
11
12let
13 pythonVersionNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
14 systemToPlatform = {
15 "aarch64-linux" = "manylinux_2_17_aarch64.manylinux2014_aarch64";
16 "x86_64-linux" = "manylinux_2_17_x86_64.manylinux2014_x86_64";
17 "aarch64-darwin" = "macosx_11_0_universal2";
18 "x86_64-darwin" = "macosx_11_0_universal2";
19 };
20
21 hashes = {
22 "39-x86_64-linux" = "sha256-uGbsxSHGfYVzRiy1YEkQMkJi2yPLdSj3fe3adp1WjP0=";
23 "310-x86_64-linux" = "sha256-1SO/1lpB3aRWisxFlt8K5lwFEOiDXjC4iQRai77L+8E=";
24 "311-x86_64-linux" = "sha256-99VdM1fAcuiblReWL5I8+H0psCKR00HYZr/wRGT7nd8=";
25 "312-x86_64-linux" = "sha256-bbggF4rGDrXOpSegreFHgK0H/z7xaR9hb7z6SYp7nlU=";
26 "313-x86_64-linux" = "sha256-M9/t7JgIjh7yiZeEq9K2tGQ4oLneVhXf0rUfL8p09Tg=";
27 "39-aarch64-linux" = "sha256-wuEncCbqWdqO72zovzHrmb34on73eaQgFBmQZdUnwkE=";
28 "310-aarch64-linux" = "sha256-uLHEEPcVakctNT428pNlaq0yKDpvMLynDP2lDobiebA=";
29 "311-aarch64-linux" = "sha256-d2A4mKP4Dlnm6J31wPyAHg8d5MjFF4wcREe5FVFeayU=";
30 "312-aarch64-linux" = "sha256-aW295fQogAjaVK6saHhduKsVsncIv4BsfRW6qHlyb3g=";
31 "313-aarch64-linux" = "sha256-mloW8TGkBJWXqO6xOqHhra3ZXuGQWf6dEGSrkdD0sb0=";
32 "39-darwin" = "sha256-uU9RGo5glYOPp8nEYqj4c1TB3Xa1KwrNWMqNDpJsSjY=";
33 "310-darwin" = "sha256-80U0geHKJLVhhmvHayXWHWaV9ifJjWtR9mbwCUDfPu0=";
34 "311-darwin" = "sha256-kM2YVzPa22QgIRV4zP4kcvTE8al/RW0Oo6lyxJl3JxU=";
35 "312-darwin" = "sha256-t4qbP5wqE8cgkvN+vG6zOeS+s5+U/GjmbeeHytIo9/o=";
36 "313-darwin" = "sha256-ds2kj87miODVUE8Lrjuzz8L+2HxaQ7jTxGQF0/Odrpg=";
37 };
38in
39buildPythonPackage rec {
40 pname = "clarifai-protocol";
41 version = "0.0.14";
42 pyproject = false;
43
44 src = fetchPypi {
45 pname = "clarifai_protocol";
46 inherit version;
47 format = "wheel";
48 python = "cp${pythonVersionNoDot}";
49 abi = "cp${pythonVersionNoDot}";
50 dist = "cp${pythonVersionNoDot}";
51 platform = systemToPlatform.${stdenv.hostPlatform.system} or (throw "unsupported system");
52 hash =
53 if stdenv.hostPlatform.isDarwin then
54 hashes."${pythonVersionNoDot}-darwin"
55 else
56 hashes."${pythonVersionNoDot}-${stdenv.hostPlatform.system}"
57 or (throw "unsupported system/python version combination");
58 };
59
60 nativeBuildInputs = [
61 pypaInstallHook
62 wheelUnpackHook
63 ];
64
65 dependencies = [ grpcio ];
66
67 # require clarifai and it causes a circular import
68 dontUsePythonImportsCheck = true;
69
70 # no tests
71 doCheck = false;
72
73 meta = {
74 description = "Clarifai Python Runner Protocol";
75 homepage = "https://pypi.org/project/clarifai-protocol";
76 license = lib.licenses.asl20;
77 sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
78 maintainers = with lib.maintainers; [ natsukium ];
79 };
80}