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 = "3.0.0";
24 format = "pyproject";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-F0EbgRSS/kYKUDPhf6euM0eLqIqVjQsHC6C9ZZSRCIE=";
31 };
32
33 postPatch = ''
34 substituteInPlace setup.cfg \
35 --replace "charset_normalizer>=2,<3" "charset_normalizer" \
36 --replace "pyOpenSSL>=16.2.0,<23.0.0" "pyOpenSSL"
37 '';
38
39 propagatedBuildInputs = [
40 asn1crypto
41 certifi
42 cffi
43 charset-normalizer
44 filelock
45 idna
46 oscrypto
47 pycryptodomex
48 pyjwt
49 pyopenssl
50 pytz
51 requests
52 setuptools
53 typing-extensions
54 ];
55
56 # Tests require encrypted secrets, see
57 # https://github.com/snowflakedb/snowflake-connector-python/tree/master/.github/workflows/parameters
58 doCheck = false;
59
60 pythonImportsCheck = [
61 "snowflake"
62 "snowflake.connector"
63 ];
64
65 meta = with lib; {
66 changelog = "https://github.com/snowflakedb/snowflake-connector-python/blob/v${version}/DESCRIPTION.md";
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}