diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/python-modules/sqlalchemy | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/sqlalchemy')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix | 150 |
1 files changed, 127 insertions, 23 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix index 5c467e2f905b..a65eec40d9ef 100644 --- a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix +++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix @@ -1,49 +1,153 @@ -{ stdenv -, lib +{ lib +, isPyPy +, pythonOlder , fetchPypi +, fetchFromGitHub , buildPythonPackage -, isPy3k -, pythonOlder + +# build +, cython +, setuptools + +# propagates , greenlet -, importlib-metadata +, typing-extensions + +# optionals +, aiomysql +, aiosqlite +, asyncmy +, asyncpg +, cx_oracle +, mariadb +, mypy +, mysql-connector +, mysqlclient +, oracledb +, pg8000 +, psycopg +, psycopg2 +, psycopg2cffi +# TODO: pymssql +, pymysql +, pyodbc +# TODO: sqlcipher3 + +# tests , mock -, pysqlite ? null +, pytest-xdist , pytestCheckHook }: buildPythonPackage rec { pname = "SQLAlchemy"; - version = "1.4.39"; + version = "2.0.15"; + format = "pyproject"; - src = fetchPypi { - inherit pname version; - hash = "sha256-gZSJYDh1O0awigsK6JpdgMiX+2Ad1R4kPtVyDx8VXSc="; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "sqlalchemy"; + repo = "sqlalchemy"; + rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; + hash = "sha256-05GhFearTA9At8MgmEfeXfbS3MAZ0Rmx8jER18q7fmI="; }; + nativeBuildInputs =[ + setuptools + ] ++ lib.optionals (!isPyPy) [ + cython + ]; + propagatedBuildInputs = [ greenlet - ] ++ lib.optionals (pythonOlder "3.8") [ - importlib-metadata + typing-extensions ]; - checkInputs = [ + passthru.optional-dependencies = lib.fix (self: { + asyncio = [ + greenlet + ]; + mypy = [ + mypy + ]; + mssql = [ + pyodbc + ]; + mssql_pymysql = [ + # TODO: pymssql + ]; + mssql_pyodbc = [ + pyodbc + ]; + mysql = [ + mysqlclient + ]; + mysql_connector = [ + mysql-connector + ]; + mariadb_connector = [ + mariadb + ]; + oracle = [ + cx_oracle + ]; + oracle_oracledb = [ + oracledb + ]; + postgresql = [ + psycopg2 + ]; + postgresql_pg8000 = [ + pg8000 + ]; + postgresql_asyncpg = [ + asyncpg + ] ++ self.asyncio; + postgresql_psycopg2binary = [ + psycopg2 + ]; + postgresql_psycopg2cffi = [ + psycopg2cffi + ]; + postgresql_psycopg = [ + psycopg + ]; + pymysql = [ + pymysql + ]; + aiomysql = [ + aiomysql + ] ++ self.asyncio; + asyncmy = [ + asyncmy + ] ++ self.asyncio; + aiosqlite = [ + aiosqlite + typing-extensions + ] ++ self.asyncio; + sqlcipher = [ + # TODO: sqlcipher3 + ]; + }); + + nativeCheckInputs = [ + pytest-xdist pytestCheckHook mock - ] ++ lib.optional (!isPy3k) pysqlite; - - postInstall = '' - sed -e 's:--max-worker-restart=5::g' -i setup.cfg - ''; + ]; - # disable mem-usage tests on mac, has trouble serializing pickle files - disabledTests = lib.optionals stdenv.isDarwin [ - "MemUsageWBackendTest" - "MemUsageTest" + disabledTestPaths = [ + # typing correctness, not interesting + "test/ext/mypy" + # slow and high memory usage, not interesting + "test/aaa_profiling" ]; meta = with lib; { + changelog = "https://github.com/sqlalchemy/sqlalchemy/releases/tag/rel_${builtins.replaceStrings [ "." ] [ "_" ] version}"; + description = "The Python SQL toolkit and Object Relational Mapper"; homepage = "http://www.sqlalchemy.org/"; - description = "A Python SQL toolkit and Object Relational Mapper"; license = licenses.mit; }; } |