Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 asn1crypto, 4 buildPythonPackage, 5 certifi, 6 cffi, 7 charset-normalizer, 8 cryptography, 9 cython, 10 fetchFromGitHub, 11 filelock, 12 idna, 13 keyring, 14 packaging, 15 pandas, 16 platformdirs, 17 pyarrow, 18 pyjwt, 19 pyopenssl, 20 pytest-xdist, 21 pytestCheckHook, 22 pythonOlder, 23 pytz, 24 requests, 25 setuptools, 26 sortedcontainers, 27 tomlkit, 28 typing-extensions, 29}: 30 31buildPythonPackage rec { 32 pname = "snowflake-connector-python"; 33 version = "3.12.4"; 34 pyproject = true; 35 36 disabled = pythonOlder "3.8"; 37 38 src = fetchFromGitHub { 39 owner = "snowflakedb"; 40 repo = "snowflake-connector-python"; 41 rev = "refs/tags/v${version}"; 42 hash = "sha256-6poMWKQB/NR40W39KDJwBgYGeAHsr4f1GJhPxYiTc1k="; 43 }; 44 45 build-system = [ 46 cython 47 setuptools 48 ]; 49 50 dependencies = [ 51 asn1crypto 52 certifi 53 cffi 54 charset-normalizer 55 cryptography 56 filelock 57 idna 58 packaging 59 platformdirs 60 pyjwt 61 pyopenssl 62 pytz 63 requests 64 sortedcontainers 65 tomlkit 66 typing-extensions 67 ]; 68 69 optional-dependencies = { 70 pandas = [ 71 pandas 72 pyarrow 73 ]; 74 secure-local-storage = [ keyring ]; 75 }; 76 77 preCheck = '' 78 export HOME=$(mktemp -d) 79 ''; 80 81 nativeCheckInputs = [ 82 pytest-xdist 83 pytestCheckHook 84 ]; 85 86 disabledTestPaths = [ 87 # Tests require encrypted secrets, see 88 # https://github.com/snowflakedb/snowflake-connector-python/tree/master/.github/workflows/parameters 89 "test/extras/simple_select1.py" 90 "test/integ" 91 # error getting schema from stream, error code: 0, error info: Expected to 92 # be able to read 19504 bytes for message body but got 19503 93 "test/unit/test_connection.py" 94 "test/unit/test_cursor.py" 95 "test/unit/test_error_arrow_stream.py" 96 "test/unit/test_ocsp.py" 97 "test/unit/test_retry_network.py" 98 "test/unit/test_s3_util.py" 99 ]; 100 101 disabledTests = [ 102 # Tests connect to the internet 103 "test_status_when_num_of_chunks_is_zero" 104 "test_test_socket_get_cert" 105 ]; 106 107 pythonImportsCheck = [ 108 "snowflake" 109 "snowflake.connector" 110 ]; 111 112 meta = with lib; { 113 description = "Snowflake Connector for Python"; 114 homepage = "https://github.com/snowflakedb/snowflake-connector-python"; 115 changelog = "https://github.com/snowflakedb/snowflake-connector-python/blob/v${version}/DESCRIPTION.md"; 116 license = licenses.asl20; 117 maintainers = [ ]; 118 }; 119}