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

Maëlle SALMON m@e||e@@@|mon @end|ng |rom y@hoo@@e
Thu May 9 12:15:53 CEST 2019


 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> 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> 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 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
>>                Rainer using krugs.de
>> Skype:    RMkrug
>> 
>> PGP: 0x0F52F982
>> 
>> ______________________________________________
>> R-package-devel using r-project.org mailing list
>> 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]]

______________________________________________
R-package-devel using r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel  
	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list