1{ lib
2, buildPythonPackage
3, fetchPypi
4, asgiref
5, click
6, importlib-metadata
7, itsdangerous
8, jinja2
9, python-dotenv
10, werkzeug
11, pytestCheckHook
12, pythonOlder
13 # used in passthru.tests
14, flask-limiter
15, flask-restful
16, flask-restx
17, moto
18}:
19
20buildPythonPackage rec {
21 pname = "flask";
22 version = "2.2.2";
23
24 src = fetchPypi {
25 pname = "Flask";
26 inherit version;
27 sha256 = "sha256-ZCxFDRnErUgvlnKb0qj20yVUqh4jH09rTn5SZLFsyis=";
28 };
29
30 propagatedBuildInputs = [
31 asgiref
32 python-dotenv
33 click
34 itsdangerous
35 jinja2
36 werkzeug
37 ] ++ lib.optional (pythonOlder "3.10") importlib-metadata;
38
39 checkInputs = [
40 pytestCheckHook
41 ];
42
43 passthru.tests = {
44 inherit flask-limiter flask-restful flask-restx moto;
45 };
46
47 meta = with lib; {
48 homepage = "https://flask.palletsprojects.com/";
49 description = "The Python micro framework for building web applications";
50 longDescription = ''
51 Flask is a lightweight WSGI web application framework. It is
52 designed to make getting started quick and easy, with the ability
53 to scale up to complex applications. It began as a simple wrapper
54 around Werkzeug and Jinja and has become one of the most popular
55 Python web application frameworks.
56 '';
57 license = licenses.bsd3;
58 maintainers = with maintainers; [ SuperSandro2000 ];
59 };
60}