1{ 2 lib, 3 buildPythonPackage, 4 python-dotenv, 5 pythonOlder, 6 fetchFromGitHub, 7 setuptools, 8 httpx, 9 microsoft-kiota-abstractions, 10 microsoft-kiota-authentication-azure, 11 microsoft-kiota-http, 12 microsoft-kiota-serialization-json, 13 azure-identity, 14 pytestCheckHook, 15 responses, 16}: 17 18buildPythonPackage rec { 19 pname = "msgraph-core"; 20 version = "1.3.8"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.9"; 24 25 src = fetchFromGitHub { 26 owner = "microsoftgraph"; 27 repo = "msgraph-sdk-python-core"; 28 tag = "v${version}"; 29 hash = "sha256-6M1C2Y0jYec/yKjigtbaaZiEL23csQAFtuUVMTlaiXk="; 30 }; 31 32 build-system = [ setuptools ]; 33 34 dependencies = [ 35 httpx 36 microsoft-kiota-abstractions 37 microsoft-kiota-authentication-azure 38 microsoft-kiota-http 39 ] 40 ++ httpx.optional-dependencies.http2; 41 42 nativeCheckInputs = [ 43 azure-identity 44 microsoft-kiota-serialization-json 45 pytestCheckHook 46 python-dotenv 47 responses 48 ]; 49 50 pythonImportsCheck = [ "msgraph_core" ]; 51 52 disabledTestPaths = [ 53 # client_id should be the id of a Microsoft Entra application 54 "tests/tasks/test_page_iterator.py" 55 ]; 56 57 meta = { 58 description = "Core component of the Microsoft Graph Python SDK"; 59 homepage = "https://github.com/microsoftgraph/msgraph-sdk-python-core"; 60 changelog = "https://github.com/microsoftgraph/msgraph-sdk-python-core/releases/tag/${src.tag}"; 61 license = lib.licenses.mit; 62 maintainers = with lib.maintainers; [ dotlambda ]; 63 }; 64}