1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 click,
6 colorama,
7 cryptography,
8 exrex,
9 fetchFromGitHub,
10 poetry-core,
11 pyopenssl,
12 pyperclip,
13 pytest-mock,
14 pytestCheckHook,
15 questionary,
16 requests,
17 requests-mock,
18}:
19
20buildPythonPackage rec {
21 pname = "myjwt";
22 version = "2.1.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "mBouamama";
27 repo = "MyJWT";
28 tag = version;
29 hash = "sha256-jqBnxo7Omn5gLMCQ7SNbjo54nyFK7pn94796z2Qc9lg=";
30 };
31
32 pythonRelaxDeps = [
33 "cryptography"
34 "pyopenssl"
35 "questionary"
36 ];
37
38 build-system = [ poetry-core ];
39
40 dependencies = [
41 click
42 colorama
43 cryptography
44 exrex
45 pyopenssl
46 pyperclip
47 questionary
48 requests
49 ];
50
51 nativeCheckInputs = [
52 pytest-mock
53 pytestCheckHook
54 requests-mock
55 ];
56
57 pythonImportsCheck = [ "myjwt" ];
58
59 meta = {
60 description = "CLI tool for testing vulnerabilities of JSON Web Tokens (JWT)";
61 homepage = "https://github.com/mBouamama/MyJWT";
62 changelog = "https://github.com/tyki6/MyJWT/releases/tag/${src.tag}";
63 license = lib.licenses.mit;
64 maintainers = with lib.maintainers; [ fab ];
65 mainProgram = "myjwt";
66 # Build failures
67 broken = stdenv.hostPlatform.isDarwin;
68 };
69}