1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 defusedxml,
6 flaky,
7 ipython,
8 keyring,
9 packaging,
10 pillow,
11 pyjwt,
12 pytestCheckHook,
13 pytest-cov-stub,
14 pythonOlder,
15 requests,
16 requests-futures,
17 requests-mock,
18 requests-oauthlib,
19 requests-toolbelt,
20 setuptools,
21 setuptools-scm,
22 typing-extensions,
23}:
24
25buildPythonPackage rec {
26 pname = "jira";
27 version = "3.10.5";
28 pyproject = true;
29
30 disabled = pythonOlder "3.8";
31
32 src = fetchFromGitHub {
33 owner = "pycontribs";
34 repo = "jira";
35 tag = version;
36 hash = "sha256-Gj9RmNJwmYQviXeNLL6WWFIO91jy6zY/s29Gy18lzyA=";
37 };
38
39 build-system = [
40 setuptools
41 setuptools-scm
42 ];
43
44 dependencies = [
45 defusedxml
46 packaging
47 requests
48 requests-oauthlib
49 requests-toolbelt
50 pillow
51 typing-extensions
52 ];
53
54 optional-dependencies = {
55 cli = [
56 ipython
57 keyring
58 ];
59 opt = [
60 # filemagic
61 pyjwt
62 # requests-jwt
63 # requests-keyberos
64 ];
65 async = [ requests-futures ];
66 };
67
68 nativeCheckInputs = [
69 flaky
70 pytestCheckHook
71 pytest-cov-stub
72 requests-mock
73 ];
74
75 pythonImportsCheck = [ "jira" ];
76
77 # impure tests because of connectivity attempts to jira servers
78 doCheck = false;
79
80 meta = with lib; {
81 description = "Library to interact with the JIRA REST API";
82 homepage = "https://github.com/pycontribs/jira";
83 changelog = "https://github.com/pycontribs/jira/releases/tag/${src.tag}";
84 license = licenses.bsd2;
85 maintainers = [ ];
86 mainProgram = "jirashell";
87 };
88}