[Qgis-psc] [PyQGIS API] end of phase 2
Régis Haubourg
regis.haubourg at oslandia.com
Fri Apr 13 01:29:11 PDT 2018
Hi Denis,
that's an awesome work you have been doing here. Congratulations for that, I imagine patching SIP was not expected at
start!
About the sponsoring part to have it fully completed, that would be a +1 for me if we vote.
A good python documentation is a real priority and a something constantly raised in training sessions.
Regards
RégisLe jeudi 12 avril 2018 à 15:20 +0000, Denis Rouzaud a écrit :
> Dear PSC,
>
> Finally, I have finalized phase 2 of PyQGIS API docs project.
> It was again a tedious job with again unexpected issues.
>
> Here is what has been done:
>
> 1) Automatic building of QGIS docker images in Travis
> These are used to later build the PyQGIS doc in another Travis job in QGISPythonAPIDocumentation repo.
>
> 2) Multi-version support
> To enable support several API versions on a custom website (not readthedocs, but we use readthedocs theme), it was
> required to fork the theme since support of multiple version was rejected in main repo [0]. The fork is here [1].
>
> 3) Support for signal signatures
> Support for signal signatures in SIP was missing [2] and I provided a patch [3]. This patch is in the upstream SIP
> library (maintained by Phil Thomson) and jumping into this code is really not an easy task.
>
> 4) Table of contents and grouping
> In previous version, table of content was full of inherited class methods which were not bringing useful info (all
> methods from Qt parent classes).
> Now, these are removed.
> Moreover, there is a fine tuning in grouping and signals have their own dedicated category.
> These is made possible by using a custom version of autoautosummary [4,5]
>
> 5) Online building of the Python API Docs
> Everything has been setup in Travis to automatically build the docs using QGIS docker image (see pt 1).
> Sadly, I was not able to set the dev version of SIP (upcoming 4.19.9) in the main docker. That means missing the nice
> signatures for signals. So, this is on hold (it's pushing to a temp folder) until new SIP is released (probably along
> new Qt version in may).
> Hence last published version of the docs has been built on my computer, and server API is missing.
> The logic is ass follows:
> - master docs follows QGIS master branch and is built once a day
> - release versions docs are built using tags on the main repo and hence will strictly correspond to the last point
> release of each branch
>
> Original allocated time has again been largely overrun (mainly due to SIP modifications and trying to bring them in
> the build chain).
> Since I considered signal for signatures was a first priority feature (although not mentionned before Gary's mail
> [6]), some were again left apart:
> - Adapt sipify to move /Out/ parameters from parameters list to returns group
> - Sipify doc
>
> I think that the documentation is now in a much more accomplished state.
>
> As far as I see it, here are the main remaining issues:
>
> I1) as pointed by Richard [7], we need to fix redirections properly
>
> I2) also mentionned [7], the categorization of classes originally thought by Tim can be improved by creating
> categories on our own (instead of automatically by class names). Maybe take it down to 10-20 sucategories for each
> module (core, gui, analysis, server).
>
> I3) list of parameters still showing output only parameters, and the /Out/ arguments are not mentionned as output.
> This is a sipify enhancement.
>
> I4) Finalizing the auto build toolchain (integrate coming SIP version in dependency docker image, automatic triggering
> of API docs build from main QGIS travis jobs).
>
> I think someone from the PSC holding the info of the provider can easily handle I1.
>
> I would propose QGIS.org to sponsor a phase 3 for the remaining issues with the following estimate:
> I2) 8h
> I3) 16h
> i4) 24h
>
> At the usual rate for QGIS.org sponsored project, the proposal is of 6 days.
>
> Would you like to have this as grant proposal or shall we proceed similarly to the 2 previous phases?
>
> I'd like to thanks again QGIS.org for sponsoring this. It is worth mentioning though that a lot of time has been
> freely invested there, on behalf of Opengis, roughly doubling the time.
>
> And last, but definitely not least, here are the docs!!!!
> http://python.qgis.org/master
>
> Best regards,
> Denis
>
>
> [0] https://github.com/rtfd/sphinx_rtd_theme/pull/574
> [1] https://github.com/3nids/sphinx_rtd_theme.git
> [2] https://www.riverbankcomputing.com/pipermail/pyqt/2018-February/040036.html
> [3] https://www.riverbankcomputing.com/hg/sip/rev/34a94ca0260d
> [4] https://github.com/qgis/QGISPythonAPIDocumentation/blob/master/autoautosummary.py
> [5] https://stackoverflow.com/a/30783465/1548052
> [6] https://lists.osgeo.org/pipermail/qgis-developer/2018-February/052148.html
> [7] https://lists.osgeo.org/pipermail/qgis-developer/2018-April/052976.html
>
> _______________________________________________
> Qgis-psc mailing list
> Qgis-psc at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-psc
More information about the Qgis-psc
mailing list