diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 04:40:02 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 04:40:02 +0000 |
commit | 11798860e53a1ce5f64b763cf69f4d4c971092de (patch) | |
tree | f6366b8e397ba3ff77c44a85a419505d69212e06 /python-iot-io.spec | |
parent | 75dff6eef2a5ded0e118d04504a236961c5e3358 (diff) |
automatic import of python-iot.ioopeneuler20.03
Diffstat (limited to 'python-iot-io.spec')
-rw-r--r-- | python-iot-io.spec | 268 |
1 files changed, 268 insertions, 0 deletions
diff --git a/python-iot-io.spec b/python-iot-io.spec new file mode 100644 index 0000000..e1add19 --- /dev/null +++ b/python-iot-io.spec @@ -0,0 +1,268 @@ +%global _empty_manifest_terminate_build 0 +Name: python-iot.io +Version: 0.4.10 +Release: 1 +Summary: A management API for connecting and managing Clients via websocket connections. +License: MIT +URL: https://github.com/dylancrockett/iot.io +Source0: https://mirrors.aliyun.com/pypi/web/packages/85/2f/2ff542d1f6c4dc81cff3830438dc40ab6754d2cee286b8f6eb5d7d854041/iot.io-0.4.10.tar.gz +BuildArch: noarch + +Requires: python3-gevent +Requires: python3-gevent-websocket +Requires: python3-flask +Requires: python3-flask-sockets + +%description +# 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](https://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. + +```python +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](https://github.com/dylancrockett/iot.io-client). + + + + + +%package -n python3-iot.io +Summary: A management API for connecting and managing Clients via websocket connections. +Provides: python-iot.io +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-iot.io +# 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](https://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. + +```python +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](https://github.com/dylancrockett/iot.io-client). + + + + + +%package help +Summary: Development documents and examples for iot.io +Provides: python3-iot.io-doc +%description help +# 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](https://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. + +```python +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](https://github.com/dylancrockett/iot.io-client). + + + + + +%prep +%autosetup -n iot.io-0.4.10 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-iot.io -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.10-1 +- Package Spec generated |