bt-mqtt-gateway
bt-mqtt-gateway copied to clipboard
Consider using "plugins" for workers distribution
Is your feature request related to a problem? Please describe.
At the moment, all the workers are expected to be distributed within bt-mqtt-gateway itself. It could lead to some issues:
- Not really straightforward dependencies handling
- All the workers expected to have the same license
- "Single point of failure" in terms of distribution — we're relying on @zewelor's availability always to be able to merge new workers and maintain the issues/code quality for all of them
Describe the solution you'd like I propose using the way described in the Python docs: https://packaging.python.org/guides/creating-and-discovering-plugins/, especially the option titled "Using package metadata". This method fully covers my concerns.
Describe alternatives you've considered None, to be honest, I'm open to ideas.
You can find an example of entry-point-based plugins system in https://github.com/philipov/python-plugins-demo