diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security/default.nix similarity index 59% rename from pkgs/development/python-modules/flask-security-too/default.nix rename to pkgs/development/python-modules/flask-security/default.nix index 98eb55379493..e202a68ab480 100644 --- a/pkgs/development/python-modules/flask-security-too/default.nix +++ b/pkgs/development/python-modules/flask-security/default.nix @@ -1,15 +1,16 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, pythonOlder, - setuptools, + flit-core, # extras: babel babel, flask-babel, # extras: common + argon2-cffi, bcrypt, bleach, flask-mailman, @@ -31,12 +32,14 @@ flask-login, flask-principal, flask-wtf, + markupsafe, passlib, importlib-resources, wtforms, # tests - argon2-cffi, + authlib, + flask-sqlalchemy-lite, freezegun, mongoengine, mongomock, @@ -47,19 +50,25 @@ }: buildPythonPackage rec { - pname = "flask-security-too"; - version = "5.5.0"; + pname = "flask-security"; + version = "5.5.2"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; - src = fetchPypi { - pname = "flask_security_too"; - inherit version; - hash = "sha256-nuYOqKgH3Wfk2IFEDUhWUB6aP1xZ+c4DK7n0zB01TSk="; + src = fetchFromGitHub { + owner = "pallets-eco"; + repo = "flask-security"; + rev = "refs/tags/${version}"; + hash = "sha256-RGRwgrDFe+0v8NYyajMikdoi1DQf1I+B5y8KJyF+cZs="; }; - build-system = [ setuptools ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail phonenumberslite phonenumbers + ''; + + build-system = [ flit-core ]; # flask-login>=0.6.2 not satisfied by version 0.7.0.dev0 pythonRelaxDeps = [ "flask-login" ]; @@ -70,17 +79,19 @@ buildPythonPackage rec { flask-login flask-principal flask-wtf + markupsafe passlib importlib-resources wtforms ]; - passthru.optional-dependencies = { + optional-dependencies = { babel = [ babel flask-babel ]; common = [ + argon2-cffi bcrypt bleach flask-mailman @@ -100,7 +111,8 @@ buildPythonPackage rec { nativeCheckInputs = [ - argon2-cffi + authlib + flask-sqlalchemy-lite freezegun mongoengine mongomock @@ -108,12 +120,15 @@ buildPythonPackage rec { pony pytestCheckHook zxcvbn - freezegun ] - ++ passthru.optional-dependencies.babel - ++ passthru.optional-dependencies.common - ++ passthru.optional-dependencies.fsqla - ++ passthru.optional-dependencies.mfa; + ++ optional-dependencies.babel + ++ optional-dependencies.common + ++ optional-dependencies.fsqla + ++ optional-dependencies.mfa; + + preCheck = '' + pybabel compile --domain flask_security -d flask_security/translations + ''; disabledTests = [ # needs /etc/resolv.conf @@ -123,9 +138,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "flask_security" ]; meta = with lib; { - changelog = "https://github.com/Flask-Middleware/flask-security/blob/${version}/CHANGES.rst"; - homepage = "https://github.com/Flask-Middleware/flask-security"; - description = "Simple security for Flask apps (fork)"; + changelog = "https://github.com/pallets-eco/flask-security/blob/${version}/CHANGES.rst"; + homepage = "https://github.com/pallets-eco/flask-security"; + description = "Quickly add security features to your Flask application"; license = licenses.mit; maintainers = with maintainers; [ gador ]; }; diff --git a/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix b/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix new file mode 100644 index 000000000000..a6afc09f4edf --- /dev/null +++ b/pkgs/development/python-modules/flask-sqlalchemy-lite/default.nix @@ -0,0 +1,45 @@ +{ + aiosqlite, + buildPythonPackage, + fetchFromGitHub, + flask, + flit-core, + lib, + pytestCheckHook, + sqlalchemy, +}: + +buildPythonPackage rec { + pname = "flask-sqlalchemy-lite"; + version = "0.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pallets-eco"; + repo = "flask-sqlalchemy-lite"; + rev = "refs/tags/${version}"; + hash = "sha256-LpdPp5Gp74DSJqD1DJqwNeaMKdN5pEAUkxnKGYZcVis="; + }; + + build-system = [ flit-core ]; + + dependencies = [ + flask + sqlalchemy + ] ++ flask.optional-dependencies.async ++ sqlalchemy.optional-dependencies.asyncio; + + pythonImportsCheck = [ "flask_sqlalchemy_lite" ]; + + nativeCheckInputs = [ + aiosqlite + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/pallets-eco/flask-sqlalchemy-lite/blob/${src.rev}/CHANGES.md"; + description = "Integrate SQLAlchemy with Flask"; + homepage = "https://github.com/pallets-eco/flask-sqlalchemy-lite"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix index 6e45cafdc340..4325040dd683 100644 --- a/pkgs/tools/admin/pgadmin/default.nix +++ b/pkgs/tools/admin/pgadmin/default.nix @@ -173,7 +173,7 @@ pythonPackages.buildPythonApplication rec { python-dateutil sqlalchemy itsdangerous - flask-security-too + flask-security bcrypt cryptography sshtunnel diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index da0bc901b89a..d210b6970090 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -195,6 +195,7 @@ mapAliases ({ flask_principal = flask-principal; # added 2023-08-23 flask-restplus = throw "flask-restplus is no longer maintained, use flask-restx instead"; # added 2023-02-21 flask_script = flask-script; # added 2023-08-23 + flask-security-too = flask-security; # added 2024-08-26 flask_sqlalchemy = flask-sqlalchemy; # added 2022-07-20 flask_testing = flask-testing; # added 2022-04-25 flask_wtf = flask-wtf; # added 2022-05-24 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0995390b2ff8..9320c4ec1ff9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4512,7 +4512,7 @@ self: super: with self; { flask-session-captcha = callPackage ../development/python-modules/flask-session-captcha { }; - flask-security-too = callPackage ../development/python-modules/flask-security-too { }; + flask-security = callPackage ../development/python-modules/flask-security { }; flask-silk = callPackage ../development/python-modules/flask-silk { }; @@ -4524,6 +4524,8 @@ self: super: with self; { flask-sqlalchemy = callPackage ../development/python-modules/flask-sqlalchemy { }; + flask-sqlalchemy-lite = callPackage ../development/python-modules/flask-sqlalchemy-lite { }; + flask-sslify = callPackage ../development/python-modules/flask-sslify { }; flask-swagger = callPackage ../development/python-modules/flask-swagger { };