1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pyjwt,
6 pytestCheckHook,
7 python-dateutil,
8 pythonAtLeast,
9 pythonOlder,
10 requests,
11 responses,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "ibm-cloud-sdk-core";
17 version = "3.24.2";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "IBM";
24 repo = "python-sdk-core";
25 tag = "v${version}";
26 hash = "sha256-xw7jEDr/5Qmd4+riAqFzTTFfmX/gQdlbzNZ8pua0hIs=";
27 };
28
29 pythonRelaxDeps = [ "requests" ];
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 pyjwt
35 python-dateutil
36 requests
37 ];
38
39 nativeCheckInputs = [
40 pytestCheckHook
41 responses
42 ];
43
44 disabledTests = [
45 # Various tests try to access credential files which are not included with the source distribution
46 "test_configure_service"
47 "test_cp4d_authenticator"
48 "test_cwd"
49 "test_files_dict"
50 "test_files_duplicate_parts"
51 "test_files_list"
52 "test_get_authenticator"
53 "test_gzip_compression_external"
54 "test_iam"
55 "test_read_external_sources_2"
56 "test_retry_config_external"
57 # Tests require network access
58 "test_tls_v1_2"
59 ];
60
61 disabledTestPaths = [
62 # Tests require credentials
63 "test_integration/"
64 ];
65
66 meta = with lib; {
67 description = "Client library for the IBM Cloud services";
68 homepage = "https://github.com/IBM/python-sdk-core";
69 changelog = "https://github.com/IBM/python-sdk-core/blob/${src.tag}/CHANGELOG.md";
70 license = licenses.asl20;
71 maintainers = with maintainers; [ globin ];
72 };
73}