Observed since 21 Oct, 11:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Async Python library to communicate with Centrifugo v3 HTTP API, fork of pycent package
Async Python tools to communicate with Centrifugo HTTP API. Python >= 3.3 supported.
To install run:
pip install aiocent
First see available API methods in documentation.
This library contains Client class to send messages to Centrifugo from your python-powered backend:
from aiocent import Client
import asyncio
url = "http://localhost:8000/api"
api_key = "XXX"
# initialize client instance.
client = Client(url, api_key=api_key, timeout=1)
# publish data into channel
channel = "public:chat"
data = {"input": "test"}
asyncio.run(client.publish(channel, data))
# other available methods
asyncio.run(client.unsubscribe("user_id", "channel"))
asyncio.run(client.disconnect("user_id"))
history = asyncio.run(client.history("public:chat"))
presence = asyncio.run(client.presence("public:chat"))
channels = asyncio.run(client.channels())
info = asyncio.run(client.info())
asyncio.run(client.history_remove("public:chat"))
publish, disconnect, unsubscribe, history_remove return None in case of success. Each of this commands can raise an instance of CentException.
I.e.:
from aiocent import Client, CentException
import asyncio
client = Client("http://localhost:8000/api", api_key="XXX", timeout=1)
try:
asyncio.run(client.publish("public:chat", {"input": "test"}))
except CentException:
# handle exception
Depending on problem occurred exceptions can be:
Both exceptions inherited from CentException.
To send lots of commands in one request:
from aiocent import Client, CentException
import asyncio
client = Client("http://localhost:8000/api", api_key="XXX", timeout=1)
params = {
"channel": "python",
"data": "hello world"
}
asyncio.run(client.add("publish", params))
try:
result = asyncio.run(client.send())
except CentException:
# handle exception
else:
print(result)
You can use add method to add several messages which will be sent.
You'll get something like this in response:
[{}]
I.e. list of single response to each command sent. So you need to inspect response on errors (if any) yourself.
Required:
Optional:
api_key - HTTP API key of Centrifugotimeout (default: 1) - timeout for HTTP requests to Centrifugojson_encoder (default: None) - set custom JSON encodersend_func (default: None) - set custom send functionverify (default: True) - when set to False no certificate check will be done during requests.To release:
setup.pypip install twinepip install wheelpython setup.py sdist bdist_wheeltwine check dist/*twine upload dist/*Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 4.1.2 | 29 Feb 2024 | 1 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 11:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:0e08e38db9e3052f453887a4af5680e203f188b6ed091ab596494604b652df5f