Commit graph

254 commits

Author SHA1 Message Date
5823dd0e21
[#292] Converted backend.log.http to a runnable plugin.
Closes: #292
2023-12-04 03:03:21 +01:00
1843ab224b
[#289] Converted backend.file.monitor into a runnable plugin.
Closes: #289
2023-12-04 03:03:20 +01:00
a0d8c522a2
[#308] Finalized weather integrations migration.
- Migrated `weather.buienradar` integration.
- Removed last leftovers of the previous weather backends and responses.

Closes: #308
2023-11-20 03:10:00 +01:00
1a777c6276
Removed Todoist backend and migrated responses to schemas.
The Todoist Websocket interface is no longer working properly, and I'm
sick of reverse engineering it.

Closes: #305
2023-11-18 10:16:48 +01:00
c919cf0cd8
[trello] (Almost) complete plugin rewrite.
- Merged `trello` plugin and backend into a single plugin.

- Removed legacy `Response` objects, replaced with data classes and
  schemas.

- Fixed the Websocket connection flow to reflect the new authentication
  protocol.

Closes: #307
2023-11-17 02:07:04 +01:00
e2c72ea24b
Updated docs 2023-11-16 21:44:59 +01:00
1d833d25ab
Updated integrations docs. 2023-11-10 02:49:29 +01:00
efdb63443d
Renamed the youtube plugin.
From `google.youtube` to `youtube`.
2023-11-04 00:07:29 +01:00
81f7eca319 Better styling of the docs. 2023-11-01 02:30:25 +00:00
cea3055369 Indent pre- and post-install shell scripts in docs. 2023-10-23 15:48:09 +00:00
4c0e3a16b6
Removed Alexa/AVS integration.
The integration was based on my old fork of the AVS service, which is no
longer functional given the changes the the Amazon's backend side.

A new `avs-device-sdk` is now available, but it seems that it requires
lengthy compilation processes which are RaspberryPi-specific.

Further investigation is needed for a new Alexa plugin - see #334.
2023-10-23 00:23:10 +02:00
2c8b06e471
Remove Snowboy integration.
It hurts to see it go, as I really believed in this project.

But the website of the project went away in 2020, the Github project
hasn't seen any activity since 2021, and the fork that is supposed to be
used as a replacement for training .pmdl models hasn't been updated
since 2021 - and it only supports Python 2 on Ubuntu 16.04 or 18.04.

One day I may dedicate some efforts to bring Snowboy back to life, but
until then it's definitely not in a state where it's usable for a
Platypush integration.
2023-10-22 22:33:22 +02:00
b46c00f015
Removed deprecated google.assistant.pushtotalk plugin.
It only existed as a back-compatibility layer with armv6, since there
was no build of the assistant library that worked on Raspberry Pi Zero.

But that API layer has been discontinued by Google and it's no longer
functional, so only the `assistant.google` integration (on x86_64 and
armv7) is currently supported.
2023-10-22 19:57:55 +02:00
cce6c4c5ad
[#284] Merged assistant.google plugin and backend.
This removes the deprecated `assistant.google` backend and also adds a
new `conversation_start_sound` parameter.
2023-10-22 19:55:11 +02:00
ea88ab7f6c
[Docs] Clone and build wiki pages on docs.platypush.tech. 2023-10-21 22:54:49 +02:00
b80a48ec80
[Docs] Added custom style to the main doc page.
Component lists are now displayed in a grid format, each accompained by
an icon.
2023-10-21 22:53:24 +02:00
02049030d0
paho module added to automocks. 2023-10-21 19:55:50 +02:00
deecde1d72
Fixed module name in docs. 2023-10-21 19:55:00 +02:00
4883f49b19
Removed unused travisci events. 2023-10-21 19:15:34 +02:00
ed2a56de42
paho.mqtt should also be added to the mock modules 2023-10-20 00:00:07 +02:00
c05d887551
[application] Added application.install action.
It can be used to programmatically install extensions.
2023-10-18 19:33:00 +02:00
608844ca0c
[WIP] Large refactor of the inspection plugin and models. 2023-10-09 01:33:44 +02:00
7bd721e6a4
Added missing pip install parameter. 2023-09-30 13:31:04 +02:00
343972b520
New IntegrationMetadata generic util class.
This object is in charge of parsing all the metadata of a
plugin/backend.
2023-09-30 02:28:20 +02:00
905d6632e0
Misc documentation improvements. 2023-09-29 18:09:15 +02:00
9298f52443
Moved BluetoothPlugin to __init__.py.
This is for consistency with other plugins, that all have their main
plugin class definition inside of `__init__.py`.
2023-09-24 19:21:53 +02:00
c3337ccc6c
[#311] Docs deps autogen sphinx plugin.
Added an `add_dependencies` plugin to the Sphinx build process that
parses the manifest files of the scanned backends and plugins and
automatically generates the documentation for the required dependencies
and triggered events.

This means that those dependencies are no longer required to be listed
in the docstring of the class itself.

Also in this commit:

- Black/LINT for some integrations that hadn't been touched in a long
  time.

- Deleted some leftovers from previous refactors (deprecated
  `backend.mqtt`, `backend.zwave.mqtt`, `backend.http.request.rss`).

- Deleted deprecated `inotify` backend - replaced by `file.monitor` (see
  #289).
2023-09-24 17:00:08 +02:00
ad2ee75c99
Updated docs 2023-09-23 16:24:18 +02:00
648b4224bb
[#285] Removed old covid19 backend.
Those endpoints aren't even working anymore.

Closes: #285
2023-09-21 00:26:35 +02:00
5d6d37785e
[#288] Removed legacy http.poll backend.
Closes: #288
2023-09-20 23:53:12 +02:00
7ba9a8930a
[#291] Removed deprecated light.hue backend.
Closes: #291
2023-09-20 23:46:40 +02:00
a6efaad26d
[#306] Removed Travis CI integration.
I've tried my best to keep it around, but the endpoints seem to be
broken, they no longer have a link to their API v3 documentation, and
the API Explorer that was supposed to be in the dashboard is gone.
2023-09-20 23:31:58 +02:00
c4352660a4
Documentation update.
Removed references to the legacy zwave plugin and backend.
2023-09-17 02:47:04 +02:00
00863a176e
Added application plugin. 2023-08-15 11:20:24 +02:00
3eda0c6f17
[#268] Implemented XMPP integration. 2023-07-22 22:36:36 +02:00
1395c472c0
docutils moved to required dependencies. 2023-05-09 21:59:36 +02:00
ab2425ebd0
[#260] Removed legacy backend.websocket.
It has now been replaced by the `/ws/events` and `/ws/requests`
websocket routes under `backend.http`.
2023-05-09 02:46:43 +02:00
56dc8d0972
Migrated the webapp to Tornado.
It was just too painful to find a combination of versions of  gunicorn,
gevent, eventlet, pyuwsgi etc. that could work on all of my systems.

On the other hand, Tornado works out of the box with no headaches.

Also in this commit:

- Updated a bunch of outdated/required integration dependencies.
- Black'd and LINTed a couple of old plugins.
2023-05-08 02:06:45 +02:00
692180c653
Back to uvicorn workers from eventlet.
The eventlet API has way too many dependency issues with gunicorn.

Still TODO: Fix or at least mitigate the WSGI workers timeout issue when
they handle websocket connections.
2023-05-07 15:37:58 +02:00
f9b0bc905e
Migrated websocket service.
The websocket service is no longer provided by a different service,
controlled by a different thread running on another port.

Instead, it's now exposed directly over Flask routes, using
WSGI+eventlet+simple_websocket.

Also, the SSL context options have been removed from `backend.http`, for
sake of simplicity. If you want to enable SSL, you can serve Platypush
through a reverse proxy like nginx.
2023-05-07 12:08:28 +02:00
3aefc9607d
Migrated from waitress to gunicorn.
`waitress`, unlike `gunicorn`, doesn't provide an easy way to plug into
a WSGI socket that can be used for the websocket interface.
2023-05-07 00:42:57 +02:00
ca65db016e
Added description line to conf.py. 2023-05-06 23:26:07 +02:00
285f3941d9
Always use an external uWSGI server to run the web service.
Added `waitress` dependency. For performance and security reasons, it's
better to always run the Flask application inside of a uWSGI server.

`waitress` also makes things easier by avoiding to ask the user to
manually provide the external executable arguments, as it was the case
with `uwsgi` and `gunicorn`.
2023-05-05 00:07:13 +02:00
9fd7f7db04 Fixed compatibility with new Sphinx version 2023-05-04 01:05:27 +02:00
0fc05135df
Updated docs 2023-04-23 02:14:57 +02:00
f9ce4b75e8
Updated docs 2023-04-03 01:36:12 +02:00
2781eb1fb1
Merge branch 'master' into 29-generic-entities-support 2023-03-27 00:36:50 +02:00
7a368ebbb8
[#240] Migrated clipboard plugin from pyperclip to pyclip.
Closes: #240
2023-03-26 23:52:15 +02:00
3bb2336b3a
Updated docs 2023-03-26 15:13:48 +02:00
3743ee4f00
s/TheengsGateway/TheengsDecoder/g now that the pip package has been published. 2023-03-20 01:41:21 +01:00