Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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"; 19 format = "pyproject"; 20 21 disabled = pythonOlder "3.7"; 22 23 src = fetchFromGitHub { 24 owner = "MongoEngine"; 25 repo = pname; 26 rev = "refs/tags/v${version}"; 27 hash = "sha256-YqEtW02VvEeUsLIHLz6+V6juMtWPEIk2tLoKTUdY6YE="; 28 }; 29 30 nativeBuildInputs = [ 31 setuptools 32 setuptools-scm 33 ]; 34 35 propagatedBuildInputs = [ 36 email-validator 37 flask 38 flask-wtf 39 mongoengine 40 ] ++ lib.optionals (pythonOlder "3.8") [ 41 typing-extensions 42 ]; 43 44 passthru.optional-dependencies = { 45 wtf = [ 46 flask-wtf 47 wtforms 48 ] ++ wtforms.optional-dependencies.email; 49 # toolbar = [ 50 # flask-debugtoolbar 51 # ]; 52 legacy = [ 53 markupsafe 54 ]; 55 }; 56 57 # Tests require working mongodb connection 58 doCheck = false; 59 60 pythonImportsCheck = [ 61 "flask_mongoengine" 62 ]; 63 64 meta = with lib; { 65 description = "Flask extension that provides integration with MongoEngine and WTF model forms"; 66 homepage = "https://github.com/mongoengine/flask-mongoengine"; 67 changelog = "https://github.com/MongoEngine/flask-mongoengine/releases/tag/v${version}"; 68 license = licenses.bsd3; 69 maintainers = with maintainers; [ costrouc ]; 70 }; 71}