Moonsense Cloud API Client
Project description
Moonsense Cloud API Client
Simple client library for the Moonsense Cloud API.
Installation
Install the module from PyPI:
pip install moonsense
Or from source like this:
python setup.py install
Getting Started
Start by getting an API secret key by navigating to App in Console and creating a token. You will need to save the generated secret key to a secure place.
https://console.moonsense.cloud/dashboard
We recommend exporting the API secret key as an environment variable:
export MOONSENSE_SECRET_TOKEN=...
You can then very easily list sessions and access the granular data:
from moonsense.client import Client
client = Client()
for session in client.list_sessions():
print(session)
for bundle in client.read_session(session.session_id):
# Each bundle is a SealedBundle. See schema below.
Recommended: For a more realistic example see consumer_example.py. It shows how you can write a consumer that will process session data using an incremental approach.
Webhooks
See webhook_example.py for an example on how to create a very simple handler that the consumer webhooks.
The request payload use the following schema:
message WebhookPayload {
string project_id = 1; // checked in the handler since not all event types can provide a projectId.
string app_id = 2;
string session_id = 3;
WebhookEventTypes event_type = 4;
v2.bundle.SealedBundle bundle = 5; // payload is optional and only a small number of events require a bundle.
string client_session_group_id = 6;
repeated string session_labels = 7;
}
The following webhook types are supported:
enum WebhookEventTypes {
UNKNOWN = 0;
SESSION_CREATED = 1;
BUNDLE_RECEIVED = 2;
CHUNK_PERSISTED = 3;
SESSION_INACTIVE = 4;
}
Tests
Simply run: pytest
Release
rm -rf build/ dist/
python setup.py sdist bdist_wheel
twine upload dist/*
Dont' forget to bump main branch to the next version.
Code coverge
Generate coverage report with: py.test --cov=moonsense tests/
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file moonsense-0.9.1.tar.gz
.
File metadata
- Download URL: moonsense-0.9.1.tar.gz
- Upload date:
- Size: 46.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a345fc5baf08181a2e6519d7d92eb69c8d2e0ac613be0d923ea48b91b4cf615b |
|
MD5 | 2614b3c8b6fa42441b9cb7b17dbf0a9d |
|
BLAKE2b-256 | 838e5c6d6a193fe5aa9a3cb977a5c2559916bcbe3e60b94f6a9bf392b597ba5b |
File details
Details for the file moonsense-0.9.1-py3-none-any.whl
.
File metadata
- Download URL: moonsense-0.9.1-py3-none-any.whl
- Upload date:
- Size: 54.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ec84f5ba12814c49f0928235bb5a032f7e594f5ef3f792542cff0197d607a70 |
|
MD5 | d1066a60d9e7bad3a41e0edab6cf544e |
|
BLAKE2b-256 | 71a8440e659673312e964b6dbba02c2dbeca95fa24bd87760aa7f408dd95ba17 |