1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, msgpack
5, numpy
6, pytest-asyncio
7, pytestCheckHook
8, python-rapidjson
9, pythonOlder
10, pyzmq
11, ruamel-yaml
12}:
13
14buildPythonPackage rec {
15 pname = "rpcq";
16 version = "3.10.0";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = "rigetti";
23 repo = pname;
24 rev = "refs/tags/v${version}";
25 hash = "sha256-J7jtGXJIF3jp0a0IQZmSR4TWf9D02Luau+Bupmi/d68=";
26 };
27
28 propagatedBuildInputs = [
29 msgpack
30 python-rapidjson
31 pyzmq
32 ruamel-yaml
33 ];
34
35 nativeCheckInputs = [
36 numpy
37 pytest-asyncio
38 pytestCheckHook
39 ];
40
41 postPatch = ''
42 substituteInPlace setup.py \
43 --replace "msgpack>=0.6,<1.0" "msgpack"
44 '';
45
46 disabledTests = [
47 # Test doesn't work properly on Hydra
48 "test_client_backlog"
49 ];
50
51 pythonImportsCheck = [
52 "rpcq"
53 ];
54
55 meta = with lib; {
56 description = "The RPC framework and message specification for rigetti Quantum Cloud services";
57 homepage = "https://github.com/rigetti/rpcq";
58 license = licenses.asl20;
59 maintainers = with maintainers; [ fab ];
60 };
61}