1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 opentelemetry-api,
7 opentelemetry-sdk,
8 pytest-asyncio,
9 pytest-mock,
10 pytestCheckHook,
11 pythonOlder,
12 std-uritemplate,
13}:
14
15buildPythonPackage rec {
16 pname = "microsoft-kiota-abstractions";
17 version = "1.9.3";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "microsoft";
24 repo = "kiota-python";
25 tag = "microsoft-kiota-abstractions-v${version}";
26 hash = "sha256-FUfVkJbpD0X7U7DPzyoh+84Bk7C07iLT9dmbUeliFu8=";
27 };
28
29 sourceRoot = "${src.name}/packages/abstractions/";
30
31 build-system = [ poetry-core ];
32
33 dependencies = [
34 opentelemetry-api
35 opentelemetry-sdk
36 std-uritemplate
37 ];
38
39 nativeCheckInputs = [
40 pytest-asyncio
41 pytest-mock
42 pytestCheckHook
43 ];
44
45 disabledTests = [
46 # ValueError: Illegal class passed as substitution, found <class 'datetime.datetime'> at col: 39
47 "test_sets_datetime_values_in_path_parameters"
48 ];
49
50 pythonImportsCheck = [ "kiota_abstractions" ];
51
52 # detects the wrong tag on the repo
53 passthru.skipBulkUpdate = true;
54
55 meta = with lib; {
56 description = "Abstractions library for Kiota generated Python clients";
57 homepage = "https://github.com/microsoft/kiota-python/tree/main/packages/abstractions/";
58 changelog = "https://github.com/microsoft/kiota-python/releases/tag/microsoft-kiota-abstractions-${src.tag}";
59 license = licenses.mit;
60 maintainers = with maintainers; [ fab ];
61 };
62}