Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / pyjwt / default.nix
blobcef52b754ad6f4998bccd641423ba775d78926e1
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , cryptography
5 , pytestCheckHook
6 , pythonOlder
7 , sphinxHook
8 , sphinx-rtd-theme
9 , zope_interface
12 buildPythonPackage rec {
13   pname = "pyjwt";
14   version = "2.8.0";
15   format = "pyproject";
17   disabled = pythonOlder "3.7";
19   src = fetchPypi {
20     pname = "PyJWT";
21     inherit version;
22     hash = "sha256-V+KNFW49XBAIjgxoq7kL+sPfgrQKcb0NqiDGXM1cI94=";
23   };
25   postPatch = ''
26     sed -i '/types-cryptography/d' setup.cfg
27   '';
29   outputs = [
30     "out"
31     "doc"
32   ];
34   nativeBuildInputs = [
35     sphinxHook
36     sphinx-rtd-theme
37     zope_interface
38   ];
40   passthru.optional-dependencies.crypto = [
41     cryptography
42   ];
44   nativeCheckInputs = [
45     pytestCheckHook
46   ] ++ (lib.flatten (lib.attrValues passthru.optional-dependencies));
48   disabledTests = [
49     # requires internet connection
50     "test_get_jwt_set_sslcontext_default"
51   ];
53   pythonImportsCheck = [ "jwt" ];
55   meta = with lib; {
56     changelog = "https://github.com/jpadilla/pyjwt/blob/${version}/CHANGELOG.rst";
57     description = "JSON Web Token implementation in Python";
58     homepage = "https://github.com/jpadilla/pyjwt";
59     license = licenses.mit;
60     maintainers = with maintainers; [ prikhi ];
61   };