1{ lib
2, buildPythonPackage
3, pythonOlder
4, asn1crypto
5, azure-storage-blob
6, boto3
7, certifi
8, cffi
9, fetchPypi
10, future
11, idna
12, ijson
13, isPy3k
14, oscrypto
15, pyarrow
16, pyasn1-modules
17, pycryptodomex
18, pyjwt
19, pyopenssl
20, pytz
21, requests
22, six
23, urllib3
24}:
25
26buildPythonPackage rec {
27 pname = "snowflake-connector-python";
28 version = "2.4.3";
29 disabled = pythonOlder "3.6";
30
31 src = fetchPypi {
32 inherit pname version;
33 sha256 = "sha256-+jAfUwaofWM5Ef1kk4AEAbBM/UES8/ZzLd4QJfkEQsM=";
34 };
35
36 propagatedBuildInputs = [
37 azure-storage-blob
38 asn1crypto
39 boto3
40 certifi
41 cffi
42 future
43 idna
44 ijson
45 oscrypto
46 pycryptodomex
47 pyjwt
48 pyopenssl
49 pytz
50 requests
51 six
52 pyarrow
53 pyasn1-modules
54 urllib3
55 ];
56
57 postPatch = ''
58 # https://github.com/snowflakedb/snowflake-connector-python/issues/705
59 substituteInPlace setup.py \
60 --replace "idna>=2.5,<3" "idna" \
61 --replace "chardet>=3.0.2,<4" "chardet"
62 '';
63
64 # Tests require encrypted secrets, see
65 # https://github.com/snowflakedb/snowflake-connector-python/tree/master/.github/workflows/parameters
66 doCheck = false;
67
68 pythonImportsCheck = [
69 "snowflake"
70 "snowflake.connector"
71 ];
72
73 meta = with lib; {
74 description = "Snowflake Connector for Python";
75 homepage = "https://www.snowflake.com/";
76 license = licenses.asl20;
77 };
78}