1{ lib
2, asn1crypto
3, buildPythonPackage
4, certifi
5, cffi
6, charset-normalizer
7, fetchPypi
8, filelock
9, idna
10, oscrypto
11, pycryptodomex
12, pyjwt
13, pyopenssl
14, pythonOlder
15, pytz
16, requests
17, setuptools
18, typing-extensions
19}:
20
21buildPythonPackage rec {
22 pname = "snowflake-connector-python";
23 version = "2.8.0";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-gvZ+Nuf+Ns1XIYpsBHdegzA9sjFxT9+Qm6kbsJR8JLY=";
31 };
32
33 propagatedBuildInputs = [
34 asn1crypto
35 certifi
36 cffi
37 charset-normalizer
38 filelock
39 idna
40 oscrypto
41 pycryptodomex
42 pyjwt
43 pyopenssl
44 pytz
45 requests
46 setuptools
47 typing-extensions
48 ];
49
50 postPatch = ''
51 substituteInPlace setup.cfg \
52 --replace "pyOpenSSL>=16.2.0,<23.0.0" "pyOpenSSL" \
53 --replace "cryptography>=3.1.0,<37.0.0" "cryptography" \
54 --replace "charset-normalizer~=2.0.0" "charset_normalizer>=2"
55 '';
56
57 # Tests require encrypted secrets, see
58 # https://github.com/snowflakedb/snowflake-connector-python/tree/master/.github/workflows/parameters
59 doCheck = false;
60
61 pythonImportsCheck = [
62 "snowflake"
63 "snowflake.connector"
64 ];
65
66 meta = with lib; {
67 description = "Snowflake Connector for Python";
68 homepage = "https://github.com/snowflakedb/snowflake-connector-python";
69 license = licenses.asl20;
70 maintainers = with maintainers; [ ];
71 };
72}