Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / flask / default.nix
blob154625f6c52a2154c28e9d9661cac4e584f7b4db
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , asgiref
5 , blinker
6 , click
7 , flit-core
8 , importlib-metadata
9 , itsdangerous
10 , jinja2
11 , python-dotenv
12 , werkzeug
13 , pytestCheckHook
14 , pythonOlder
15   # used in passthru.tests
16 , flask-limiter
17 , flask-restful
18 , flask-restx
19 , moto
22 buildPythonPackage rec {
23   pname = "flask";
24   version = "2.3.3";
25   format = "pyproject";
27   src = fetchPypi {
28     inherit pname version;
29     hash = "sha256-CcNHqSqn/0qOfzIGeV8w2CZlS684uHPQdEzVccpgnvw=";
30   };
32   nativeBuildInputs = [
33     flit-core
34   ];
36   propagatedBuildInputs = [
37     click
38     blinker
39     itsdangerous
40     jinja2
41     werkzeug
42   ] ++ lib.optional (pythonOlder "3.10") importlib-metadata;
44   nativeCheckInputs = [
45     pytestCheckHook
46   ];
48   passthru.tests = {
49     inherit flask-limiter flask-restful flask-restx moto;
50   };
51   passthru.optional-dependencies = {
52     dotenv = [ python-dotenv ];
53     async = [ asgiref ];
54   };
56   meta = with lib; {
57     homepage = "https://flask.palletsprojects.com/";
58     description = "The Python micro framework for building web applications";
59     longDescription = ''
60       Flask is a lightweight WSGI web application framework. It is
61       designed to make getting started quick and easy, with the ability
62       to scale up to complex applications. It began as a simple wrapper
63       around Werkzeug and Jinja and has become one of the most popular
64       Python web application frameworks.
65     '';
66     license = licenses.bsd3;
67     maintainers = with maintainers; [ nickcao ];
68   };