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