2013-11-24, 13:24
The biggest pain for me right now when developing add-ons is the packaging of python library dependencies. For any add-on which depends on quite a few external python libraries which are not already packaged for XBMC, the work required to package it for submission in the official repositories quickly adds up to quite a lot.
In order to do this you would have to either:
Both of these are quite inefficient and require a significant amount of work to prepare the initial submission and to keep the dependencies up-to-date.
Since most add-ons use libraries which are already found in the Python Package Index wouldn't it be possible to let XBMC download and install these dependencies automatically, preferably whit-in a virtualenv for each add-on?
Are there any security considerations which should be taken into consideration?
Would it be feasible to implement this functionality into XBMC?
By having the dependency resolution implemented directly into XBMC and letting the add-on developers only specify their dependencies in a requirements.txt would make our life as add-on developers much easier.
What do you guys think?
Martijn has mentioned that this would be a no-go on most platforms. Would anyone care to explain what are the platforms for which this idea would not be possible and why is that so?
In order to do this you would have to either:
- download all the required libraries and drop them in your add-on directory, or
- package each and every library you depend on in a different XBMC add-on (which requires significantly more work)
Both of these are quite inefficient and require a significant amount of work to prepare the initial submission and to keep the dependencies up-to-date.
Since most add-ons use libraries which are already found in the Python Package Index wouldn't it be possible to let XBMC download and install these dependencies automatically, preferably whit-in a virtualenv for each add-on?
Are there any security considerations which should be taken into consideration?
Would it be feasible to implement this functionality into XBMC?
By having the dependency resolution implemented directly into XBMC and letting the add-on developers only specify their dependencies in a requirements.txt would make our life as add-on developers much easier.
What do you guys think?
Martijn has mentioned that this would be a no-go on most platforms. Would anyone care to explain what are the platforms for which this idea would not be possible and why is that so?