<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-10-26 18:16 GMT+01:00 Hugo Mercier <span dir="ltr"><<a href="mailto:hugo.mercier@oslandia.com" target="_blank">hugo.mercier@oslandia.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Alessandro,<br>
<span class=""><br>
On 26/10/2015 17:50, Alessandro Pasotti wrote:<br>
<br>
> Hello Hugo,<br>
><br>
> IMHO using  setuptools and pip it's a good idea, it does support<br>
> download and install from several protocols (git included) out of the<br>
> box, it also support dependencies and keywords licence tags, I'm not<br>
> sure that it can support custom tags too, but it it's not so important.<br>
><br>
> I guess that most of the times, a plugin would not even need to be<br>
</span>> hosted by us on <a href="http://plugins.qgis.org" rel="noreferrer" target="_blank">plugins.qgis.org</a> <<a href="http://plugins.qgis.org" rel="noreferrer" target="_blank">http://plugins.qgis.org</a>> but it could<br>
<span class="">> just be a git(hub) URI (with a big red warning to the the users that<br>
> they are installing software from an external repository  etc. etc.).<br>
<br>
</span>Exactly. That are interesting features.<br>
<span class=""><br>
><br>
> I'm not sure about the support on other platforms, luckily (for me) I'm<br>
> deeply ignorant about other OSes but it seems that windows users often<br>
> have a lot of problems with installing and running python code: would<br>
> pip/setuptools make things easier for them?<br>
<br>
</span>Actually, this is the main concern I have with the current system: most<br>
of the Windows users get their python environment through the QGIS<br>
installer or osgeo4w. And if a plugin needs another dependency, it has<br>
to be installed by other means.<br>
Pip does exist for Windows and OSX and could act as a package manager<br>
(where Linux users are usually happy with their distro package manager)<br>
<span class=""><br>
><br>
> I don't understand completely what do you mean with the other points<br>
> (virtualenvs and binary parts) can you elaborate?<br>
<br>
</span>These are just ideas for now :) I don't have a strong experience with<br>
these tools, so it would have to be confirmed.<br>
But the idea is that if QGIS plugins are built with setuptools / pip,<br>
then you can setup different virtualenvs with different sets of plugins<br>
available in them. That may be interesting when dealing with different<br>
user profiles or during development.<br>
<br>
About binary parts: setuptools allows to insert compilation directives<br>
if a module depends on C(++) parts. I don't know if this feature could<br>
allow plugins with compiled parts ... the idea would be to include C(++)<br>
sources with the plugin and have a standard way of compiling it, so that<br>
it could be compiled by trusted sources on main platforms ... or by the<br>
user if a standard compilation environment is present.<br>
</blockquote></div><br><br></div><div class="gmail_extra">Some random thoughts:<br><br></div><div class="gmail_extra">Quite powerful... but ... the current plugin packaging has very limited requirements: it's just a zipped folder with a couple of mandatory metadata and a class interface, building a simple plugin is definitely an easy task.<br><br></div><div class="gmail_extra">I'm afraid that by using a much more complicate system (such as setuptools), would solve some problem for the (few) complex plugins and create a lot of problems and increase the barrier for the vast majority of simpler plugin authors.<br></div><div class="gmail_extra"></div><div class="gmail_extra"><br></div><div class="gmail_extra">We should take this into account and think carefully.<br><br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">Alessandro Pasotti<br>w3:   <a href="http://www.itopen.it" target="_blank">www.itopen.it</a></div>
</div></div>