1{ lib
2, buildPythonPackage
3, fetchPypi
4
5# extras: babel
6, babel
7, flask-babel
8
9# extras: common
10, bcrypt
11, bleach
12, flask-mailman
13, qrcode
14
15# extras: fsqla
16, flask-sqlalchemy
17, sqlalchemy
18, sqlalchemy-utils
19
20# extras: mfa
21, cryptography
22, phonenumbers
23
24# propagates
25, blinker
26, email-validator
27, flask
28, flask-login
29, flask_principal
30, flask-wtf
31, itsdangerous
32, passlib
33
34# tests
35, argon2-cffi
36, flask-mongoengine
37, mongoengine
38, mongomock
39, peewee
40, pony
41, pytestCheckHook
42, python-dateutil
43, zxcvbn
44}:
45
46buildPythonPackage rec {
47 pname = "flask-security-too";
48 version = "5.0.2";
49
50 src = fetchPypi {
51 pname = "Flask-Security-Too";
52 inherit version;
53 sha256 = "sha256-Nv7g2l0bPSEcrydFU7d1NHjCCJl8Ykq7hOu6QmHeZcI=";
54 };
55
56 propagatedBuildInputs = [
57 blinker
58 email-validator
59 flask
60 flask-login
61 flask_principal
62 flask-wtf
63 itsdangerous
64 passlib
65 ];
66
67 passthru.optional-dependencies = {
68 babel = [
69 babel
70 flask-babel
71 ];
72 common = [
73 bcrypt
74 bleach
75 flask-mailman
76 qrcode
77 ];
78 fsqla = [
79 flask-sqlalchemy
80 sqlalchemy
81 sqlalchemy-utils
82 ];
83 mfa = [
84 cryptography
85 phonenumbers
86 ];
87 };
88
89 checkInputs = [
90 argon2-cffi
91 flask-mongoengine
92 mongoengine
93 mongomock
94 peewee
95 pony
96 pytestCheckHook
97 python-dateutil
98 zxcvbn
99 ]
100 ++ passthru.optional-dependencies.babel
101 ++ passthru.optional-dependencies.common
102 ++ passthru.optional-dependencies.fsqla
103 ++ passthru.optional-dependencies.mfa;
104
105
106 pythonImportsCheck = [ "flask_security" ];
107
108 meta = with lib; {
109 homepage = "https://pypi.org/project/Flask-Security-Too/";
110 description = "Simple security for Flask apps (fork)";
111 license = licenses.mit;
112 maintainers = with maintainers; [ gador ];
113 };
114}