[R-pkg-devel] Package dependency graphs of packages in development (local)

Rainer M Krug R@|ner @end|ng |rom krug@@de
Thu May 9 12:20:03 CEST 2019


Thanks.

This sounds like a really useful package - I’ll check it out.


> On 9 May 2019, at 12:15, Maëlle SALMON <maelle.salmon using yahoo.se> wrote:
> 
> Could https://github.com/jimhester/itdepends help?
> 
> Maëlle.
> Den torsdag 9 maj 2019 12:10:14 CEST, Rainer M Krug <Rainer using krugs.de> skrev:
> 
> 
> Thanks Gabor. 
> 
> This gives me an impressive long list. Is there a way to see this graphically? Parsing seems to be a long, tedious process.
> 
> I want to identify packages which I should leave out to reduce the number of (indirect) dependencies.
> 
> Rainer
> 
> 
> > On 9 May 2019, at 11:24, Gábor Csárdi <csardi.gabor using gmail.com <mailto:csardi.gabor using gmail.com>> wrote:
> > 
> > You can do something like this with https://github.com/r-lib/pkgdepends:
> > 
> > pr <- pkgdepends::remotes()$new("local::.", library = tempfile())
> > #> ℹ Creating library directory:
> > `/var/folders/59/0gkmw1yj2w7bf2dfc3jznv5w0000gn/T//Rtmpo5NL9R/filee95427c73f55`
> > 
> > pr$solve()
> > #> ℹ Checking for package metadata updates
> > #> ✔ All 10 metadata files are current.
> > #> ✔ Using session cached package metadata
> > #> ✔ Using cached package metadata
> > #> PKG SOLUTION, 1 refs, resolved in 1.2s, solved in 193ms
> > ───────────────────────
> > #>  local::.
> > #> Dependencies:
> > #>  github:
> > #>    r-lib/crancache, r-lib/rcmdcheck
> > #>  standard:
> > #>    askpass, assertthat, backports, base64enc, bit, bit64, blob, callr,
> > #>    cli, clisymbols, cranlike, crayon, curl, DBI, debugme, desc,
> > #>    digest, evaluate, fansi, glue, gmailr, highr, hms, httr, jsonlite,
> > #>    knitr, magrittr, markdown, memoise, mime, openssl, parsedate,
> > #>    pillar, pkgbuild, pkgconfig, prettyunits, processx, progress, ps,
> > #>    R6, rappdirs, Rcpp, rematch2, remotes, rlang, rprojroot, RSQLite,
> > #>    sessioninfo, stringi, stringr, sys, tibble, utf8, whoami, withr,
> > #>    xfun, xopen, yaml
> > 
> > tibble::as_tibble(pr$get_solution()$data)
> > #> # A tibble: 61 x 27
> > #>    ref  type  direct status package version license
> > needscompilation priority
> > #>    <chr> <chr> <lgl>  <chr>  <chr>  <chr>  <chr>  <lgl>            <chr>
> > #>  1 loca… local TRUE  OK    revdep… 1.0.0.… MIT + … NA              NA
> > #>  2 askp… stan… FALSE  OK    askpass 1.1    NA      FALSE            NA
> > #>  3 asse… stan… FALSE  OK    assert… 0.2.1  NA      FALSE            NA
> > #>  4 back… stan… FALSE  OK    backpo… 1.1.4  NA      FALSE            NA
> > #>  5 base… stan… FALSE  OK    base64… 0.1-3  NA      FALSE            NA
> > #>  6 bit64 stan… FALSE  OK    bit64  0.9-7  NA      FALSE            NA
> > #>  7 bit  stan… FALSE  OK    bit    1.1-14  NA      FALSE            NA
> > #>  8 blob  stan… FALSE  OK    blob    1.1.1  NA      FALSE            NA
> > #>  9 callr stan… FALSE  OK    callr  3.2.0  NA      FALSE            NA
> > #> 10 cli  stan… FALSE  OK    cli    1.1.0  NA      FALSE            NA
> > #> # … with 51 more rows, and 18 more variables: md5sum <chr>, sha256 <chr>,
> > #> #  filesize <int>, built <chr>, platform <chr>, rversion <chr>,
> > repodir <chr>,
> > #> #  target <chr>, deps <list>, mirror <chr>, sources <list>, remote <list>,
> > #> #  error <list>, metadata <list>, extra <list>, dep_types <list>,
> > #> #  cache_status <chr>, lib_status <chr>
> > 
> > And the `deps` column there shows the direct dependencies of the dependencies:
> > 
> > ❯ pr$get_solution()$data$deps[1:2]
> > #> [[1]]
> > #> # A tibble: 25 x 5
> > #>    ref            type    package    op    version
> > #>    <chr>          <chr>  <chr>      <chr> <chr>
> > #>  1 assertthat      Imports assertthat ""    ""
> > #>  2 callr          Imports callr      ""    ""
> > #>  3 cli            Imports cli        ""    ""
> > #>  4 clisymbols      Imports clisymbols ""    ""
> > #>  5 r-lib/crancache Imports crancache  >=    0.0.0.9001
> > #>  6 crayon          Imports crayon    ""    ""
> > #>  7 DBI            Imports DBI        ""    ""
> > #>  8 desc            Imports desc      >=    1.1.1.9002
> > #>  9 glue            Imports glue      ""    ""
> > #> 10 gmailr          Imports gmailr    ""    ""
> > #> # … with 15 more rows
> > #>
> > #> [[2]]
> > #> # A tibble: 2 x 5
> > #>  ref      type    package  op    version
> > #>  <chr>    <chr>    <chr>    <chr> <chr>
> > #> 1 testthat suggests testthat ""    ""
> > #> 2 sys      imports  sys      >=    2.1
> > 
> > Gabor
> > 
> > On Thu, May 9, 2019 at 8:53 AM Rainer M Krug <Rainer using krugs.de <mailto:Rainer using krugs.de>> wrote:
> >> 
> >> Hi
> >> 
> >> I am quite sure, there was a recent discussion about dependency graphs of packages. I saw the post from Dirk at http://dirk.eddelbuettel.com/blog/2018/02/28/#017_dependencies  <http://dirk.eddelbuettel.com/blog/2018/02/28/#017_dependencies>but `tools::package_dependencies()` does only work on packages on CRAN.
> >> 
> >> But my package is not yet on CRAN (but on GitHub and a drat repo), and I would like to look at the package dependencies BEFORE submitting to CRAN.
> >> 
> >> Is there a tool which allows me to plot a dependency graph for my local package?
> >> 
> >> Thanks,
> >> 
> >> Rainer
> >> 
> >> 
> >> --
> >> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
> >> 
> >> Orcid ID: 0000-0002-7490-0066
> >> 
> >> Department of Evolutionary Biology and Environmental Studies
> >> University of Zürich
> >> Office Y34-J-74
> >> Winterthurerstrasse 190
> >> 8075 Zürich
> >> Switzerland
> >> 
> >> Office: +41 (0)44 635 47 64
> >> Cell:          +41 (0)78 630 66 57
> >> email:      Rainer.Krug using uzh.ch <mailto:Rainer.Krug using uzh.ch>
> >>                Rainer using krugs.de <mailto:Rainer using krugs.de>
> >> Skype:    RMkrug
> >> 
> >> PGP: 0x0F52F982
> >> 
> >> ______________________________________________
> >> R-package-devel using r-project.org <mailto:R-package-devel using r-project.org> mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-package-devel <https://stat.ethz.ch/mailman/listinfo/r-package-devel>
> 
> --
> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
> 
> Orcid ID: 0000-0002-7490-0066
> 
> Department of Evolutionary Biology and Environmental Studies
> University of Zürich
> Office Y34-J-74
> Winterthurerstrasse 190
> 8075 Zürich
> Switzerland
> 
> Office:    +41 (0)44 635 47 64
> Cell:          +41 (0)78 630 66 57
> email:      Rainer.Krug using uzh.ch <mailto:Rainer.Krug using uzh.ch>
>         Rainer using krugs.de <mailto:Rainer using krugs.de>
> Skype:    RMkrug
> 
> PGP: 0x0F52F982
> 
> 
> 
> 
>     [[alternative HTML version deleted]]
> 
> 
> ______________________________________________
> R-package-devel using r-project.org <mailto:R-package-devel using r-project.org> mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel <https://stat.ethz.ch/mailman/listinfo/r-package-devel>
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Orcid ID: 0000-0002-7490-0066

Department of Evolutionary Biology and Environmental Studies
University of Zürich
Office Y34-J-74
Winterthurerstrasse 190
8075 Zürich
Switzerland

Office:	+41 (0)44 635 47 64
Cell:       	+41 (0)78 630 66 57
email:      Rainer.Krug using uzh.ch
		Rainer using krugs.de
Skype:     RMkrug

PGP: 0x0F52F982




	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list