[QGIS-Developer] Developing a plugin and a Python library at the same time

Luigi Pirelli luipir at gmail.com
Sun Dec 3 13:17:30 PST 2017


recently Nyall started to move (in 3.x) some Processing base GUI
classes to C++ to avoid GUI lock in case of MT context when the Python
interpreter is locked... check this PR
https://github.com/qgis/QGIS/pull/5761
fits your problem... as far as I understood.

cheers
Luigi Pirelli

**************************************************************************************************
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* GitHub: https://github.com/luipir
* Mastering QGIS 2nd Edition:
* https://www.packtpub.com/big-data-and-business-intelligence/mastering-qgis-second-edition
* Hire me: http://goo.gl/BYRQKg
**************************************************************************************************


On 3 December 2017 at 21:34, Pedro Camargo <veigacamargo at gmail.com> wrote:
> Hello developers,
>
>    This question might not be exactly for this forum (maybe
> StackOverflow!?!), but since I am doing the development for QGIS, I guess it
> makes sense being here.
>
> Some background:
>
>    A while ago, I started developing AequilibraE, which is a plugin for
> transportation modelers/forecasters (plus some additional GIS tools that
> help in that type of work).
>
> As time progressed, I have re-factored all the GUI to work on a threaded
> fashion when running algorithms and have worked on releasing the GIL for the
> transportation-specific algorithms, which allows me to multi-thread the
> procedures.
>
> I have also worked quite a bit on the underlying library that contains the
> transportation-specific procedures, which allows people to just integrate
> those procedures in other workflows.
>
> Lastly, I have started developing a large number of unittests for that
> underlying library
>
> The problem:
>
>    I want to use the same (multi-threaded) API calls I provide for the
> Python users through the underlying library in the GUI, so I don't have to
> duplicate the same threading procedure, but at the same time I do want to
> keep the GUI being updated.
>
> Has somebody worked on a problem like this?  I would really appreciate some
> reference I could study from, as I have not found a good solution for this
> problem yet.
>
> Cheers,
> Pedro
>
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the QGIS-Developer mailing list