Re: [GRASS GIS] #2895: Define dependencies for GRASS addons

Moritz Lennert <[email protected]>
Newsgroups gmane.comp.gis.grass.devel
Message-ID <[email protected]>

Am 18. Dezember 2020 09:57:53 MEZ schrieb GRASS GIS <[email protected]>:
>#2895: Define dependencies for GRASS addons
>--------------------------+-------------------------
>  Reporter:  pmav99       |      Owner:  grass-dev@…
>      Type:  enhancement  |     Status:  new
>  Priority:  normal       |  Milestone:  7.8.3
> Component:  Default      |    Version:  unspecified
>Resolution:               |   Keywords:  g.extension
>       CPU:  Unspecified  |   Platform:  Unspecified
>--------------------------+-------------------------
>
>Comment (by sbl):
>
> Replying to [comment:20 wenzeslaus]:
> > > Silently installing stuff can be a bit scary...
> >
> > Why do you think it is scary for GRASS GIS? pip, R, conda, apt, yum, ...
> all install dependencies of a package you asked for. Why this should not
> happen for GRASS GIS?

I would personally plead for the automatic installation of dependencies only as optional. I always prefer to install dependencies via my distribution's package manager instead of automatic installation via tools such as conda, pip or others. And I don't think it realistic to take into account all different package management systems within GRASS GIS.

So, +1 to a dependency check accompanied by the option to install the missing dependencies, but not automatic installation per se.

 




>
> Yes, you are right.
>
> So, how would we setup a requirements.txt?
>
> Should it contain different sections, like e.g.
> {{{
> GRASS_addons
>     r.area
>
> R_packages
>     ggplot2
>
> Python_libraries
>     rpy2>=1.1
>
> cmd_tools
>     iconv
>     cs2cs
>
> libraries
>     libgdal-grass
> }}}
>
> Cause the way these dependencies are installed varies a bit, with a
> dpendency_check function for each of them...
>
> Maybe better with a dependency json:
>
> {{{
> {
> "GRASS_addons": [
>     {
>       "name": "r.area"
>     }],
> "Python_libraries": [
>     {
>       "name": "rpy2",
>       "version": "1.1"
>       "version_check": ">="
>     }], ...
> }
> }}}
>
>
> In the functions we might have to think about OS specific aspects (package
> manager (incl. conda vs. pip), library names) as well as maybe versions
> (e.g. numpy>=1.17).
_______________________________________________
grass-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.