Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# -*- coding: utf-8 -*-
2"""
3@file
4@brief Defines different a set of IoT related modules (Internet of Things)
5"""
6import sys
8from ..installhelper.module_install import ModuleInstall
11def iot_set():
12 """
13 list of sphinx themes and others helpers for sphinx, it requires the modules in set *small*
14 """
15 mod = [
16 ModuleInstall(
17 'phue', 'pip', purpose="A Philips Hue Python library", usage="IoT"),
18 ModuleInstall('ledcontroller', 'pip',
19 purpose="Controller library for limitlessled/easybulb/milight Wi-Fi LEDs", usage="IoT"),
20 ModuleInstall('enum-compat', 'pip',
21 purpose="enum/enum34 compatibility package") if sys.version_info[0] == 2 else None,
22 ModuleInstall('netifaces', 'pip',
23 purpose="Portable network interface information."),
24 ModuleInstall('ifaddr', 'pip', purpose="for zero conf"),
25 ModuleInstall('zeroconf', 'pip',
26 purpose="Multicast DNS Service Discovery for Python, originally by Paul Scott-Murphy."),
27 ModuleInstall('casttube', 'pip', purpose="for pychromecast"),
28 ModuleInstall('pychromecast', 'pip',
29 purpose="Library for Python 2 and 3 to communicate with the Google Chromecast."),
30 ModuleInstall('python-xlib', 'pip', mname="Xlib",
31 purpose="Python X Library"),
32 ModuleInstall('pyHook', 'wheel',
33 purpose="Python wrapper for global input hooks in Windows. The package provides callbacks "
34 + "for mouse and keyboard events;"
35 + " events can be monitored and filtered."),
36 ModuleInstall('pyuserinput', 'pip', mname="pykeyboard",
37 purpose="A simple, cross-platform module for mouse and keyboard control"),
38 ModuleInstall('tellcore-py', 'pip', mname="tellcore", usage="IoT",
39 purpose="Python wrapper for Telldus' home automation library"),
40 ModuleInstall('python-nmap', 'pip', mname="nmap",
41 purpose="This is a python class to use nmap and access scan results from python3"),
42 ModuleInstall('python-magic', 'pip',
43 purpose="File type identification using libmagic"),
44 ModuleInstall('websocket-client', 'pip', mname="websocket",
45 purpose="WebSocket client for python. hybi13 is supported."),
46 ModuleInstall('pushbullet.py', 'pip', usage="IoT",
47 purpose="A simple python client for pushbullet.com"),
48 ModuleInstall('sseclient-py', 'pip', mname="sseclient",
49 purpose="A Python client for SSE event sources that seamlessly "
50 + "integrates with urllib3 and requests."),
51 ModuleInstall('python-nest', 'pip', usage="IoT",
52 purpose="Python API and command line tool for talking to the Nest™ Thermostat"),
53 ModuleInstall('VarEvents', 'pip', usage="IoT",
54 purpose="Python module to create variables that can raise custom events."),
55 ModuleInstall('PyISY', 'pip', usage="IoT",
56 purpose="Python module to talk to ISY994 from UDI."),
57 ModuleInstall('python-pushover', 'pip', usage="IoT",
58 purpose="Comprehensive bindings and command line utility for the Pushover notification service"),
59 ModuleInstall('transmissionrpc', 'pip', usage="IoT",
60 purpose="Python module that implements the Transmission bittorent client RPC protocol."),
61 ModuleInstall('pyowm', 'pip', usage="DATA",
62 purpose="A Python wrapper around the OpenWeatherMap web API"),
63 ModuleInstall('sleekxmpp', 'pip', usage="IoT",
64 purpose="SleekXMPP is an elegant Python library for XMPP (aka Jabber, Google Talk, etc)."),
65 ModuleInstall('dnspython3', 'pip', usage="IoT",
66 purpose="A DNS toolkit for Python 3.x"),
67 ModuleInstall('blockchain', 'pip', usage="IoT",
68 purpose="Blockchain API library (v1)"),
69 ModuleInstall('python-mpd2', 'pip', usage="IoT", mname="mdp2",
70 purpose="A Python MPD client library"),
71 ModuleInstall('hikvision', 'pip', usage="IoT",
72 purpose="Provides a python interface to interact with a hikvision camera"),
73 ModuleInstall('jsonrpc-requests', 'pip', mname="jsonrpc_requests",
74 purpose="A JSON-RPC client library, backed by requests"),
75 ModuleInstall(
76 'cookies', 'pip', purpose="Friendlier RFC 6265-compliant cookie parser/renderer"),
77 ModuleInstall('responses', 'pip',
78 purpose="A utility library for mocking out the `requests` Python library."),
79 ModuleInstall('python-forecastio', 'pip', usage="IoT",
80 purpose="A thin Python Wrapper for the Forecast.io weather API"),
81 ModuleInstall('pyserial', 'pip', mname="serial",
82 usage="IoT", purpose="Python Serial Port Extension"),
83 ModuleInstall('PyMata', 'pip', usage="IoT",
84 purpose="A Python Protocol Abstraction Library For Arduino Firmata"),
85 ModuleInstall('pyRFXtrx', 'pip', mname="RFXtrx",
86 purpose="A Python library to communicate with the RFXtrx family of devices"),
87 # ModuleInstall('pymysensors', 'github', 'theolind', mname="mysensors",
88 # purpose="Python API for talking to a MySensors gateway"),
89 ModuleInstall('pynetgear', 'pip', usage="IoT",
90 purpose="Access Netgear routers using their SOAP API"),
91 ModuleInstall('netdisco', 'pip', usage="IoT",
92 purpose="Discover devices on your local network"),
93 ModuleInstall('pywemo', 'pip', usage="IoT",
94 purpose="Access WeMo switches using their SOAP API"),
95 ModuleInstall('python-wink', 'pip', mname="pywink",
96 purpose="Python implementation of the Wink API"),
97 ModuleInstall('slacker', 'pip', purpose="Slack API client"),
98 ModuleInstall(
99 'vincenty', 'pip', purpose="Calculate the geographical distance between 2 points with extreme accuracy."),
100 ModuleInstall('pyusb', 'pip', usage="IoT",
101 purpose="Python USB access module"),
102 ModuleInstall('temperusb', 'pip', usage="IoT",
103 purpose="Reads temperature from TEMPerV1 devices (USB 0c45:7401)"),
104 ModuleInstall('pyedimax', 'github', 'rkabadi', usage="IoT",
105 purpose="Pyedimax is a python library for interfacing with the Edimax Smart Plug switches SP-1101W and SP-2101W"),
107 # Uncomment for Raspberry Pi
108 # ModuleInstall('RPi.GPIO', 'pip'),
109 # uncomment on a Raspberry Pi / Beaglebone
110 # ModuleInstall('Adafruit_Python_DHT', 'github', 'mala-zaba', purpose="Adafruit temperature/humidity sensor", usage="IoT"),
112 ModuleInstall('paho-mqtt', 'pip', mname="paho.mqtt", usage="IoT",
113 purpose="MQTT version 3.1/3.1.1 client class"),
114 # ModuleInstall('pymodbus', 'github', 'bashwork', usage='IoT'),
115 ModuleInstall('python-verisure', 'github', 'persandstrom', mname="verisure", usage='IoT',
116 purpose="A python module for reading and changing status of verisure devices through mypages."),
117 ModuleInstall('voluptuous', 'pip',
118 purpose="Voluptuous is a Python data validation library"),
119 ModuleInstall('astral', 'pip',
120 purpose="Calculations for the position of the sun and moon."),
121 ModuleInstall('voluptuous_serialize', 'pip',
122 purpose="for homeassistant"),
124 ModuleInstall('homeassistant', 'pip',
125 purpose="Home Assistant is a home automation platform running on Python 3. "
126 + "The goal of Home Assistant is to be able to track and control all devices at "
127 + "home and offer a platform for automating control.",
128 web="https://github.com/balloob/home-assistant/",
129 usage="IoT"),
130 ]
131 return [_ for _ in mod if _ is not None]