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}