diff --git a/pkgs/development/python-modules/sqlalchemy/1_3.nix b/pkgs/development/python-modules/sqlalchemy/1_3.nix new file mode 100644 index 000000000000..19f181bae1cb --- /dev/null +++ b/pkgs/development/python-modules/sqlalchemy/1_3.nix @@ -0,0 +1,84 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + greenlet, + + # optionals + cx-oracle, + mysqlclient, + pg8000, + psycopg2, + psycopg2cffi, + # TODO: pymssql + pymysql, + pyodbc, + + # tests + mock, + pytest-xdist, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "sqlalchemy"; + version = "1.3.24"; + pyproject = true; + + src = fetchFromGitHub { + owner = "sqlalchemy"; + repo = "sqlalchemy"; + tag = "rel_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + hash = "sha256-6qAjyqMVrugABHssAQuql3z1YHTAOSm5hARJuJXJJvo="; + }; + + postPatch = '' + sed -i '/tag_build = dev/d' setup.cfg + ''; + + build-system = [ setuptools ]; + + dependencies = [ greenlet ]; + + optional-dependencies = lib.fix (self: { + mssql = [ pyodbc ]; + mssql_pymysql = [ + # TODO: pymssql + ]; + mssql_pyodbc = [ pyodbc ]; + mysql = [ mysqlclient ]; + oracle = [ cx-oracle ]; + postgresql = [ psycopg2 ]; + postgresql_pg8000 = [ pg8000 ]; + postgresql_psycopg2binary = [ psycopg2 ]; + postgresql_psycopg2cffi = [ psycopg2cffi ]; + pymysql = [ pymysql ]; + }); + + nativeCheckInputs = [ + pytest-xdist + pytestCheckHook + mock + ]; + + disabledTestPaths = [ + # typing correctness, not interesting + "test/ext/mypy" + # slow and high memory usage, not interesting + "test/aaa_profiling" + ]; + + pythonImportsCheck = [ "sqlalchemy" ]; + + meta = { + changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/${finalAttrs.src.tag})"; + description = "Database Toolkit for Python"; + homepage = "https://github.com/sqlalchemy/sqlalchemy"; + license = lib.licenses.mit; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0cb24d1bfa9c..97aefdfc9a68 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18156,6 +18156,8 @@ self: super: with self; { sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { }; + sqlalchemy_1_3 = callPackage ../development/python-modules/sqlalchemy/1_3.nix { }; + sqlalchemy_1_4 = callPackage ../development/python-modules/sqlalchemy/1_4.nix { }; sqlcipher3 = callPackage ../development/python-modules/sqlcipher3 { };