Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / flask / default.nix
blob8c60066b1975dbf1a7789f1049c80b9aa6da72ef
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , pythonOlder
6 # build-system
7 , flit-core
9 # dependencies
10 , blinker
11 , click
12 , importlib-metadata
13 , itsdangerous
14 , jinja2
15 , werkzeug
17 # optional-dependencies
18 , asgiref
19 , python-dotenv
21 # tests
22 , greenlet
23 , pytestCheckHook
25 # reverse dependencies
26 , flask-limiter
27 , flask-restful
28 , flask-restx
29 , moto
32 buildPythonPackage rec {
33   pname = "flask";
34   version = "3.0.2";
35   format = "pyproject";
37   src = fetchPypi {
38     inherit pname version;
39     hash = "sha256-giwD9LeZIEJQp+6Ese3cQGZTlTM5c9+53uv+Ql/vy30=";
40   };
42   nativeBuildInputs = [
43     flit-core
44   ];
46   propagatedBuildInputs = [
47     click
48     blinker
49     itsdangerous
50     jinja2
51     werkzeug
52   ] ++ lib.optionals (pythonOlder "3.10") [
53     importlib-metadata
54   ];
56   passthru.optional-dependencies = {
57     async = [
58       asgiref
59     ];
60     dotenv = [
61       python-dotenv
62     ];
63   };
65   nativeCheckInputs = [
66     pytestCheckHook
67   ] ++ lib.optionals (pythonOlder "3.11") [
68     greenlet
69   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
71   passthru.tests = {
72     inherit flask-limiter flask-restful flask-restx moto;
73   };
75   meta = with lib; {
76     changelog = "https://flask.palletsprojects.com/en/${versions.majorMinor version}.x/changes/#version-${replaceStrings [ "." ] [ "-" ] version}";
77     homepage = "https://flask.palletsprojects.com/";
78     description = "The Python micro framework for building web applications";
79     mainProgram = "flask";
80     longDescription = ''
81       Flask is a lightweight WSGI web application framework. It is
82       designed to make getting started quick and easy, with the ability
83       to scale up to complex applications. It began as a simple wrapper
84       around Werkzeug and Jinja and has become one of the most popular
85       Python web application frameworks.
86     '';
87     license = licenses.bsd3;
88     maintainers = with maintainers; [ nickcao ];
89   };