1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 future, 6 httplib2, 7 httpx, 8 pdm-backend, 9 pytestCheckHook, 10 pythonOlder, 11 pytz, 12 six, 13}: 14 15buildPythonPackage rec { 16 pname = "nebula3-python"; 17 version = "3.8.3"; 18 pyproject = true; 19 20 disabled = pythonOlder "3.8"; 21 22 src = fetchFromGitHub { 23 owner = "vesoft-inc"; 24 repo = "nebula-python"; 25 tag = "v${version}"; 26 hash = "sha256-p2dXpcOwVKbdfRKKTAc4LhaNuTjvPd8BBBI8aUivaZ4="; 27 }; 28 29 build-system = [ pdm-backend ]; 30 31 dependencies = [ 32 future 33 httplib2 34 httpx 35 pytz 36 six 37 ] 38 ++ httpx.optional-dependencies.http2; 39 40 nativeCheckInputs = [ pytestCheckHook ]; 41 42 pythonImportsCheck = [ "nebula3" ]; 43 44 disabledTestPaths = [ 45 # Tests require a running thrift instance 46 "tests/test_connection.py" 47 "tests/test_data_from_server.py" 48 "tests/test_graph_storage_client.py" 49 "tests/test_meta_cache.py" 50 "tests/test_parameter.py" 51 "tests/test_pool.py" 52 "tests/test_session.py" 53 "tests/test_session_pool.py" 54 "tests/test_ssl_connection.py" 55 "tests/test_ssl_pool.py" 56 ]; 57 58 meta = with lib; { 59 description = "Client API of Nebula Graph in Python"; 60 homepage = "https://github.com/vesoft-inc/nebula-python"; 61 changelog = "https://github.com/vesoft-inc/nebula-python/blob/${version}/CHANGELOG.md"; 62 license = licenses.asl20; 63 maintainers = with maintainers; [ fab ]; 64 }; 65}