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.2";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "alandtse";
29 repo = "auth_capture_proxy";
30 rev = "refs/tags/v${version}";
31 hash = "sha256-gdu0Ror/epu6huTEpBrqHD62O9uaL6273pKnpqPKskc=";
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 ];
55
56 pythonImportsCheck = [ "authcaptureproxy" ];
57
58 meta = with lib; {
59 changelog = "https://github.com/alandtse/auth_capture_proxy/releases/tag/v${version}";
60 description = "A proxy to capture authentication information from a webpage";
61 mainProgram = "auth_capture_proxy";
62 homepage = "https://github.com/alandtse/auth_capture_proxy";
63 license = licenses.asl20;
64 maintainers = with maintainers; [
65 graham33
66 hexa
67 ];
68 };
69}