Skip to main content

SensorBee API Client

Project description

Travis Coveralls PyPi

sensorbee-python

This is a Python client library for SensorBee REST / WebSocket API. This library also provides utility commands (sbstat and sbpeek) which can be used to inspect SensorBee topology.

Install

pip install sensorbee-python

To use WebSocket Client API, you also need to install websocket-client:

pip install websocket-client

Requirements

  • Python 2.6, 2.7, 3.3, 3.4, 3.5 or 3.6.

Usage

Python API

In most cases the only class you need to use is pysensorbee.api.SensorBeeAPI. Here is an example:

from pysensorbee import SensorBeeAPI

api = SensorBeeAPI('127.0.0.1', 15601)
api.create_topology('test')
api.query('test', 'CREATE SOURCE ns TYPE node_statuses;')
for r in api.query('test', 'SELECT RSTREAM * FROM ns [RANGE 1 TUPLES];'):
  print(r)

See pydoc pysensorbee.api for details.

Commands

sbstat provides a brief summary of the topology status.

$ sbstat -H 127.0.0.1 -P 15601 -t test
   Node                          Status    Received   Error   Output                            Sent     Queued   Dropped
-> node_stats                    running                      (total)                           5381                    0
                                                                  sensorbee_tmp_8               5381   0 (0.0%)
:: sensorbee_tmp_8               running       5381       0   (total)                           5381                    0
                                                                  sensorbee_tmp_select_sink_7   5381   0 (0.0%)
<- sensorbee_tmp_select_sink_7   running       5381       0

Sources, streams and sinks are indicated by ->, :: and <-, respectively.

sbpeek can be used to peek what tuple is currently running through the specified source or stream.

$ sbpeek -H 127.0.0.1 -P 15601 -t test -1 node_stats
{"behaviors": {"remove_on_stop": false, "stop_on_disconnect": false}, "node_type": "source", "output_stats": {"num_sent_total": 5893, "outputs": {"sensorbee_tmp_58": {"queue_size": 1024, "num_sent": 0, "num_queued": 0}, "sensorbee_tmp_8": {"queue_size": 1024, "num_sent": 5893, "num_queued": 0}}, "num_dropped": 0}, "state": "running", "node_name": "node_stats"}

See sbstat --help and sbpeek --help for details.

Notice

  • This library is not a part of the official SensorBee project.

  • In addition to APIs documented in the API Specification Version 1, this library supports some undocumented APIs, including WebSocket API.

  • This project is a successor of beepy.

License

MIT License

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

sensorbee-python-0.3.1.tar.gz (10.7 kB view details)

Uploaded Source

File details

Details for the file sensorbee-python-0.3.1.tar.gz.

File metadata

File hashes

Hashes for sensorbee-python-0.3.1.tar.gz
Algorithm Hash digest
SHA256 69812b16c4ae24588bb46f9205e3bfaa52f1035454eed41ea0bb6def3fd20c88
MD5 805b848235a9d0038b5d3ab975dd98c1
BLAKE2b-256 4f6c1a31f3dc8ec9fd900f208b2d792ff0838ddc00fdcfda793a41856c30be1a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page