Extended manifest files with Python system packages (if available).

- If a Python optional dependency is available as a system package on
  the target system, try and install it that route rather than pip. It's
  usually faster and it decreases the risk of breaking system packages.

- Added support for apk dependencies in manifest files. This brings the
  number of distros officially supported by all the extensions to four:

  - Alpine
  - Arch
  - Debian
  - Ubuntu
This commit is contained in:
Fabio Manganiello 2023-08-16 22:43:51 +02:00
parent c2a17f0d75
commit 98e9abde18
Signed by untrusted user: blacklight
GPG key ID: D90FBA7F76362774
69 changed files with 551 additions and 135 deletions

View file

@ -19,6 +19,15 @@ manifest:
platypush.message.event.assistant.TimerEndEvent: when a timer ends
platypush.message.event.assistant.TimerStartedEvent: when a timer starts
install:
apk:
- py3-grpcio
- py3-google-auth
apt:
- python3-grpcio
- python3-google-auth
pacman:
- python-grpcio
- python-google-auth
pip:
- google-assistant-library
- google-assistant-sdk[samples]

View file

@ -1,6 +1,15 @@
manifest:
events: {}
install:
apk:
- py3-numpy
- py3-pillow
pacman:
- python-numpy
- python-pillow
apt:
- python3-numpy
- python3-pillow
pip:
- picamera
- numpy

View file

@ -4,6 +4,12 @@ manifest:
platypush.message.event.file.FileSystemDeleteEvent: if a resource is removed.
platypush.message.event.file.FileSystemModifyEvent: if a resource is modified.
install:
apk:
- py3-watchdog
apt:
- python3-watchdog
pacman:
- python-watchdog
pip:
- watchdog
package: platypush.backend.file.monitor

View file

@ -6,11 +6,13 @@ manifest:
platypush.message.event.gps.GPSVersionEvent: when a GPS device advertises its
version data
install:
pip:
- gps
pacman:
apk:
- gpsd
apt:
- gpsd
pacman:
- gpsd
pip:
- gps
package: platypush.backend.gps
type: backend

View file

@ -1,7 +1,6 @@
manifest:
events: {}
install:
pip:
- gunicorn
pip: []
package: platypush.backend.http
type: backend

View file

@ -9,6 +9,10 @@ manifest:
platypush.message.event.inotify.InotifyPermissionsChangeEvent: if the permissions
of a resource are changed
install:
apk:
- py3-inotify
apt:
- python3-inotify
pip:
- inotify
package: platypush.backend.inotify

View file

@ -13,9 +13,11 @@ manifest:
platypush.message.event.joystick.JoystickStateEvent: when the state of the joystick
(i.e. some of itsaxes or buttons values) changes.
install:
apk:
- linuxconsoletools
apt:
- joystick
pacman:
- jsutils
- joyutils
package: platypush.backend.joystick.jstest
type: backend

View file

@ -1,6 +1,8 @@
manifest:
events: {}
install:
apt:
- python3-kafka
pip:
- kafka
package: platypush.backend.kafka

View file

@ -2,6 +2,12 @@ manifest:
events:
platypush.message.event.log.http.HttpLogEvent: when a new log line is created.
install:
apk:
- py3-watchdog
apt:
- python3-watchdog
pacman:
- python-watchdog
pip:
- watchdog
package: platypush.backend.log.http

View file

@ -2,6 +2,11 @@ manifest:
events:
platypush.message.event.midi.MidiMessageEvent: when a new MIDI event is received
install:
apt:
- python3-rtmidi
pacman:
- rtmidi
- python-rtmidi
pip:
- rtmidi
package: platypush.backend.midi

View file

@ -3,6 +3,12 @@ manifest:
platypush.message.event.mqtt.MQTTMessageEvent: when a newmessage is received on
one of the custom listeners
install:
apk:
- py3-paho-mqtt
pacman:
- python-paho-mqtt
apt:
- python3-paho-mqtt
pip:
- paho-mqtt
package: platypush.backend.mqtt

View file

@ -10,6 +10,10 @@ manifest:
platypush.message.event.music.PlaylistChangeEvent: if the main playlist has changed
platypush.message.event.music.VolumeChangeEvent: if the main volume has changed
install:
apt:
- python3-mpd2
pacman:
- python-mpd2
pip:
- python-mpd2
package: platypush.backend.music.mpd

View file

@ -9,6 +9,9 @@ manifest:
platypush.message.event.music.NewPlayingTrackEvent: if a new track is being played
platypush.message.event.music.VolumeChangeEvent: if the volume changes
install:
apk:
- sudo
- cargo
apt:
- sudo
- cargo

View file

@ -3,6 +3,12 @@ manifest:
platypush.message.event.scard.SmartCardDetectedEvent: when a smart card is detected
platypush.message.event.scard.SmartCardRemovedEvent: when a smart card is removed
install:
apk:
- py3-pyscard
pacman:
- python-pyscard
apt:
- python3-pyscard
pip:
- pyscard
package: platypush.backend.scard

View file

@ -14,6 +14,12 @@ manifest:
platypush.message.event.zwave.ZwaveValueChangedEvent: when the value of a node
on the networkchanges.
install:
apk:
- py3-paho-mqtt
pacman:
- python-paho-mqtt
apt:
- python3-paho-mqtt
pip:
- paho-mqtt
package: platypush.backend.zwave.mqtt

View file

@ -7,6 +7,15 @@ manifest:
platypush.message.event.assistant.SpeechRecognizedEvent: when a new voice command
is recognized
install:
apk:
- py3-tenacity
- py3-google-auth
apt:
- python3-tenacity
- python3-google-auth
pacman:
- python-tenacity
- python-google-auth
pip:
- tenacity
- google-assistant-sdk

View file

@ -13,6 +13,14 @@ manifest:
platypush.message.event.bluetooth.BluetoothScanResumedEvent:
platypush.message.event.entities.EntityUpdateEvent:
install:
apk:
- py3-pydbus
apt:
- libbluetooth-dev
- python3-pydbus
pacman:
- python-pydbus
- python-bleak
pip:
- bleak
- bluetooth-numbers
@ -20,7 +28,5 @@ manifest:
- pydbus
- git+https://github.com/pybluez/pybluez
- git+https://github.com/BlackLight/PyOBEX
apt:
- libbluetooth-dev
package: platypush.plugins.bluetooth
type: plugin

View file

@ -1,6 +1,12 @@
manifest:
events: {}
install:
apk:
- py3-icalendar
apt:
- python3-icalendar
pacman:
- python-icalendar
pip:
- icalendar
package: platypush.plugins.calendar.ical

View file

@ -1,6 +1,18 @@
manifest:
events: {}
install:
apk:
- py3-numpy
- py3-pillow
- py3-opencv
pacman:
- python-numpy
- python-pillow
- python-opencv
apt:
- python3-numpy
- python3-pillow
- python3-opencv
pip:
- numpy
- opencv-python

View file

@ -1,12 +1,20 @@
manifest:
events: {}
install:
apk:
- py3-numpy
- py3-pillow
- ffmpeg
pacman:
- python-numpy
- python-pillow
- ffmpeg
apt:
- python3-numpy
- python3-pillow
- ffmpeg
pip:
- numpy
- Pillow
apt:
- ffmpeg
pacman:
- ffmpeg
package: platypush.plugins.camera.ffmpeg
type: plugin

View file

@ -1,16 +1,25 @@
manifest:
events: {}
install:
apk:
- py3-numpy
- py3-pillow
- py3-gobject3
- py3-gst
pacman:
- python-numpy
- python-pillow
- gst-python
- python-gobject
apt:
- python3-numpy
- python3-pillow
- python3-gi
- python3-gst-1.0
pip:
- numpy
- Pillow
- pygobject
apt:
- python3-gi
- python3-gst-1.0
pacman:
- gst-python
- python-gobject
package: platypush.plugins.camera.gstreamer
type: plugin

View file

@ -1,12 +1,20 @@
manifest:
events: {}
install:
apk:
- i2c-tools-dev
- py3-numpy
- py3-pillow
pacman:
- i2c-tools
- python-numpy
- python-pillow
apt:
- libi2c-dev
- python3-numpy
- python3-pillow
pip:
- numpy
- Pillow
apt:
- libi2c-dev
pacman:
- i2c-tools
package: platypush.plugins.camera.ir.mlx90640
type: plugin

View file

@ -1,6 +1,15 @@
manifest:
events: {}
install:
apk:
- py3-numpy
- py3-pillow
pacman:
- python-numpy
- python-pillow
apt:
- python3-numpy
- python3-pillow
pip:
- picamera
- numpy

View file

@ -21,5 +21,9 @@ manifest:
package: platypush.plugins.chat.irc
type: plugin
install:
apt:
- python3-irc
pacman:
- python-irc
pip:
- irc

View file

@ -2,6 +2,8 @@ manifest:
events:
platypush.message.event.clipboard.ClipboardEvent: on clipboard update.
install:
apk:
- py3-pyclip
pip:
- pyclip
package: platypush.plugins.clipboard

View file

@ -2,6 +2,15 @@ manifest:
events:
platypush.message.event.dbus.DbusSignalEvent: When a signal is received
install:
apk:
- py3-pydbus
- py3-defusedxml
apt:
- python3-pydbus
- python3-defusedxml
pacman:
- python-pydbus
- python-defusedxml
pip:
- pydbus
- defusedxml

View file

@ -1,6 +1,10 @@
manifest:
events: {}
install:
apt:
- python3-dropbox
pacman:
- python-dropbox
pip:
- dropbox
package: platypush.plugins.dropbox

View file

@ -1,11 +1,14 @@
manifest:
events: {}
install:
pip:
- ffmpeg-python
apk:
- ffmpeg
apt:
- ffmpeg
pacman:
- ffmpeg
- python-ffmpeg
pip:
- ffmpeg-python
package: platypush.plugins.ffmpeg
type: plugin

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -1,6 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-google-api-python-client
- py3-google-auth
- py3-oauth2client
apt:
- python3-google-auth
- python3-oauth2client
pacman:
- python-google-api-python-client
- python-google-auth
- python-oauth2client
pip:
- google-api-python-client
- google-auth

View file

@ -4,6 +4,10 @@ manifest:
platypush.message.event.hid.HidDeviceDisconnectedEvent: when a previously available device is disconnected
platypush.message.event.hid.HidDeviceDataEvent: when a monitored device sends some data
install:
apt:
- python3-hid
pacman:
- python-hid
pip:
- hid
package: platypush.plugins.hid

View file

@ -1,15 +1,20 @@
manifest:
events: {}
install:
pip:
- weasyprint
apk:
- sudo
- nodejs
- npm
apt:
- sudo
- nodejs
- npm
pacman:
- sudo
- nodejs
- npm
pip:
- weasyprint
exec:
- sudo npm install -g @postlight/mercury-parser
package: platypush.plugins.http.webpage

View file

@ -1,7 +1,6 @@
manifest:
events: {}
install:
pip:
- docutils
pip: []
package: platypush.plugins.inspect
type: plugin

View file

@ -1,6 +1,12 @@
manifest:
events: {}
install:
apk:
- py3-pylast
apt:
- python3-pylast
pacman:
- python-pylast
pip:
- pylast
package: platypush.plugins.lastfm

View file

@ -39,10 +39,13 @@ manifest:
message seen by a user in a room is updated.
platypush.message.event.matrix.MatrixUserPresenceEvent: when a user comes
online or goes offline.
apk:
- olm-dev
apt:
- libolm-devel
pacman:
- libolm
- python-async-lru
pip:
- matrix-nio[e2e]
- async_lru

View file

@ -1,6 +1,10 @@
manifest:
events: {}
install:
apk:
- py3-pychromecast
apt:
- python3-pychromecast
pip:
- pychromecast
package: platypush.plugins.media.chromecast

View file

@ -1,14 +1,17 @@
manifest:
events: {}
install:
apk:
- py3-gobject3
- py3-gst
apt:
- python3-gi
- python3-gst-1.0
pip:
- pygobject
pacman:
- gst-python
- python-gobject
pip:
- pygobject
package: platypush.plugins.media.gstreamer
type: plugin

View file

@ -1,6 +1,10 @@
manifest:
events: {}
install:
apk:
- py3-kodi
pacman:
- python-kodi-json
pip:
- kodi-json
package: platypush.plugins.media.kodi

View file

@ -1,6 +1,8 @@
manifest:
events: {}
install:
apk:
- mplayer
apt:
- mplayer
pacman:

View file

@ -1,11 +1,16 @@
manifest:
events: {}
install:
pip:
- python-mpv
apk:
- mpv
- py3-mpv
apt:
- mpv
- python3-mpv
pacman:
- mpv
- python-mpv
pip:
- python-mpv
package: platypush.plugins.media.mpv
type: plugin

View file

@ -1,6 +1,8 @@
manifest:
events: {}
install:
apt:
- python3-webvtt
pip:
- python-opensubtitles
- webvtt-py

View file

@ -1,11 +1,15 @@
manifest:
events: {}
install:
pip:
- python-vlc
apk:
- vlc
- py3-vlc
apt:
- vlc
- python3-vlc
pacman:
- vlc
pip:
- python-vlc
package: platypush.plugins.media.vlc
type: plugin

View file

@ -1,6 +1,10 @@
manifest:
events: {}
install:
apt:
- python3-rtmidi
pacman:
- python-rtmidi
pip:
- python-rtmidi
package: platypush.plugins.midi

View file

@ -1,6 +1,15 @@
manifest:
events: {}
install:
apk:
- py3-numpy
- py3-opencv
pacman:
- python-numpy
- python-opencv
apt:
- python3-numpy
- python3-opencv
pip:
- numpy
- opencv-python

View file

@ -1,6 +1,12 @@
manifest:
events: {}
install:
apk:
- py3-paho-mqtt
pacman:
- python-paho-mqtt
apt:
- python3-paho-mqtt
pip:
- paho-mqtt
package: platypush.plugins.mqtt

View file

@ -1,6 +1,10 @@
manifest:
events: {}
install:
apt:
- python-mpd
pacman:
- python-mpd2
pip:
- python-mpd2
package: platypush.plugins.music.mpd

View file

@ -1,6 +1,12 @@
manifest:
events: {}
install:
apk:
- py3-otp
apt:
- python3-pyotp
pacman:
- python-pyotp
pip:
- pyotp
package: platypush.plugins.otp

View file

@ -1,9 +1,14 @@
manifest:
events: {}
install:
pip:
- pycups
apk:
- py3-pycups
apt:
- libcups2-dev
- python3-cups
pacman:
- python-pycups
pip:
- pycups
package: platypush.plugins.printer.cups
type: plugin

View file

@ -1,6 +1,21 @@
manifest:
events: {}
install:
apk:
- py3-numpy
- py3-pillow
- py3-qrcode
- py3-pyzbar
pacman:
- python-numpy
- python-pillow
- python-qrcode
- pyzbar
apt:
- python3-numpy
- python3-pillow
- python3-pyzbar
- python3-qrcode
pip:
- numpy
- qrcode

View file

@ -2,6 +2,15 @@ manifest:
events:
platypush.message.event.rss.NewFeedEntryEvent: when a new entry is received on a subscribed feed.
install:
apk:
- py3-feedparser
- py3-defusedxml
apt:
- python3-feedparser
- python3-defusedxml
pacman:
- python-feedparser
- python-defusedxml
pip:
- feedparser
- defusedxml

View file

@ -15,6 +15,8 @@ manifest:
removed.
platypush.message.event.torrent.TorrentResumedEvent: when a transfer is resumed.
install:
apk:
- rtorrent
apt:
- rtorrent
pacman:

View file

@ -2,6 +2,12 @@ manifest:
events:
- platypush.message.event.sensor.SensorDataChangeEvent:
install:
apk:
- py3-pyserial
apt:
- python3-serial
pacman:
- python-pyserial
pip:
- pyserial
package: platypush.plugins.serial

View file

@ -9,14 +9,21 @@ manifest:
platypush.message.event.sound.SoundRecordingStartedEvent: on recording start
platypush.message.event.sound.SoundRecordingStoppedEvent: on recording stop
install:
pip:
- sounddevice
- numpy
apk:
- ffmpeg
- portaudio-dev
- py3-numpy
apt:
- ffmpeg
- portaudio19-dev
- python3-numpy
pacman:
- ffmpeg
- portaudio
- python-numpy
- python-sounddevice
pip:
- sounddevice
- numpy
package: platypush.plugins.sound
type: plugin

View file

@ -1,6 +1,12 @@
manifest:
events: {}
install:
apk:
- py3-paramiko
apt:
- python3-paramiko
pacman:
- python-paramiko
pip:
- paramiko
package: platypush.plugins.ssh

View file

@ -1,6 +1,13 @@
manifest:
events: {}
install:
apk:
- py3-numpy
pacman:
- python-numpy
- python-sounddevice
apt:
- python3-numpy
pip:
- deepspeech
- numpy

View file

@ -1,6 +1,12 @@
manifest:
events: {}
install:
apk:
- py3-py-cpuinfo
apt:
- python3-cpuinfo
pacman:
- python-py-cpuinfo
pip:
- py-cpuinfo
package: platypush.plugins.system

View file

@ -13,6 +13,17 @@ manifest:
platypush.message.event.tensorflow.TensorflowTrainStartedEvent: when a Tensorflow
model starts being trained.
install:
apk:
- py3-numpy
- py3-pandas
pacman:
- python-numpy
- python-pandas
- python-tensorflow
- python-keras
apt:
- python3-numpy
- python3-pandas
pip:
- numpy
- pandas

View file

@ -1,7 +1,13 @@
manifest:
events: {}
install:
apk:
- py3-libtorrent-rasterbar
apt:
- python3-libtorrent
pacman:
- libtorrent-rasterbar
pip:
- python-libtorrent
- libtorrent
package: platypush.plugins.torrent
type: plugin

View file

@ -1,6 +1,8 @@
manifest:
events: {}
install:
apt:
- python3-twilio
pip:
- twilio
package: platypush.plugins.twilio

View file

@ -29,6 +29,13 @@ manifest:
platypush.message.event.xmpp.XmppRoomUserUnavailableEvent:
platypush.message.event.xmpp.XmppUserAvailableEvent:
platypush.message.event.xmpp.XmppUserUnavailableEvent:
apk:
- py3-tz
apt:
- python3-aioxmpp
- python3-tz
pacman:
- python-pytz
pip:
- aioxmpp
- pytz

View file

@ -7,7 +7,6 @@ manifest:
platypush.message.event.zeroconf.ZeroconfServiceUpdatedEvent: when a service is
updated.
install:
pip:
- zeroconf
pip: []
package: platypush.plugins.zeroconf
type: plugin

View file

@ -39,6 +39,12 @@ manifest:
platypush.message.event.zigbee.mqtt.ZigbeeMqttOnlineEvent: >
when the service comes online.
install:
apk:
- py3-paho-mqtt
pacman:
- python-paho-mqtt
apt:
- python3-paho-mqtt
pip:
- paho-mqtt
package: platypush.plugins.zigbee.mqtt

View file

@ -17,6 +17,12 @@ manifest:
platypush.message.event.zwave.ZwaveValueChangedEvent: >
when the value of a node on the network changes.
install:
apk:
- py3-paho-mqtt
pacman:
- python-paho-mqtt
apt:
- python3-paho-mqtt
pip:
- paho-mqtt
package: platypush.plugins.zwave.mqtt