[Qgis-user] Shared/common library for PyQGIS scripts

Hernán De Angelis variablestarlight at gmail.com
Tue Oct 20 08:34:10 PDT 2020


This is an interesting discussion. I am an outsider in that I do not use 
PyQGIS particularly often. However, based on similar experiences, I can 
feel I can add my two cents.

Any repository (software or otherwise!) requires a maintenance plan, 
active maintainer(s) and a search tool of sorts to be useful. Otherwise 
chances are that it will soon turn into a graveyard of code that no one 
will want to use.

In my opinion, one can distinguish the following cases and solutions in 
this discussion:

1. code that solves a sufficiently general spatial problem: best 
included in the main code as a function and maintained as such.

2. snippet that solves a sufficiently general use case: treated as 
either (1) or included in the cookbook

3. snippet that solves a particular case of potential general interest: 
describe in an appendix to cookbook or a wiki in a very general way so 
that potential users can adapt it.

/H.



On 2020-10-20 16:23, qgis-user at stripfamily.net wrote:
> Thanks for a really thoughtful overview of the issues.
>
> I don't think Stack Overflow or any of the Stack Exchange sites are 
> the right way to go. In addition to your gamification objections (to 
> which I add the obsessive "that's two questions" objections), it's 
> just not a focused place to put snippets (or gists as it's called in 
> other places).
>
> Adding to the cookbook doesn't seem right either, since it makes the 
> cookbook too diffuse and fills it with so many examples it becomes 
> distracting. Add in the fact that the cookbook examples have to be 
> runnable in the test harness and require action on a pull request and 
> the hurdles become too high.
>
> My preferred solution would be some sort of lightly moderated 
> snippet/gist manager that doesn't require any special privileges 
> beyond perhaps registration to provide an impediment to spamming. 
> Github gists don't seem to have tags so we'd need to establish some 
> sort of convention for embedding "tags" in comments. Perhaps someone 
> who is familiar with online gist managers can suggest an approach.
>
>
> On 10/20/2020 1:34 AM, Charles Dixon-Paver wrote:
>> Personally I feel like this outlines a greater problem of snippet 
>> sharing in many developer communities and is not a problem that is 
>> well suited to the resource sharing plugin, or even a single 
>> traditional GitHub repo.
>>
>> My personal approach was to set up a subdirectory on GitHub with code 
>> snippets and add a pyqgis subdirectory (although I don't have a 
>> useful collection of things yet). I don't really like gists for 
>> something I want to maintain or have discoverable, so I use this 
>> dedicated repo instead. I would suggest if you plan on creating a 
>> number of different snippets that you create a similar one, or if you 
>> want to collaborate or make an occasional contribution then suggest 
>> an alternative.
>>
>> From my experience with the community it seems like a lot of the most 
>> useful snippets are scattered throughout conversations on the mailing 
>> lists, or within stack overflow. When working with the Esri platform 
>> and Web App Builder, there were a couple of repositories with custom 
>> widgets etc but the GeoNet forum was also probably the biggest 
>> resource for types of things like code snippets, although it had 
>> similar limitations to what I've experienced with pyqgis, perhaps 
>> with slightly better discoverability since I only really looked in 
>> one place and if I couldn't find something I didn't waste extra time 
>> searching across various platforms.
>>
>> Personally, I dislike stack overflow for a number of reasons. For 
>> one, I've found it's platform gamification has always led to a weird 
>> passive aggressive attitude from community members. The GIS site 
>> seems a lot more welcoming, but as a general rule, I just straight up 
>> don't like the platform because of this. The amount of 
>> unnecessary question reformats and edits for points is just painful 
>> to witness. The system itself has pretty funky issues as well - like 
>> flagging questions as duplicates but not providing links to those 
>> duplicates. Or where the OP directly posts links to duplicates but 
>> explicitly states the solutions don't work, only to have their 
>> question closed anyway... In any event, I think there's a lot of 
>> people like me that only end up there when Google/ DuckDuckGo takes 
>> us there... Which leads to the typical stack overflow issue of all 
>> code being horribly outdated and nothing actually works. Most of the 
>> snippets I find on SO are for QGIS 2 anyway. It's also not pyqgis 
>> specific.
>>
>> The mailing lists themselves I find have poor code discoverability, 
>> but I don't think a forum would resolve this and would likely 
>> just fragment the community further.
>>
>> For personal use, the best tool I've found for snippet management has 
>> been https://github.com/snibox/snibox 
>> <https://github.com/snibox/snibox> but I don't know how well that 
>> scales. I used to use dokuwiki too, but it takes a lot of effort to 
>> format stuff and is more of a publication tool, but I don't see a 
>> quality wiki being maintained without significant effort.
>>
>> Your question has prompted me to set up a 
>> https://github.com/zacharlie/awesome-pyqgis 
>> <https://github.com/zacharlie/awesome-pyqgis> repository.
>>
>> This way we can collectively maintain an up to date list of resources 
>> for PyQGIS, including up to date links for documentation, tutorials 
>> and training, and links to people's repositories. If something like 
>> this already exists and my list is redundant, please someone let me 
>> know so I can delete it before we put any significant work into it, 
>> and share something better so that the community knows about it.
>>
>> I'm open to other suggestions.
>>
>> Regards
>>
>>
>> On Tue, 20 Oct 2020 at 00:38, <qgis-user at stripfamily.net 
>> <mailto:qgis-user at stripfamily.net>> wrote:
>>
>>     Is there a place where folks can contribute scripts that others
>>     might find useful? I know about the Resource Sharing plug-in,
>>     which is a way to point to a repository one is maintaining. I'm
>>     thinking more of a common repository where some might contribute
>>     the odd script. There's an archived git repository in
>>     qgis/QGIS-Processing->scripts, but that's no longer active.
>>
>>     _______________________________________________
>>     Qgis-user mailing list
>>     Qgis-user at lists.osgeo.org <mailto:Qgis-user at lists.osgeo.org>
>>     List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>     <https://lists.osgeo.org/mailman/listinfo/qgis-user>
>>     Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>     <https://lists.osgeo.org/mailman/listinfo/qgis-user>
>>
>
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20201020/ce1759d5/attachment-0001.html>


More information about the Qgis-user mailing list