1{ lib
2, buildPythonPackage
3, fetchPypi
4, cryptography
5, pytestCheckHook
6, pythonOlder
7, sphinxHook
8, sphinx-rtd-theme
9, zope_interface
10}:
11
12buildPythonPackage rec {
13 pname = "pyjwt";
14 version = "2.5.0";
15 format = "pyproject";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchPypi {
20 pname = "PyJWT";
21 inherit version;
22 sha256 = "sha256-53q4lICQXYaZhEKsV4jzUzP6hfZQR6U0rcOO3zyI/Ds=";
23 };
24
25 postPatch = ''
26 sed -i '/types-cryptography/d' setup.cfg
27 '';
28
29 outputs = [
30 "out"
31 "doc"
32 ];
33
34 nativeBuildInputs = [
35 sphinxHook
36 sphinx-rtd-theme
37 zope_interface
38 ];
39
40 passthru.optional-dependencies.crypto = [
41 cryptography
42 ];
43
44 checkInputs = [
45 pytestCheckHook
46 ] ++ (lib.flatten (lib.attrValues passthru.optional-dependencies));
47
48 pythonImportsCheck = [ "jwt" ];
49
50 meta = with lib; {
51 description = "JSON Web Token implementation in Python";
52 homepage = "https://github.com/jpadilla/pyjwt";
53 license = licenses.mit;
54 maintainers = with maintainers; [ prikhi ];
55 };
56}