Hide keyboard shortcuts

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 

7 

8from ..installhelper.module_install import ModuleInstall 

9 

10 

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"), 

106 

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"), 

111 

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"), 

123 

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]