Python Client for Google Cloud Pub / Sub
Google Cloud Pub / Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications. You can leverage Cloud Pub/Sub’s flexibility to decouple systems and components hosted on Google Cloud Platform or elsewhere on the Internet. By building on the same technology Google uses, Cloud Pub / Sub is designed to provide “at least once” delivery at low latency with on-demand scalability to 1 million messages per second (and beyond).
Publisher applications can send messages to a topic and other applications can subscribe to that topic to receive the messages. By decoupling senders and receivers, Google Cloud Pub/Sub allows developers to communicate between independently written applications.
Quick Start
In order to use this library, you first need to go through the following steps:
Installation
Install this library in a virtualenv using pip. virtualenv is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.
With virtualenv, it’s possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.
Supported Python Versions
Python >= 3.5
Deprecated Python Versions
Python == 2.7. Python 2.7 support will be removed on January 1, 2020.
Mac/Linux
pip install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-cloud-pubsub
Windows
pip install virtualenv
virtualenv <your-env>
<your-env>\Scripts\activate
<your-env>\Scripts\pip.exe install google-cloud-pubsub
Example Usage
Publishing
To publish data to Cloud Pub/Sub you must create a topic, and then publish messages to it
import os
from google.cloud import pubsub_v1
publisher = pubsub_v1.PublisherClient()
topic_name = 'projects/{project_id}/topics/{topic}'.format(
project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
topic='MY_TOPIC_NAME', # Set this to something appropriate.
)
publisher.create_topic(topic_name)
publisher.publish(topic_name, b'My first message!', spam='eggs')
To learn more, consult the publishing documentation.
Subscribing
To subscribe to data in Cloud Pub/Sub, you create a subscription based on the topic, and subscribe to that, passing a callback function.
import os
from google.cloud import pubsub_v1
subscriber = pubsub_v1.SubscriberClient()
topic_name = 'projects/{project_id}/topics/{topic}'.format(
project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
topic='MY_TOPIC_NAME', # Set this to something appropriate.
)
subscription_name = 'projects/{project_id}/subscriptions/{sub}'.format(
project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
sub='MY_SUBSCRIPTION_NAME', # Set this to something appropriate.
)
subscriber.create_subscription(
name=subscription_name, topic=topic_name)
def callback(message):
print(message.data)
message.ack()
future = subscriber.subscribe(subscription_name, callback)
The future returned by the call to subscriber.subscribe can be used to block the current thread until a given condition obtains:
try:
future.result()
except KeyboardInterrupt:
future.cancel()
To learn more, consult the subscriber documentation.
Metadata
Release files for google-cloud-pubsub 0.42.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| google-cloud-pubsub-0.42.1.tar.gz | 110.7 kB | Without provenance | Details for google-cloud-pubsub-0.42.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| google_cloud_pubsub-0.42.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for google_cloud_pubsub-0.42.1-py2.py3-none-any.whl |
Total release size: 225.8 kB
Release files / google-cloud-pubsub-0.42.1.tar.gz
| Download URL | google-cloud-pubsub-0.42.1.tar.gz |
|---|---|
| Size | 110.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f295d14120f10e638ab4990268707d39f9460bc472145ae05b112f5f144854f0
|
|
BLAKE2b-256 checksum How to use checksums |
def31ed7f736680d57ce1ca044726d8be380bdc5ec66f5ab5836f0bd8e17be81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.0
|
Release files / google_cloud_pubsub-0.42.1-py2.py3-none-any.whl
| Download URL | google_cloud_pubsub-0.42.1-py2.py3-none-any.whl |
|---|---|
| Size | 115.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
c87b4c2362946ef43492c1596462c895164b58c04ec205b63d4179b6741defd8
|
|
BLAKE2b-256 checksum How to use checksums |
227b1436123250f521e0d4beec00a768f65dde3ea2f5deaa3f4ae02dad5c6c7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.0
|
Security for google-cloud-pubsub 0.42.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.