biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / flask / default.nix
blob850dba14f28e1aa67d7ad8fec231948defa1d648
2   lib,
3   buildPythonPackage,
4   fetchPypi,
5   pythonOlder,
7   # build-system
8   flit-core,
10   # dependencies
11   blinker,
12   click,
13   importlib-metadata,
14   itsdangerous,
15   jinja2,
16   werkzeug,
18   # optional-dependencies
19   asgiref,
20   python-dotenv,
22   # tests
23   greenlet,
24   pytestCheckHook,
26   # reverse dependencies
27   flask-limiter,
28   flask-restful,
29   flask-restx,
30   moto,
33 buildPythonPackage rec {
34   pname = "flask";
35   version = "3.0.3";
36   format = "pyproject";
38   src = fetchPypi {
39     inherit pname version;
40     hash = "sha256-zrJ7CvOCPqJzeSik2Z0SWgYXW4USxEXL2anOIA73aEI=";
41   };
43   nativeBuildInputs = [ flit-core ];
45   propagatedBuildInputs = [
46     click
47     blinker
48     itsdangerous
49     jinja2
50     werkzeug
51   ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
53   optional-dependencies = {
54     async = [ asgiref ];
55     dotenv = [ python-dotenv ];
56   };
58   nativeCheckInputs =
59     [ pytestCheckHook ]
60     ++ lib.optionals (pythonOlder "3.11") [ greenlet ]
61     ++ lib.flatten (builtins.attrValues optional-dependencies);
63   passthru.tests = {
64     inherit
65       flask-limiter
66       flask-restful
67       flask-restx
68       moto
69       ;
70   };
72   meta = with lib; {
73     changelog = "https://flask.palletsprojects.com/en/${versions.majorMinor version}.x/changes/#version-${
74       replaceStrings [ "." ] [ "-" ] version
75     }";
76     homepage = "https://flask.palletsprojects.com/";
77     description = "Python micro framework for building web applications";
78     mainProgram = "flask";
79     longDescription = ''
80       Flask is a lightweight WSGI web application framework. It is
81       designed to make getting started quick and easy, with the ability
82       to scale up to complex applications. It began as a simple wrapper
83       around Werkzeug and Jinja and has become one of the most popular
84       Python web application frameworks.
85     '';
86     license = licenses.bsd3;
87     maintainers = with maintainers; [ nickcao ];
88   };