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 requests,
13 azure-identity,
14 pytestCheckHook,
15 responses,
16}:
17
18buildPythonPackage rec {
19 pname = "msgraph-core";
20 version = "1.1.2";
21 pyproject = true;
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "microsoftgraph";
27 repo = "msgraph-sdk-python-core";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-Wc/FWwBZ6IkGoZKKhyybcfKqPpDCJx3YcxOAUcUy2JM=";
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 requests
40 ];
41
42 nativeCheckInputs = [
43 azure-identity
44 pytestCheckHook
45 python-dotenv
46 responses
47 ];
48
49 pythonImportsCheck = [ "msgraph_core" ];
50
51 disabledTestPaths = [
52 # client_id should be the id of a Microsoft Entra application
53 "tests/tasks/test_page_iterator.py"
54 ];
55
56 meta = {
57 description = "Core component of the Microsoft Graph Python SDK";
58 homepage = "https://github.com/microsoftgraph/msgraph-sdk-python-core";
59 changelog = "https://github.com/microsoftgraph/msgraph-sdk-python-core/releases/tag/v${version}";
60 license = lib.licenses.mit;
61 maintainers = with lib.maintainers; [ dotlambda ];
62 };
63}