1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 packaging,
6 pybrowsers,
7 pytestCheckHook,
8 python-dotenv,
9 pythonOlder,
10 requests,
11 selenium,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "webdriver-manager";
17 version = "4.0.2";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "SergeyPirogov";
24 repo = "webdriver_manager";
25 tag = "v${version}";
26 hash = "sha256-ZmrQa/2vPwYgSvY3ZUvilg4RizVXpu5hvJJBQVXkK8E=";
27 };
28
29 __darwinAllowLocalNetworking = true;
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 packaging
35 python-dotenv
36 requests
37 ];
38
39 nativeCheckInputs = [
40 pybrowsers
41 pytestCheckHook
42 selenium
43 ];
44
45 pythonImportsCheck = [ "webdriver_manager" ];
46
47 disabledTestPaths = [
48 # Tests require network access and browsers available
49 "tests_negative/"
50 "tests_xdist/"
51 "tests/test_brave_driver.py"
52 "tests/test_chrome_driver.py"
53 "tests/test_chrome_driver.py"
54 "tests/test_chromium_driver.py"
55 "tests/test_custom_http_client.py"
56 "tests/test_downloader.py"
57 "tests/test_edge_driver.py"
58 "tests/test_firefox_manager.py"
59 "tests/test_ie_driver.py"
60 "tests/test_opera_manager.py"
61 "tests/test_opera_manager.py"
62 "tests/test_silent_global_logs.py"
63 ];
64
65 meta = with lib; {
66 description = "Module to manage the binary drivers for different browsers";
67 homepage = "https://github.com/SergeyPirogov/webdriver_manager/";
68 changelog = "https://github.com/SergeyPirogov/webdriver_manager/blob/${version}/CHANGELOG.md";
69 license = licenses.asl20;
70 maintainers = with maintainers; [ fab ];
71 platforms = platforms.linux;
72 };
73}