biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / qcs-api-client / default.nix
blob34984ec5755ec89a568c1c760ddae79dfa24f7b9
2   lib,
3   attrs,
4   buildPythonPackage,
5   fetchFromGitHub,
6   fetchpatch,
7   httpx,
8   iso8601,
9   poetry-core,
10   pydantic,
11   pydantic-settings,
12   pyjwt,
13   pytest-asyncio,
14   pytestCheckHook,
15   python-dateutil,
16   pythonAtLeast,
17   pythonOlder,
18   tenacity,
19   respx,
20   retrying,
21   rfc3339,
22   toml,
25 buildPythonPackage rec {
26   pname = "qcs-api-client";
27   version = "0.25.5";
28   pyproject = true;
30   disabled = pythonOlder "3.8";
32   src = fetchFromGitHub {
33     owner = "rigetti";
34     repo = "qcs-api-client-python";
35     rev = "refs/tags/v${version}";
36     hash = "sha256-fVUvAXtZcMWBBK0wdGJA0oIneCNKI4GI2qNIc30HU9M=";
37   };
39   patches = [
40     # Switch to poetry-core, https://github.com/rigetti/qcs-api-client-python/pull/2
41     (fetchpatch {
42       name = "switch-to-poetry-core.patch";
43       url = "https://github.com/rigetti/qcs-api-client-python/commit/32f0b3c7070a65f4edf5b2552648d88435469e44.patch";
44       hash = "sha256-mOc+Q/5cmwPziojtxeEMWWHSDvqvzZlNRbPtOSeTinQ=";
45     })
46   ];
48   pythonRelaxDeps = [
49     "attrs"
50     "httpx"
51     "iso8601"
52     "pydantic"
53   ];
55   build-system = [ poetry-core ];
58   dependencies = [
59     attrs
60     httpx
61     iso8601
62     pydantic
63     pydantic-settings
64     pyjwt
65     python-dateutil
66     retrying
67     rfc3339
68     tenacity
69     toml
70   ];
72   nativeCheckInputs = [
73     pytest-asyncio
74     pytestCheckHook
75     respx
76   ];
78   # Tests are failing on Python 3.11, Fatal Python error: Aborted
79   doCheck = !(pythonAtLeast "3.11");
81   pythonImportsCheck = [ "qcs_api_client" ];
83   meta = with lib; {
84     description = "Python library for accessing the Rigetti QCS API";
85     homepage = "https://qcs-api-client-python.readthedocs.io/";
86     changelog = "https://github.com/rigetti/qcs-api-client-python/releases/tag/v${version}";
87     license = licenses.asl20;
88     maintainers = with maintainers; [ fab ];
89   };