nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 appdirs,
4 buildPythonPackage,
5 certifi,
6 fetchFromGitHub,
7 importlib-metadata,
8 poetry-core,
9 pyee,
10 pytest-xdist,
11 pytestCheckHook,
12 syncer,
13 tqdm,
14 urllib3,
15 websockets,
16}:
17
18buildPythonPackage rec {
19 pname = "pyppeteer";
20 version = "2.0.0";
21 pyproject = true;
22
23 src = fetchFromGitHub {
24 owner = "pyppeteer";
25 repo = "pyppeteer";
26 tag = version;
27 hash = "sha256-LYyV4Wzz4faewSsGjNe0i/9BLbCHzzEns2ZL2MYkGWw=";
28 };
29
30 nativeBuildInputs = [ poetry-core ];
31
32 propagatedBuildInputs = [
33 appdirs
34 certifi
35 importlib-metadata
36 pyee
37 tqdm
38 urllib3
39 websockets
40 ];
41
42 pythonRelaxDeps = [
43 "pyee"
44 "urllib3"
45 "websockets"
46 ];
47
48 nativeCheckInputs = [
49 syncer
50 pytest-xdist
51 pytestCheckHook
52 ];
53
54 disabledTestPaths = [
55 # Requires network access
56 "tests/test_browser.py"
57 "tests/test_browser_context.py"
58 "tests/test_connection.py"
59 "tests/test_coverage.py"
60 "tests/test_dialog.py"
61 "tests/test_element_handle.py"
62 "tests/test_execution_context.py"
63 "tests/test_frame.py"
64 "tests/test_input.py"
65 "tests/test_launcher.py"
66 "tests/test_network.py"
67 "tests/test_page.py"
68 "tests/test_pyppeteer.py"
69 "tests/test_target.py"
70 "tests/test_tracing.py"
71 "tests/test_worker.py"
72 ];
73
74 disabledTests = [
75 # Requires network access
76 "TestScreenShot"
77 "TestBrowserCrash"
78 "TestPDF"
79 ];
80
81 pythonImportsCheck = [ "pyppeteer" ];
82
83 meta = {
84 description = "Headless chrome/chromium automation library (unofficial port of puppeteer)";
85 mainProgram = "pyppeteer-install";
86 homepage = "https://github.com/pyppeteer/pyppeteer";
87 changelog = "https://github.com/pyppeteer/pyppeteer/blob/${src.tag}/CHANGELOG.md";
88 license = lib.licenses.mit;
89 maintainers = with lib.maintainers; [ kmein ];
90 };
91}