From 4d9010c2a5b3ca7ebd9d4df1966e097deffbc606 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 Apr 2024 10:26:36 +0200 Subject: [PATCH] python312Packages.snowflake-connector-python: refactor --- .../snowflake-connector-python/default.nix | 41 +++++++------------ 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix index 1cab79f2f0de..beabc333f26f 100644 --- a/pkgs/development/python-modules/snowflake-connector-python/default.nix +++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix @@ -1,21 +1,24 @@ { lib , asn1crypto , buildPythonPackage -, pythonRelaxDepsHook , certifi , cffi , charset-normalizer +, cython , fetchPypi , filelock , idna , keyring , oscrypto , packaging +, pandas , platformdirs +, pyarrow , pycryptodomex , pyjwt , pyopenssl , pythonOlder +, pythonRelaxDepsHook , pytz , requests , setuptools @@ -28,43 +31,26 @@ buildPythonPackage rec { pname = "snowflake-connector-python"; version = "3.8.0"; - format = "pyproject"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; hash = "sha256-tbXoXQK0NIofLWxn30gpqjOHlnsBM9K3+jHRkNBgnDE="; }; - # snowflake-connector-python requires arrow 10.0.1, which we don't have in - # nixpkgs, so we cannot build the C extensions that use it. thus, patch out - # cython and pyarrow from the build dependencies - # - # keep an eye on following issue for improvements to this situation: - # - # https://github.com/snowflakedb/snowflake-connector-python/issues/1144 - # - postPatch = '' - substituteInPlace pyproject.toml \ - --replace '"cython",' "" \ - --replace '"pyarrow>=10.0.1,<10.1.0",' "" - ''; - - nativeBuildInputs = [ - pythonRelaxDepsHook + build-system = [ + cython setuptools wheel ]; - pythonRelaxDeps = [ - "pyOpenSSL" - "charset-normalizer" - "cryptography" - "platformdirs" + nativeBuildInputs = [ + pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ asn1crypto certifi cffi @@ -85,6 +71,7 @@ buildPythonPackage rec { ]; passthru.optional-dependencies = { + pandas = [ pandas pyarrow ]; secure-local-storage = [ keyring ]; }; @@ -98,10 +85,10 @@ buildPythonPackage rec { ]; meta = with lib; { - changelog = "https://github.com/snowflakedb/snowflake-connector-python/blob/v${version}/DESCRIPTION.md"; description = "Snowflake Connector for Python"; homepage = "https://github.com/snowflakedb/snowflake-connector-python"; + changelog = "https://github.com/snowflakedb/snowflake-connector-python/blob/v${version}/DESCRIPTION.md"; license = licenses.asl20; maintainers = with maintainers; [ ]; }; -} +} \ No newline at end of file