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