<div dir="ltr"><div dir="auto">This is very helpful. I will take a look at the Perl provider plugin to understand better what its role is.<br><br></div><div dir="auto">I think without the plugin it is still possible to construct a perl command line, Popen it, and read back the output from within a regular python processing script but much less convenient. Although it may be possible to write a python package with commonly used functionality to make this approach also convenient (import perlprocessing).<br><br><div dir="auto"><div dir="auto">It looks there are quite​ a few other processing scripts on GitHub by others which are not in QGIS-Processing. So it may make sense to have a list decoupled from qgis but still curated depending on how responsively QGIS-Processing is managed, eg. how PRs are accepted.<br></div><div dir="auto"><br></div><div>-Andreas<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mar 13, 2017 8:38 AM, "Ari Jolma" <<a href="mailto:ari.jolma@gmail.com" target="_blank">ari.jolma@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    13.03.2017, 13:24, Andreas Plesch kirjoitti:<br>
    <blockquote type="cite">
      <div dir="auto">
        <div>Hi Ari,</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">thanks for your providing your perspective.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">A difference is that a plugin can provide
          multiple processing algorithms whereas a script only one.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Another cosmetic difference is that a plugin can
          be managed and published with the plugin manager.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Do you think you could have written your
          processing algorithms using Perl tools as a collection of
          processing scripts ?</div>
      </div>
    </blockquote>
    <br>
    I think I have made that... In the sense that the plugin<br>
    <br>
    <a class="m_6390529722230858759m_8718839521487113568moz-txt-link-freetext" href="https://plugins.qgis.org/plugins/perlprocessing/" target="_blank">https://plugins.qgis.org/plugi<wbr>ns/perlprocessing/</a><br>
    <br>
    (still the initial version which is not much more than a
    proof-of-concept) <br>
    <br>
    I wrote allows me to write processing algorithms as processing
    scripts. An example is this script<br>
    <br>
    <a class="m_6390529722230858759m_8718839521487113568moz-txt-link-freetext" href="https://github.com/ajolma/GDALToolsWithPerl/blob/master/dijkstra.pl" target="_blank">https://github.com/ajolma/GDAL<wbr>ToolsWithPerl/blob/master/dijk<wbr>stra.pl</a><br>
    <br>
    which has a few comment lines in the beginning. Those make the
    script usable as a processing algorithm within QGIS. However, it can
    be used from the command line too.<br>
    <br>
    <blockquote type="cite">
      <div dir="auto">
        <div dir="auto"><br>
        </div>
        <div dir="auto">What is a good way of publishing, advertising
          and serving collections of processing scripts ?</div>
      </div>
    </blockquote>
    <br>
    That depends on the provider. This repository<br>
    <br>
    <a class="m_6390529722230858759m_8718839521487113568moz-txt-link-freetext" href="https://github.com/qgis/QGIS-Processing" target="_blank">https://github.com/qgis/QGIS-P<wbr>rocessing</a><br>
    <br>
    is AFAIK used by the default (Python script) and R script provider.<br>
    <br>
    <blockquote type="cite">
      <div dir="auto">
        <div dir="auto"><br>
        </div>
        <div dir="auto">Gists ? GitHub repos and rawgit ?</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Is there a curated list of published scripts,
          like an awesome qgis repo ?</div>
      </div>
    </blockquote>
    <br>
    The above one. Or maybe you're referring to that one?<br>
    <br>
    If there's interest for Perl scripts I guess we could work out
    something.<br>
    <br>
    Ari<br>
    <br>
    <blockquote type="cite">
      <div dir="auto">
        <div dir="auto"><br>
        </div>
        <div dir="auto">Andreas<br>
          <div class="gmail_extra" dir="auto"><br>
            <div class="gmail_quote">
              <blockquote class="m_6390529722230858759m_8718839521487113568m_8379737057261657156quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
                Message: 7<br>
                Date: Mon, 13 Mar 2017 09:24:17 +0200<br>
                From: Ari Jolma <<a href="mailto:ari.jolma@gmail.com" target="_blank">ari.jolma@gmail.com</a>><br>
                To: <a href="mailto:qgis-user@lists.osgeo.org" target="_blank">qgis-user@lists.osgeo.org</a><br>
                Subject: Re: [Qgis-user] processing script vs.
                processing plugin<br>
                Message-ID: <<a href="mailto:8950e763-af35-1135-9b5d-43c57bcd3d05@gmail.com" target="_blank">8950e763-af35-1135-9b5d-43c57<wbr>bcd3d05@gmail.com</a>><br>
                Content-Type: text/plain; charset="utf-8";
                Format="flowed"<br>
                <br>
                To me it seems that processing algorithm provider
                plugins are language<br>
                or tool specific plugins that add a new section to the
                processing.<br>
                Processing is itself a plugin (although a core one).<br>
                <br>
                I don't think providers should add custom GUIs beyond
                what is needed to<br>
                manage itself and the algorithms it provides. That is,
                its GUI is for<br>
                adding, possibly creating, etc. algorithms. It should
                mostly work<br>
                through the processing plugin.<br>
                <br>
                The "algorithms" are processing tools (scripts, external
                programs, etc)<br>
                that only have a thin wrapper so that the provider
                plugin can help the<br>
                processing plugin create a GUI for running it or linking
                it to other<br>
                tools to create models.<br>
                <br>
                This is my understanding that I've gained by creating a
                provider plugin<br>
                for Perl programs to be used as processing algorithms.<br>
                <br>
                I'm actually a bit against listing the providers
                separately since the<br>
                user should not need to care what language or program
                the processing<br>
                tool is written as long as it does what the user wants.<br>
                <br>
                Best regards,<br>
                <br>
                Ari<br>
                <br>
                <br>
                13.03.2017, 04:48, Andreas Plesch kirjoitti:<br>
                > What are differences between processing algorithms
                provided as a<br>
                > processing script or as processing algorithm
                provider plugin ?<br>
                ><br>
                > A plugin can presumably have its own custom GUI but
                are there are<br>
                > other differences in available capabilities ?<br>
                ><br>
                > Andreas<br>
              </blockquote>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </div>

</blockquote></div></div>
</div>