biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / werkzeug / default.nix
blob6da0b68c6c0549765eab2825cb1773b5cb51f572
2   lib,
3   stdenv,
4   buildPythonPackage,
5   pythonOlder,
6   fetchPypi,
8   # build-system
9   flit-core,
11   # dependencies
12   markupsafe,
14   # optional-dependencies
15   watchdog,
17   # tests
18   cryptography,
19   ephemeral-port-reserve,
20   greenlet,
21   pytest-timeout,
22   pytest-xprocess,
23   pytestCheckHook,
25   # reverse dependencies
26   moto,
27   sentry-sdk,
30 buildPythonPackage rec {
31   pname = "werkzeug";
32   version = "3.0.4";
33   pyproject = true;
35   disabled = pythonOlder "3.8";
37   src = fetchPypi {
38     inherit pname version;
39     hash = "sha256-NPI3FQayUN9NT4S/57CSHkdiUldiu9k2YUkJ/iXNcwY=";
40   };
42   build-system = [ flit-core ];
44   dependencies = [ markupsafe ];
46   optional-dependencies = {
47     watchdog = lib.optionals (!stdenv.hostPlatform.isDarwin) [
48       # watchdog requires macos-sdk 10.13
49       watchdog
50     ];
51   };
53   nativeCheckInputs =
54     [
55       cryptography
56       ephemeral-port-reserve
57       pytest-timeout
58       pytest-xprocess
59       pytestCheckHook
60     ]
61     ++ lib.optionals (pythonOlder "3.11") [ greenlet ]
62     ++ lib.flatten (builtins.attrValues optional-dependencies);
64   pythonImportsCheck = [ "werkzeug" ];
66   disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ "test_get_machine_id" ];
68   disabledTestPaths = [
69     # ConnectionRefusedError: [Errno 111] Connection refused
70     "tests/test_serving.py"
71   ];
73   pytestFlagsArray = [
74     # don't run tests that are marked with filterwarnings, they fail with
75     # warnings._OptionError: unknown warning category: 'pytest.PytestUnraisableExceptionWarning'
76     "-m 'not filterwarnings'"
77   ];
79   passthru.tests = {
80     inherit moto sentry-sdk;
81   };
83   meta = {
84     changelog = "https://werkzeug.palletsprojects.com/en/${lib.versions.majorMinor version}.x/changes/#version-${
85       lib.replaceStrings [ "." ] [ "-" ] version
86     }";
87     homepage = "https://palletsprojects.com/p/werkzeug/";
88     description = "Comprehensive WSGI web application library";
89     longDescription = ''
90       Werkzeug is a comprehensive WSGI web application library. It
91       began as a simple collection of various utilities for WSGI
92       applications and has become one of the most advanced WSGI
93       utility libraries.
94     '';
95     license = lib.licenses.bsd3;
96     maintainers = [ ];
97   };