Skip to main content

Using EnOS Service SDK for Python (Preview Edition)

This repo contains the preview edition of EnOS Service SDK for Python. This article instructs how to prepare your development environment and use the EnOS Service SDK for Python.

Installing Python

To use the EnOS Service SDK for Python, you will need Python 2.7.13+ or 3.5.3+, and pip is required.

Obtaining EnOS Service SDK for Python

You can obtain the SDK through the following methods:

  • Install from pip
  • Download the source code by cloning this repo and build on your machine

Installing from PIP

Use the following command to install EnOS Service SDK for Python from PIP.

pip install enos-api-sdk-python

Building from Source Code

  1. Obtain the EnOS Service SDK for Python source code from GitHub:

    git clone https://github.com/EnvisionIot/enos-api-sdk-python.git
    
  2. From the directory where the source code is stored, run the following command:

    python setup.py install
    

Key Features

As the preview edition, the EnOS Service SDK for Python currently contains only partial of the EnOS Service REST API features as listed below:

  • Apply certificate by device key
  • Post measure point data
  • Create and list products

API Reference

To access the EnOS API documentation, go to EnOS API > API Documents in the EnOS Console. For each service category, you can check the summary of the APIs from the API list table and click the More icon for view details of each specific API, including API description, calling method, requesting URL, parameter description, calling sample, and response sample.

Sample Code

This sample demonstrates how to post a struct type of measure point to the EnOS Cloud.

from enosapi.request.PostMeasurepointsEnOSRequest import PostMeasurepointsEnOSRequest
from enosapi.client.EnOSDefaultClient import EnOSDefaultClient
import time
import json

enos_api_url = "https://{HOST}/enosapi/"

# the application configuration created in console
access_key = "ACCESS_KEY"
secret_key = "SECRET_KEY"

# sub-device parameters
device_asset_id = 'DEVICE_ASSET_ID'
product_key = 'PRODUCT_KEY'

# OU ID
org_id = "OU_ID"


if __name__ == "__main__":
    timestamp = int(time.time() * 1000)  # timestamp in milliseconds
    struct_measure_point = {'Image1': 'local://file1',
			 'Sensor': 'PM2_5',
			 'UpperLimit': 100,
			 'Value': 120,
			 'AlertFlag': 1,
			 'AlertMessage': 'PM10 over limit'}

    measure_points = {
        'Image0': struct_measure_point
    }

    data = [{
        'measurepoints': measure_points,
        'assetId': device_asset_id,
        'time': timestamp
    }]

    param = {
        "data": json.dumps(data)
    }

    # two files named apple.png and orange.png should be put into the same directory as this code file
    file_to_upload = {"file1": open("image1.jpg", 'rb')}

    request = PostMeasurepointsEnOSRequest(org_id=org_id, product_key=product_key, params=param,
                                           upload_file=file_to_upload)

    enos_api_client = EnOSDefaultClient(enos_api_url, access_key, secret_key)

    response = enos_api_client.execute(request)
    print(response.status, response.msg)

Metadata

Release files for enos-api-sdk-python 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for enos-api-sdk-python 0.0.4
File Size Uploaded Provenance Actions
enos-api-sdk-python-0.0.4.tar.gz 7.0 kB Without provenance Details for enos-api-sdk-python-0.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for enos-api-sdk-python 0.0.4
File Interpreter ABI Platform Actions
enos_api_sdk_python-0.0.4-py2-none-any.whl Python 2 none any Details for enos_api_sdk_python-0.0.4-py2-none-any.whl

Total release size: 17.4 kB

Release files / enos-api-sdk-python-0.0.4.tar.gz

Download URL enos-api-sdk-python-0.0.4.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b845445a24853a68efb274361f572d64deb599c6842451f09f230acc79b86c84
BLAKE2b-256 checksum
How to use checksums
a5c1427f3a4fa5edda1be58cdfba3fd7df2121d7e6116f7c4bb3d68be31da310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

Release files / enos_api_sdk_python-0.0.4-py2-none-any.whl

Download URL enos_api_sdk_python-0.0.4-py2-none-any.whl
Size 10.4 kB
Tags Python 2
SHA-256 checksum
How to use checksums
0ca4f3b8f71ed1f76fb004aa2890b3936a6f5b3ded09e592559cc41c50d6aee5
BLAKE2b-256 checksum
How to use checksums
b49bc563e2b69f800427ec4a1337cde5edb1041ccef4518d6f4db34bfc60d220
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

Security for enos-api-sdk-python 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page