1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 poetry-core,
8
9 # dependencies
10 aiohttp,
11 beautifulsoup4,
12 httpx,
13 multidict,
14 typer,
15 yarl,
16
17 # tests
18 pytest-asyncio,
19 pytestCheckHook,
20}:
21
22buildPythonPackage rec {
23 pname = "authcaptureproxy";
24 version = "1.3.3";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "alandtse";
29 repo = "auth_capture_proxy";
30 tag = "v${version}";
31 hash = "sha256-H5Dl1incS5+lmZaLZXMCOqEIGTcTr4A5J3r3ngpDGtY=";
32 };
33
34 nativeBuildInputs = [ poetry-core ];
35
36 propagatedBuildInputs = [
37 aiohttp
38 beautifulsoup4
39 httpx
40 multidict
41 typer
42 yarl
43 ];
44
45 nativeCheckInputs = [
46 pytest-asyncio
47 pytestCheckHook
48 ];
49
50 disabledTests = [
51 # test fails with frequency 1/200
52 # https://github.com/alandtse/auth_capture_proxy/issues/25
53 "test_return_timer_countdown_refresh_html"
54 # AttributeError: 'NoneType' object has no attribute 'get'
55 "test_replace_empty_action_urls"
56 ];
57
58 pythonImportsCheck = [ "authcaptureproxy" ];
59
60 meta = with lib; {
61 changelog = "https://github.com/alandtse/auth_capture_proxy/releases/tag/v${version}";
62 description = "Proxy to capture authentication information from a webpage";
63 mainProgram = "auth_capture_proxy";
64 homepage = "https://github.com/alandtse/auth_capture_proxy";
65 license = licenses.asl20;
66 maintainers = with maintainers; [
67 graham33
68 hexa
69 ];
70 };
71}