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 ] ++ httpx.optional-dependencies.http2; 38 39 nativeCheckInputs = [ pytestCheckHook ]; 40 41 pythonImportsCheck = [ "nebula3" ]; 42 43 disabledTestPaths = [ 44 # Tests require a running thrift instance 45 "tests/test_connection.py" 46 "tests/test_data_from_server.py" 47 "tests/test_graph_storage_client.py" 48 "tests/test_meta_cache.py" 49 "tests/test_parameter.py" 50 "tests/test_pool.py" 51 "tests/test_session.py" 52 "tests/test_session_pool.py" 53 "tests/test_ssl_connection.py" 54 "tests/test_ssl_pool.py" 55 ]; 56 57 meta = with lib; { 58 description = "Client API of Nebula Graph in Python"; 59 homepage = "https://github.com/vesoft-inc/nebula-python"; 60 changelog = "https://github.com/vesoft-inc/nebula-python/blob/${version}/CHANGELOG.md"; 61 license = licenses.asl20; 62 maintainers = with maintainers; [ fab ]; 63 }; 64}