1{
2 lib,
3 buildPythonPackage,
4 email-validator,
5 fetchFromGitHub,
6 flask,
7 flask-wtf,
8 markupsafe,
9 mongoengine,
10 pythonOlder,
11 setuptools,
12 setuptools-scm,
13 typing-extensions,
14 wtforms,
15}:
16
17buildPythonPackage rec {
18 pname = "flask-mongoengine";
19 version = "1.0.0-unstable-2022-08-16";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "MongoEngine";
26 repo = "flask-mongoengine";
27 rev = "d4526139cb1e2e94111ab7de96bb629d574c1690";
28 hash = "sha256-oMQU9Z8boc0q+0KzIQAZ8qSyxiITDY0M9FCg75S9MEY=";
29 };
30
31 env.SETUPTOOLS_SCM_PRETEND_VERSION = "1.0.0";
32
33 nativeBuildInputs = [
34 setuptools
35 setuptools-scm
36 ];
37
38 propagatedBuildInputs = [
39 email-validator
40 flask
41 flask-wtf
42 mongoengine
43 ]
44 ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
45
46 optional-dependencies = {
47 wtf = [
48 flask-wtf
49 wtforms
50 ]
51 ++ wtforms.optional-dependencies.email;
52 # toolbar = [
53 # flask-debugtoolbar
54 # ];
55 legacy = [ markupsafe ];
56 };
57
58 # Tests require working mongodb connection
59 doCheck = false;
60
61 pythonImportsCheck = [ "flask_mongoengine" ];
62
63 meta = with lib; {
64 description = "Flask extension that provides integration with MongoEngine and WTF model forms";
65 homepage = "https://github.com/mongoengine/flask-mongoengine";
66 changelog = "https://github.com/MongoEngine/flask-mongoengine/releases/tag/v${version}";
67 license = licenses.bsd3;
68 maintainers = [ ];
69 };
70}