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.55.0"; 19 pyproject = true; 20 21 disabled = pythonOlder "3.7"; 22 23 src = fetchFromGitHub { 24 owner = "globus"; 25 repo = "globus-sdk-python"; 26 tag = version; 27 hash = "sha256-3Mf4saBxpyHJC9cz27AaVMn3/IF9XKONMHvpWhCFnSo="; 28 }; 29 30 build-system = [ setuptools ]; 31 32 preCheck = '' 33 export HOME=$(mktemp -d) 34 ''; 35 36 dependencies = [ 37 cryptography 38 requests 39 pyjwt 40 ] ++ lib.optionals (pythonOlder "3.10") [ typing-extensions ]; 41 42 nativeCheckInputs = [ pytestCheckHook ]; 43 44 checkInputs = [ 45 flaky 46 responses 47 ]; 48 49 pythonImportsCheck = [ "globus_sdk" ]; 50 51 meta = { 52 description = "Interface to Globus REST APIs, including the Transfer API and the Globus Auth API"; 53 homepage = "https://github.com/globus/globus-sdk-python"; 54 changelog = "https://github.com/globus/globus-sdk-python/releases/tag/${src.tag}"; 55 license = lib.licenses.asl20; 56 maintainers = with lib.maintainers; [ bot-wxt1221 ]; 57 }; 58}