1{ lib
2, buildPythonPackage
3, fetchPypi
4, nose
5, apispec
6, colorama
7, click
8, flask
9, flask-babel
10, flask_login
11, flask-openid
12, flask_sqlalchemy
13, flask_wtf
14, flask-jwt-extended
15, jsonschema
16, marshmallow
17, marshmallow-enum
18, marshmallow-sqlalchemy
19, python-dateutil
20, prison
21, pyjwt
22, pyyaml
23, sqlalchemy-utils
24}:
25
26buildPythonPackage rec {
27 pname = "flask-appbuilder";
28 version = "2.3.0";
29
30 src = fetchPypi {
31 pname = "Flask-AppBuilder";
32 inherit version;
33 sha256 = "04bsswi7daaqda01a83rd1f2gq6asii520f9arjf7bsy24pmbprc";
34 };
35
36 checkInputs = [
37 nose
38 ];
39
40 propagatedBuildInputs = [
41 apispec
42 colorama
43 click
44 flask
45 flask-babel
46 flask_login
47 flask-openid
48 flask_sqlalchemy
49 flask_wtf
50 flask-jwt-extended
51 jsonschema
52 marshmallow
53 marshmallow-enum
54 marshmallow-sqlalchemy
55 python-dateutil
56 prison
57 pyjwt
58 sqlalchemy-utils
59 pyyaml
60 ];
61
62 postPatch = ''
63 substituteInPlace setup.py \
64 --replace "apispec[yaml]>=1.1.1, <2" "apispec" \
65 --replace "jsonschema>=3.0.1, <4" "jsonschema" \
66 --replace "marshmallow>=2.18.0, <4.0.0" "marshmallow" \
67 --replace "PyJWT>=1.7.1" "PyJWT" \
68 --replace "Flask-SQLAlchemy>=2.4, <3" "Flask-SQLAlchemy" \
69 --replace "Flask-JWT-Extended>=3.18, <4" "Flask-JWT-Extended" \
70 --replace "Flask-Login>=0.3, <0.5" "Flask-Login"
71 '';
72
73 # majority of tests require network access or mongo
74 doCheck = false;
75
76 meta = with lib; {
77 description = "Simple and rapid application development framework, built on top of Flask";
78 homepage = "https://github.com/dpgaspar/flask-appbuilder/";
79 license = licenses.bsd3;
80 maintainers = with maintainers; [ costrouc ];
81 };
82}