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.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "vesoft-inc";
24 repo = "nebula-python";
25 rev = "refs/tags/v${version}";
26 hash = "sha256-AcfKcrfDBY5K5xDDA7rLzKnsnhwhtpLXHkPLd0SfC4M=";
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}