1{
2 lib,
3 aiohttp,
4 asgiref,
5 azure-core,
6 azure-identity,
7 buildPythonPackage,
8 fetchFromGitHub,
9 ijson,
10 msal,
11 pandas,
12 pytest-asyncio,
13 pytestCheckHook,
14 python-dateutil,
15 pythonOlder,
16 requests,
17 setuptools,
18}:
19
20buildPythonPackage rec {
21 pname = "azure-kusto-data";
22 version = "5.0.5";
23 pyproject = true;
24
25 disabled = pythonOlder "3.10";
26
27 src = fetchFromGitHub {
28 owner = "Azure";
29 repo = "azure-kusto-python";
30 tag = "v${version}";
31 hash = "sha256-DEHTxSvc6AeBMEJuAiDavFj2xVfPmWKpZBaZcpHWHak=";
32 };
33
34 sourceRoot = "${src.name}/${pname}";
35
36 build-system = [ setuptools ];
37
38 dependencies = [
39 azure-core
40 azure-identity
41 ijson
42 msal
43 python-dateutil
44 requests
45 ];
46
47 optional-dependencies = {
48 aio = [
49 aiohttp
50 asgiref
51 ];
52 pandas = [ pandas ];
53 };
54
55 nativeCheckInputs = [
56 pytest-asyncio
57 pytestCheckHook
58 ]
59 ++ lib.flatten (builtins.attrValues optional-dependencies);
60
61 pythonImportsCheck = [ "azure.kusto.data" ];
62
63 disabledTestPaths = [
64 # Tests require network access
65 "tests/aio/test_async_token_providers.py"
66 "tests/test_token_providers.py"
67 "tests/test_e2e_data.py"
68 ];
69
70 meta = {
71 description = "Kusto Data Client";
72 homepage = "https://pypi.org/project/azure-kusto-data/";
73 changelog = "https://github.com/Azure/azure-kusto-python/releases/tag/${src.tag}";
74 license = lib.licenses.mit;
75 maintainers = with lib.maintainers; [ pyrox0 ];
76 };
77}