nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 flit-core,
8
9 # dependencies
10 blinker,
11 click,
12 itsdangerous,
13 jinja2,
14 werkzeug,
15
16 # optional-dependencies
17 asgiref,
18 python-dotenv,
19
20 # tests
21 pytestCheckHook,
22
23 # reverse dependencies
24 flask-limiter,
25 flask-restful,
26 flask-restx,
27 moto,
28}:
29
30buildPythonPackage rec {
31 pname = "flask";
32 version = "3.1.2";
33 pyproject = true;
34
35 src = fetchPypi {
36 inherit pname version;
37 hash = "sha256-v2VsFcgBkO1iitCM39Oqo1vrCHhV4vSUkQqjd0zE/Yc=";
38 };
39
40 build-system = [ flit-core ];
41
42 dependencies = [
43 click
44 blinker
45 itsdangerous
46 jinja2
47 werkzeug
48 ];
49
50 optional-dependencies = {
51 async = [ asgiref ];
52 dotenv = [ python-dotenv ];
53 };
54
55 nativeCheckInputs = [ pytestCheckHook ] ++ lib.concatAttrValues optional-dependencies;
56
57 passthru.tests = {
58 inherit
59 flask-limiter
60 flask-restful
61 flask-restx
62 moto
63 ;
64 };
65
66 meta = {
67 changelog = "https://flask.palletsprojects.com/en/stable/changes/#version-${
68 lib.replaceStrings [ "." ] [ "-" ] version
69 }";
70 homepage = "https://flask.palletsprojects.com/";
71 description = "Python micro framework for building web applications";
72 mainProgram = "flask";
73 longDescription = ''
74 Flask is a lightweight WSGI web application framework. It is
75 designed to make getting started quick and easy, with the ability
76 to scale up to complex applications. It began as a simple wrapper
77 around Werkzeug and Jinja and has become one of the most popular
78 Python web application frameworks.
79 '';
80 license = lib.licenses.bsd3;
81 maintainers = with lib.maintainers; [ nickcao ];
82 };
83}