diff --git a/pkgs/development/python-modules/sqlalchemy-utc/default.nix b/pkgs/development/python-modules/sqlalchemy-utc/default.nix new file mode 100644 index 000000000000..c1b5f9a41ff4 --- /dev/null +++ b/pkgs/development/python-modules/sqlalchemy-utc/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + sqlalchemy, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "sqlalchemy-utc"; + version = "0.14.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "spoqa"; + repo = "sqlalchemy-utc"; + tag = finalAttrs.version; + hash = "sha256-ZtUuwUDgd/ngOQoWu8IgOldTbTGoFbv5Y0Hyha1KTrE="; + }; + + patches = [ + # https://github.com/spoqa/sqlalchemy-utc/pull/20 + ./sqlalchemy2-compat.patch + ]; + + build-system = [ + setuptools + ]; + + dependencies = [ + sqlalchemy + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "sqlalchemy_utc" + ]; + + meta = { + description = "SQLAlchemy type to store aware datetime values"; + homepage = "https://github.com/spoqa/sqlalchemy-utc"; + changelog = "https://github.com/spoqa/sqlalchemy-utc/blob/${finalAttrs.src.rev}/CHANGES.rst"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/development/python-modules/sqlalchemy-utc/sqlalchemy2-compat.patch b/pkgs/development/python-modules/sqlalchemy-utc/sqlalchemy2-compat.patch new file mode 100644 index 000000000000..c54331b5c6bd --- /dev/null +++ b/pkgs/development/python-modules/sqlalchemy-utc/sqlalchemy2-compat.patch @@ -0,0 +1,13 @@ +diff --git a/tests/test_now.py b/tests/test_now.py +index 93470e5..8ea9ee6 100644 +--- a/tests/test_now.py ++++ b/tests/test_now.py +@@ -28,7 +28,7 @@ def fx_connection(fx_engine): + + def test_utcnow_timezone(fx_connection): + fx_connection.execute(TABLE.insert(), [{}]) +- rows = fx_connection.execute(select([TABLE])).fetchall() ++ rows = fx_connection.execute(select(TABLE)).fetchall() + server_now = rows[0].time + local_now = datetime.datetime.now(utc) + assert server_now.tzinfo is not None diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 036e5dada01e..fabf837c7185 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18344,6 +18344,8 @@ self: super: with self; { sqlalchemy-mixins = callPackage ../development/python-modules/sqlalchemy-mixins { }; + sqlalchemy-utc = callPackage ../development/python-modules/sqlalchemy-utc { }; + sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { }; sqlalchemy_1_3 = callPackage ../development/python-modules/sqlalchemy/1_3.nix { };