Skip to main content

iot.io Server

iot.io Overview

This project aims to create a lightweight and intuitive system for connecting IoT devices to a central server for small IoT system implementations and hobbyists.

The framework focuses on providing easy to use system of libraries so the end user does not need to understand the protocol implementation, though this also is fairly simple.

The format of the framework is somewhat reminiscent of Socket.IO where handlers functions are defined and executed and run as events are triggered.

Quickstart Guide (Server)

This is an example of a simple IoTManager instance which accepts a "EhcoClient" and will print every message the client sends out to console.

from flask import Flask
from iotio import IoTManager, DeviceType, IoTClient
from eventlet import wsgi
import eventlet
"""
Example implementation of a Echo server.

Defines an EchoClient of type 'echo'.
Works with the corresponding 'echo' iot.io-client example.
"""

# create a flask app
app = Flask("Echo Example")

# create an instance of the IoTManager
manager = IoTManager(app)


# define the EchoClient device
class EchoClient(DeviceType):
    def on_connect(self, client: IoTClient):
        print("EchoClient Connected! ID: " + client.id)

    # define a handler for when the client receives a "echo" event
    def on_echo(self, message: str, client: IoTClient):
        print("Message from Client of type '" + self.type + "' with ID '" + client.id + "': '", message, "'")

        # respond to client with the 'echo_response' event
        return "echo_response", message

    def on_disconnect(self, client: IoTClient):
        print("EchoClient Disconnected! ID: " + client.id)


# add the device type to the manager
manager.add_type(EchoClient("echo"))

# run the server using eventlet
if __name__ == "__main__":
    wsgi.server(eventlet.listen(('0.0.0.0', 5000)), app)

If you would like to see the matching quickstart guide for an example client go here.

Metadata

Release files for iot.io 0.4.10

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

Source distribution (sdist)

Source distribution for iot.io 0.4.10
File Size Uploaded Provenance
iot.io-0.4.10.tar.gz 19.7 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for iot.io 0.4.10
File Interpreter ABI Platform
iot.io-0.4.10-py3.8.egg Legacy Egg format - - Details
iot.io-0.4.10-py3-none-any.whl Python 3 none any Details

Total release size: 69.7 kB

Release files / iot.io-0.4.10.tar.gz

Download URL iot.io-0.4.10.tar.gz
Size 19.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f71269d58e0e736d413338bddf01fdd4dab90a97db7142c77f6f78a93814ddaa
BLAKE2b-256 checksum
How to use checksums
852f2ff542d1f6c4dc81cff3830438dc40ab6754d2cee286b8f6eb5d7d854041
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

Release files / iot.io-0.4.10-py3.8.egg

Download URL iot.io-0.4.10-py3.8.egg
Size 24.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
386fb24e83d09be34ef79e0040980b04c7af98ec585e0da23084b7712a27d359
BLAKE2b-256 checksum
How to use checksums
e96bcce545d22d6b6431103705c647ade7ab0a2072a6f45b0c47f09a9f4016ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

Release files / iot.io-0.4.10-py3-none-any.whl

Download URL iot.io-0.4.10-py3-none-any.whl
Size 25.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
429f85acc636eb39ed1ee2cd7ef5783775a7b94941ba345de9e4d9e9e7a947d3
BLAKE2b-256 checksum
How to use checksums
965576af36678f08e266ff90ea3ea66e814552f15fe32e1672a90d315c6d747c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

Security for iot.io 0.4.10

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