1{
2 lib,
3 buildPythonPackage,
4 cryptography,
5 fetchFromGitHub,
6 flaky,
7 pyjwt,
8 pytestCheckHook,
9 pythonOlder,
10 requests,
11 responses,
12 setuptools,
13 typing-extensions,
14}:
15
16buildPythonPackage rec {
17 pname = "globus-sdk";
18 version = "3.41.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "globus";
25 repo = "globus-sdk-python";
26 rev = "refs/tags/${version}";
27 hash = "sha256-FQO1D960mg0G/zYMo4J5MtJbPID4oE8UWNpTPKWtsic=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 cryptography
34 requests
35 pyjwt
36 ] ++ lib.optionals (pythonOlder "3.10") [ typing-extensions ];
37
38 nativeCheckInputs = [ pytestCheckHook ];
39
40 checkInputs = [
41 flaky
42 responses
43 ];
44
45 pythonImportsCheck = [ "globus_sdk" ];
46
47 meta = with lib; {
48 description = "Interface to Globus REST APIs, including the Transfer API and the Globus Auth API";
49 homepage = "https://github.com/globus/globus-sdk-python";
50 changelog = "https://github.com/globus/globus-sdk-python/releases/tag/${version}";
51 license = licenses.asl20;
52 };
53}