John Lindsay via QGIS-Developer <qgis-developer@lists.osgeo.org> writes:

> I believe that I've solved my earlier issue with my QGIS plugin, which
> previously relied on a pip package. In order to avoid this dependency,
> I decided to include the Whitebox Workflows wheel in with my
> plugin. Unfortunately, however, this has increased the size of my
> plugin fairly substantially. The issue is that I need to included a
> wheel for each of the four supported operating systems and each are
> about 10MB. My plugin zip file is now a little less than 40MB. When I
> try to upload the new version to the QGIS plugin repo it is telling me
> that the file is too large. Does anyone know what the maximum size of
> a plugin zip file is? Thanks.

I was unaware that there was an explicit list of 4 operating systems
(and perhaps you mean 4 OS-version-CPU tuples, if this is a binary
wheel, even if those function on later os-version-cpu systems).

But even if one accepts a triculture (which I personally don't), then I
would expect you'd need wheels for

  linux-?-x86_64
  linux-?-earmv7
  linux-?-aarch64
  mac-?-x86_64
  mac-?-aarch64
  windows-10-x86_64

which is 6 not 4.  I'm unclear on Windows on ARM (because I choose to be
unclear on Windows :-).  Plus RISC-V is on the horizon.  So this rapidly
becomes unworkable.

(Certainly, I can see that qgis.org delivers binaries of qgis for a
limited set of systems, but qgis the source code obviously ought to be
buildable and runnable on any reasonable system that 99.9% meets POSIX,
plus perhaps a few extensions.)


What happens when you try to install the plugin on a system for which
you don't provide a binary wheel?

I have seen thing like Home Assistant just try "import and if that fails
call pip install" but that is a "this program has sufficient
portability/stability issues needing pinned dependencies that the only
viable path is to run inside a venv" situation.


It also strikes me that binary wheels inside plugins are a security and
licensing issue.  While I don't mean to suggest you are doing anything
improper, I expect plugins to be just python code.  From a licensing
point of view, the plugin has to be GPL and thus any included binary
wheels also have to be provided under the GPL.  If they were a
GPL-compatible permissive license, that then triggers obligatiions for
provide sources that weren't there before, and aren't presenet with "you
need to install X".  Do we have existing practice about this?

_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to