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