1{ lib
2, stdenv
3, buildPythonPackage
4, fetchFromGitHub
5, pythonOlder
6
7# propgatedBuildInputs
8, adal
9, certifi
10, google-auth
11, python-dateutil
12, pyyaml
13, requests
14, requests-oauthlib
15, setuptools
16, six
17, urllib3
18, websocket-client
19
20# tests
21, pytestCheckHook
22, mock
23}:
24
25buildPythonPackage rec {
26 pname = "kubernetes";
27 version = "27.2.0";
28 format = "setuptools";
29
30 disabled = pythonOlder "3.6";
31
32 src = fetchFromGitHub {
33 owner = "kubernetes-client";
34 repo = "python";
35 rev = "refs/tags/v${version}";
36 hash = "sha256-KqQ7wUu5Se4WYOdtk9vMU3M5oyz0WgIltSEliCD7s10=";
37 };
38
39 propagatedBuildInputs = [
40 adal
41 certifi
42 google-auth
43 python-dateutil
44 pyyaml
45 requests
46 requests-oauthlib
47 setuptools
48 six
49 urllib3
50 websocket-client
51 ];
52
53 pythonImportsCheck = [
54 "kubernetes"
55 ];
56
57 nativeCheckInputs = [
58 mock
59 pytestCheckHook
60 ];
61
62 disabledTests = lib.optionals stdenv.isDarwin [
63 # AssertionError: <class 'urllib3.poolmanager.ProxyManager'> != <class 'urllib3.poolmanager.Poolmanager'>
64 "test_rest_proxycare"
65 ];
66
67 meta = with lib; {
68 description = "Kubernetes Python client";
69 homepage = "https://github.com/kubernetes-client/python";
70 license = licenses.asl20;
71 maintainers = with maintainers; [ lsix ];
72 };
73}