1{
2 lib,
3 aiohttp-socks,
4 aiohttp,
5 beautifulsoup4,
6 buildPythonPackage,
7 dateparser,
8 dnspython,
9 fetchFromGitHub,
10 orjson,
11 playwright-stealth,
12 playwright,
13 poetry-core,
14 puremagic,
15 pydub,
16 pytz,
17 requests,
18 rfc3161-client,
19 setuptools,
20 speechrecognition,
21 tzdata,
22 w3lib,
23}:
24
25buildPythonPackage rec {
26 pname = "playwrightcapture";
27 version = "1.33.0";
28 pyproject = true;
29
30 src = fetchFromGitHub {
31 owner = "Lookyloo";
32 repo = "PlaywrightCapture";
33 tag = "v${version}";
34 hash = "sha256-ivzyE5+wc9AcgfSLliQmc6wXtcaEYCOAJmwk+kHV0Gw=";
35 };
36
37 pythonRelaxDeps = [
38 "aiohttp"
39 "aiohttp-socks"
40 "beautifulsoup4"
41 "orjson"
42 "playwright"
43 "setuptools"
44 "tzdata"
45 ];
46
47 build-system = [ poetry-core ];
48
49 dependencies = [
50 aiohttp
51 aiohttp-socks
52 beautifulsoup4
53 dateparser
54 dnspython
55 orjson
56 playwright
57 playwright-stealth
58 puremagic
59 pytz
60 requests
61 rfc3161-client
62 setuptools
63 tzdata
64 w3lib
65 ];
66
67 optional-dependencies = {
68 recaptcha = [
69 speechrecognition
70 pydub
71 requests
72 ];
73 };
74
75 # Module has no tests
76 doCheck = false;
77
78 pythonImportsCheck = [ "playwrightcapture" ];
79
80 meta = with lib; {
81 description = "Capture a URL with Playwright";
82 homepage = "https://github.com/Lookyloo/PlaywrightCapture";
83 changelog = "https://github.com/Lookyloo/PlaywrightCapture/releases/tag/${src.tag}";
84 license = licenses.bsd3;
85 maintainers = with maintainers; [ fab ];
86 };
87}