1{ lib
2, stdenv
3, buildPythonPackage
4, fetchFromGitHub
5, hatchling
6, plumbum
7, pytestCheckHook
8, pythonOlder
9}:
10
11buildPythonPackage rec {
12 pname = "rpyc";
13 version = "5.3.1";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "tomerfiliba";
20 repo = pname;
21 rev = "refs/tags/${version}";
22 hash = "sha256-2b6ryqDqZPs5VniLhCwA1/c9+3CT+JJrr3VwP3G6tpY=";
23 };
24
25 nativeBuildInputs = [
26 hatchling
27 ];
28
29 propagatedBuildInputs = [
30 plumbum
31 ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 ];
36
37 disabledTests = [
38 # Disable tests that requires network access
39 "test_api"
40 "test_close_timeout"
41 "test_deploy"
42 "test_listing"
43 "test_pruning"
44 "test_rpyc"
45 # Test is outdated
46 # ssl.SSLError: [SSL: NO_CIPHERS_AVAILABLE] no ciphers available (_ssl.c:997)
47 "test_ssl_conenction"
48 ];
49
50 pythonImportsCheck = [
51 "rpyc"
52 ];
53
54 doCheck = !stdenv.isDarwin;
55
56 meta = with lib; {
57 description = "Remote Python Call (RPyC), a transparent and symmetric RPC library";
58 homepage = "https://rpyc.readthedocs.org";
59 changelog = "https://github.com/tomerfiliba-org/rpyc/blob/${version}/CHANGELOG.rst";
60 license = with licenses; [ mit ];
61 maintainers = with maintainers; [ fab ];
62 };
63}