1{ lib
2, buildPythonPackage
3, fetchPypi
4, pytestCheckHook
5, google-api-core
6, google-cloud-testutils
7, grpc-google-iam-v1
8, grpcio-status
9, libcst
10, mock
11, proto-plus
12, pytest-asyncio
13, pythonOlder
14}:
15
16buildPythonPackage rec {
17 pname = "google-cloud-pubsub";
18 version = "2.13.11";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-CFh47PuzmR/qavOgEaot2fVBXRnHYNDemlhSTSqhut4=";
26 };
27
28 propagatedBuildInputs = [
29 grpc-google-iam-v1
30 google-api-core
31 grpcio-status
32 libcst
33 proto-plus
34 ];
35
36 checkInputs = [
37 google-cloud-testutils
38 mock
39 pytestCheckHook
40 pytest-asyncio
41 ];
42
43 preCheck = ''
44 # prevent google directory from shadowing google imports
45 rm -r google
46 '';
47
48 disabledTestPaths = [
49 # Tests in pubsub_v1 attempt to contact pubsub.googleapis.com
50 "tests/unit/pubsub_v1"
51 ];
52
53 pythonImportsCheck = [
54 "google.cloud.pubsub"
55 ];
56
57 meta = with lib; {
58 description = "Google Cloud Pub/Sub API client library";
59 homepage = "https://pypi.org/project/google-cloud-pubsub";
60 license = licenses.asl20;
61 maintainers = with maintainers; [ SuperSandro2000 ];
62 };
63}