Astarte message hub protocol buffers for Python
Project description
Astarte message hub protocol buffers for Python
This module provides access to the Astarte message hub protocol buffers through a Python API.
Basic usage
Use pip
to install the astarte-message-hub-proto
package.
Then include and use it in your sources as follows:
from datetime import datetime, timezone
import grpc
from google.protobuf.timestamp_pb2 import Timestamp
from astarteplatform.msghub.message_hub_service_pb2_grpc import MessageHubStub
from astarteplatform.msghub.node_pb2 import Node
from astarteplatform.msghub.astarte_message_pb2 import AstarteMessage
from astarteplatform.msghub.astarte_type_pb2 import AstarteDataType, AstarteDataTypeIndividual
grpc_channel = grpc.insecure_channel("server address")
message_hub_stub = MessageHubStub(grpc_channel)
message_hub_node = Node(uuid="node uuid", interface_jsons=[b"interface 1 bin", b"interface 2 bin"])
message_hub_stream = message_hub_stub.Attach(message_hub_node)
# Transmit a very simple message
protobuf_value = AstarteDataType(astarte_individual=AstarteDataTypeIndividual(astarte_double=42.1))
protobuf_timestamp = Timestamp()
protobuf_timestamp.FromDatetime(datetime.now(tz=timezone.utc))
msg = AstarteMessage(
'interface_name'="interface name",
'path'="path",
'timestamp'=protobuf_timestamp,
'astarte_data'=protobuf_value)
message_hub_stub.Send(msg)
# Never ending receive loop
for astarte_message in message_hub_stream:
# Parse astarte_message (AstarteMessage) as you see fit.
print(astarte_message.interface_name)
print(astarte_message.path)
print(astarte_message.WhichOneof("payload"))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for astarte_message_hub_proto-0.6.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbf2812e0c82532afdc3dda086ec7e14606ebe52432c92a58180d171248e07fb |
|
MD5 | c04906c17fc1fcf143823914d949bc65 |
|
BLAKE2b-256 | c0b181381846cb9b33416b4f454cfd75ff078cc0a9d8d10e35de0213686c0ef0 |
Close
Hashes for astarte_message_hub_proto-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c99cc22fe70c3f915c44183f218ee310333c247f2a4b25265ae62e8676915ba3 |
|
MD5 | f5ca7acec42e404ee93c14152e6d0659 |
|
BLAKE2b-256 | cb0fb0e8d0b65f4f3fe2be9d4152d26379306964036c4315ee5f99f097829fbf |