Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

moonsense-0.9.1.tar.gz (46.6 kB view details)

Uploaded Source

Built Distribution

moonsense-0.9.1-py3-none-any.whl (54.6 kB view details)

Uploaded Python 3

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

Hashes for moonsense-0.9.1.tar.gz
Algorithm Hash digest
SHA256 a345fc5baf08181a2e6519d7d92eb69c8d2e0ac613be0d923ea48b91b4cf615b
MD5 2614b3c8b6fa42441b9cb7b17dbf0a9d
BLAKE2b-256 838e5c6d6a193fe5aa9a3cb977a5c2559916bcbe3e60b94f6a9bf392b597ba5b

See more details on using hashes here.

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

Hashes for moonsense-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ec84f5ba12814c49f0928235bb5a032f7e594f5ef3f792542cff0197d607a70
MD5 d1066a60d9e7bad3a41e0edab6cf544e
BLAKE2b-256 71a8440e659673312e964b6dbba02c2dbeca95fa24bd87760aa7f408dd95ba17

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