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 = pname;
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 ] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
44
45 passthru.optional-dependencies = {
46 wtf = [
47 flask-wtf
48 wtforms
49 ] ++ wtforms.optional-dependencies.email;
50 # toolbar = [
51 # flask-debugtoolbar
52 # ];
53 legacy = [ markupsafe ];
54 };
55
56 # Tests require working mongodb connection
57 doCheck = false;
58
59 pythonImportsCheck = [ "flask_mongoengine" ];
60
61 meta = with lib; {
62 description = "Flask extension that provides integration with MongoEngine and WTF model forms";
63 homepage = "https://github.com/mongoengine/flask-mongoengine";
64 changelog = "https://github.com/MongoEngine/flask-mongoengine/releases/tag/v${version}";
65 license = licenses.bsd3;
66 maintainers = [ ];
67 };
68}