Better management for extra plugins as extra project dependencies

This commit is contained in:
Fabio Manganiello 2019-12-01 19:54:56 +01:00
parent f537a7785a
commit 803c994a77
2 changed files with 107 additions and 47 deletions

View File

@ -51,7 +51,7 @@ bcrypt
# git+https://github.com/iancmcc/ouimeaux # git+https://github.com/iancmcc/ouimeaux
# Google Assistant support # Google Assistant support
# google-assistant-sdk # google-assistant-sdk[samples]
# google-assistant-library # google-assistant-library
# Google APIs general layer support # Google APIs general layer support
@ -80,7 +80,7 @@ bcrypt
# snowboy # snowboy
# Support for the RaspberryPi camera module # Support for the RaspberryPi camera module
# apt install python3-picamera # picamera
# Support for torrents download # Support for torrents download
# python-libtorrent # python-libtorrent

150
setup.py
View File

@ -134,53 +134,113 @@ setup(
'redis', 'redis',
'requests', 'requests',
'croniter', 'croniter',
'pyScss',
], ],
extras_require = { extras_require = {
'Support for custom thread and process names': ['python-prctl'], # Support for thread custom name
'Support for Apache Kafka backend': ['kafka-python'], 'threadname': ['python-prctl'],
'Support for Pushbullet backend': ['requests', 'pushbullet.py'], # Support for Kafka backend and plugin
'Support for HTTP backend': ['flask','websockets', 'python-dateutil'], 'kafka': ['kafka-python'],
'Support for HTTP poll backend': ['frozendict'], # Support for Pushbullet backend and plugin
'Support for external web server': ['uwsgi'], 'pushbullet': ['pushbullet.py'],
'Support for database plugin': ['sqlalchemy'], # Support for HTTP backend
'Support for RSS feeds': ['feedparser'], 'http': ['flask','websockets', 'python-dateutil', 'tz', 'frozendict', 'uwsgi'],
'Support for PDF generation': ['weasyprint'], # Support for database
'Support for Philips Hue plugin': ['phue'], 'db': ['sqlalchemy'],
'Support for MPD/Mopidy music server plugin': ['python-mpd2'], # Support for MQTT backends
# 'Support for Belkin WeMo Switch plugin': ['git+https://github.com/iancmcc/ouimeaux'], 'mqtt': ['paho-mqtt'],
'Support for text2speech plugin': ['mplayer'], # Support for RSS feeds parser
'Support for OMXPlayer plugin': ['omxplayer'], 'rss': ['feedparser'],
'Support for YouTube in the OMXPlayer plugin': ['youtube-dl'], # Support for PDF generation
'Support for torrents download': ['python-libtorrent'], 'pdf': ['weasyprint'],
'Support for Google Assistant': ['google-assistant-library'], # Support for Philips Hue plugin
'Support for the Google APIs': ['google-api-python-client'], 'phue': ['phue'],
'Support for most of the HTTP poll backends': ['python-dateutil'], # Support for MPD/Mopidy music server plugin and backend
'Support for Last.FM scrobbler plugin': ['pylast'], 'mpd': ['python-mpd2', 'websocket-client'],
'Support for custom hotword detection': ['snowboy'], # Support for Belkin WeMo Switch plugin
'Support for real-time MIDI events': ['rtmidi'], 'wemo' : ['ouimeaux @ https://github.com/iancmcc/ouimeaux/tarball/master'],
'Support for GPIO pins access': ['RPi.GPIO'], # Support for text2speech plugin
'Support for MCP3008 analog-to-digital converter plugin': ['adafruit-mcp3008'], 'tts': ['mplayer'],
'Support for smart cards detection': ['pyscard'], # Support for Google text2speech plugin
'Support for ICal calendars': ['icalendar', 'python-dateutil'], 'google-tts': ['google-cloud-texttospeech'],
'Support for joystick backend': ['inputs'], # Support for OMXPlayer plugin
'Support for Kodi plugin': ['kodi-json'], 'omxplayer': ['omxplayer-wrapper'],
'Support for Plex plugin': ['plexapi'], # Support for YouTube
'Support for Chromecast plugin': ['pychromecast'], 'youtube': ['youtube-dl'],
'Support for sound devices': ['sounddevice', 'soundfile', 'numpy'], # Support for torrents download
'Support for web media subtitles': ['webvtt-py'], 'torrent': ['python-libtorrent'],
'Support for mopidy backend': ['websocket-client'], # Support for RaspberryPi camera
'Support for mpv player plugin': ['python-mpv'], 'picamera': ['picamera'],
'Support for compiling SASS/SCSS styles to CSS': ['pyScss'], # Support for inotify file monitors
'Support for NFC tags': ['nfcpy>=1.0', 'ndef'], 'inotify': ['inotify'],
'Support for enviropHAT': ['envirophat'], # Support for Google Assistant
'Support for GPS': ['gps'], 'google-assistant-legacy': ['google-assistant-library'],
'Support for BME280 environment sensor': ['pimoroni-bme280'], 'google-assistant': ['google-assistant-sdk[samples]'],
'Support for LTR559 light/proximity sensor': ['ltr559'], # Support for the Google APIs
'Support for VL53L1X laser ranger/distance sensor': ['smbus2','vl53l1x'], 'google': ['oauth2client', 'google-api-python-client'],
'Support for Dropbox integration': ['dropbox'], # Support for Last.FM scrobbler plugin
# 'Support for Leap Motion backend': ['git+ssh://git@github.com:BlackLight/leap-sdk-python3.git'], 'lastfm': ['pylast'],
# 'Support for Flic buttons': ['git+https://@github.com/50ButtonsEach/fliclib-linux-hci.git'] # Support for custom hotword detection
# 'Support for media subtitles': ['git+https://github.com/agonzalezro/python-opensubtitles#egg=python-opensubtitles'] 'hotword': ['snowboy'],
# Support for real-time MIDI events
'midi': ['rtmidi'],
# Support for RaspberryPi GPIO
'rpi-gpio': ['RPi.GPIO'],
# Support for MCP3008 analog-to-digital converter plugin
'mcp3008': ['adafruit-mcp3008'],
# Support for smart cards detection
'scard': ['pyscard'],
# Support for serial port plugin
'serial': ['pyserial'],
# Support for ICal calendars
'ical': ['icalendar', 'python-dateutil'],
# Support for joystick backend
'joystick': ['inputs'],
# Support for Kodi plugin
'kodi': ['kodi-json'],
# Support for Plex plugin
'plex': ['plexapi'],
# Support for Chromecast plugin
'chromecast': ['pychromecast'],
# Support for sound devices
'sound': ['sounddevice', 'soundfile', 'numpy'],
# Support for web media subtitles
'subtitles': [
'webvtt-py',
'python-opensubtitles @ https://github.com/agonzalezro/python-opensubtitles/tarball/master'],
# Support for mpv player plugin
'mpv': ['python-mpv'],
# Support for NFC tags
'nfc': ['nfcpy>=1.0', 'ndef'],
# Support for enviropHAT
'envirophat': ['envirophat'],
# Support for GPS
'gps': ['gps'],
# Support for BME280 environment sensor
'bme280': ['pimoroni-bme280'],
# Support for LTR559 light/proximity sensor
'ltr559': ['ltr559'],
# Support for VL53L1X laser ranger/distance sensor
'vl53l1x': ['smbus2','vl53l1x'],
# Support for Dropbox integration
'dropbox': ['dropbox'],
# Support for Leap Motion backend
'leap': ['leap-sdk @ https://github.com/BlackLight/leap-sdk-python3/tarball/master'],
# Support for Flic buttons
'flic': ['flic @ https://github.com/50ButtonsEach/fliclib-linux-hci/tarball/master'],
# Support for Alexa/Echo plugin
'alexa': ['avs @ https://github.com:BlackLight/avs/tarball/master'],
# Support for bluetooth and Switchbot plugin
'bluetooth': ['pybluez', 'gattlib'],
# Support for TP-Link devices
'tplink': ['pyHS100'],
# Support for PWM3901 2-Dimensional Optical Flow Sensor
'pwm3901': ['pwm3901'],
# Support for MLX90640 thermal camera
'mlx90640': ['Pillow'],
# Support for machine learning and CV plugin
'cv': ['cv2', 'numpy'],
}, },
) )