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