diff --git a/pkgs/development/python-modules/flask-mongoengine/default.nix b/pkgs/development/python-modules/flask-mongoengine/default.nix index e411d1f55a78..9adecc5968d4 100644 --- a/pkgs/development/python-modules/flask-mongoengine/default.nix +++ b/pkgs/development/python-modules/flask-mongoengine/default.nix @@ -1,49 +1,71 @@ { lib , buildPythonPackage +, email-validator , fetchFromGitHub , flask , flask-wtf +, markupsafe , mongoengine -, six -, nose -, rednose -, coverage -, email-validator +, pythonOlder +, setuptools +, setuptools-scm +, typing-extensions +, wtforms }: buildPythonPackage rec { pname = "flask-mongoengine"; version = "1.0.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "MongoEngine"; repo = pname; - rev = "v${version}"; - sha256 = "10g9b13ls2msnhv8j44gslrfxa2ppqz2y1xjn2a4gg4m9mdjv8b2"; + rev = "refs/tags/v${version}"; + hash = "sha256-YqEtW02VvEeUsLIHLz6+V6juMtWPEIk2tLoKTUdY6YE="; }; + nativeBuildInputs = [ + setuptools + setuptools-scm + ]; + propagatedBuildInputs = [ email-validator flask flask-wtf mongoengine - six + ] ++ lib.optionals (pythonOlder "3.8") [ + typing-extensions ]; - # they set test requirements to setup_requirements... - buildInputs = [ - nose - rednose - coverage - ]; + passthru.optional-dependencies = { + wtf = [ + flask-wtf + wtforms + ] ++ wtforms.optional-dependencies.email; + # toolbar = [ + # flask-debugtoolbar + # ]; + legacy = [ + markupsafe + ]; + }; - # tests require working mongodb connection + # Tests require working mongodb connection doCheck = false; + pythonImportsCheck = [ + "flask_mongoengine" + ]; + meta = with lib; { - description = "Flask-MongoEngine is a Flask extension that provides integration with MongoEngine and WTF model forms"; + description = "Flask extension that provides integration with MongoEngine and WTF model forms"; homepage = "https://github.com/mongoengine/flask-mongoengine"; + changelog = "https://github.com/MongoEngine/flask-mongoengine/releases/tag/v${version}"; license = licenses.bsd3; - maintainers = [ maintainers.costrouc ]; + maintainers = with maintainers; [ costrouc ]; }; } diff --git a/pkgs/development/python-modules/wtforms/default.nix b/pkgs/development/python-modules/wtforms/default.nix index 037bbb394e2e..deffda6ef5fe 100644 --- a/pkgs/development/python-modules/wtforms/default.nix +++ b/pkgs/development/python-modules/wtforms/default.nix @@ -5,34 +5,47 @@ , babel , pytestCheckHook , email-validator +, pythonOlder }: buildPythonPackage rec { - version = "3.0.1"; pname = "wtforms"; + version = "3.0.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { pname = "WTForms"; inherit version; - sha256 = "1g654ghavds387hqxmhg9s8x222x89wbq1ggzxbsyn6x2axindbb"; + hash = "sha256-azUbuxLdWK9X/+8FvHhCXQjRkU4P1o7hQUO3reAjxbw="; }; - propagatedBuildInputs = [ markupsafe babel ]; + propagatedBuildInputs = [ + markupsafe + babel + ]; + passthru.optional-dependencies = { + email = [ + email-validator + ]; + }; nativeCheckInputs = [ pytestCheckHook - email-validator - ]; + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); - pythonImportsCheck = [ "wtforms" ]; + pythonImportsCheck = [ + "wtforms" + ]; meta = with lib; { description = "A flexible forms validation and rendering library for Python"; homepage = "https://github.com/wtforms/wtforms"; changelog = "https://github.com/wtforms/wtforms/blob/${version}/CHANGES.rst"; license = licenses.bsd3; - maintainers = [ maintainers.bhipple ]; + maintainers = with maintainers; [ bhipple ]; }; }