{ lib, buildPythonPackage, fetchFromGitHub, defusedxml, flaky, ipython, keyring, packaging, pillow, pyjwt, pytestCheckHook, pythonOlder, requests, requests-futures, requests-mock, requests-oauthlib, requests-toolbelt, setuptools, setuptools-scm, typing-extensions, }: buildPythonPackage rec { pname = "jira"; version = "3.8.0"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "pycontribs"; repo = pname; rev = "refs/tags/${version}"; hash = "sha256-zE0fceCnyv0qKak8sRCXPCauC0KeOmczY/ZkVoHNcS8="; }; nativeBuildInputs = [ setuptools setuptools-scm ]; propagatedBuildInputs = [ defusedxml packaging requests requests-oauthlib requests-toolbelt pillow typing-extensions ]; passthru.optional-dependencies = { cli = [ ipython keyring ]; opt = [ # filemagic pyjwt # requests-jwt # requests-keyberos ]; async = [ requests-futures ]; }; nativeCheckInputs = [ flaky pytestCheckHook requests-mock ]; postPatch = '' substituteInPlace setup.cfg \ --replace "--cov-report=xml --cov jira" "" ''; pythonImportsCheck = [ "jira" ]; # impure tests because of connectivity attempts to jira servers doCheck = false; meta = with lib; { description = "Library to interact with the JIRA REST API"; homepage = "https://github.com/pycontribs/jira"; changelog = "https://github.com/pycontribs/jira/releases/tag/${version}"; license = licenses.bsd2; maintainers = [ ]; mainProgram = "jirashell"; }; }