Data freshness
Last database ingest: unavailable
PkgMap Help
Last database ingest: unavailable
If you spot a bug, want a feature, or have a question about PkgMap, email athenkosi.nkonyeni@outlook.com.
Each node's dependency level is the minimum number of dependency steps from the root node to that node (its shortest path). The root is level 0, direct dependencies are level 1, their dependencies are level 2, and so on. Max dependency depth is the highest level currently visible in the graph.
myPackage imports dplyr, dplyr imports vctrs, and vctrs imports rlang, the max dependency depth is 3.This value follows the current graph filters. If you lower the visible depth or hide a dependency type, the displayed depth can become smaller.
Dependency footprint is the number of unique packages reachable from the selected package through the dependency graph. A package is counted once even if multiple paths lead to it.
myPackage imports A and B, and both A and B import C, the footprint is 3: A, B, and C. C is not double-counted.In Project mode, this is calculated from the packages you add under Project dependencies. This lets you model an R project that calls library() or require() for packages A, B, C without pretending the project is itself a CRAN package. In Package edits and New package modes, the same footprint can include Depends / Imports and LinkingTo entries.
Burden change compares the recursive dependency footprint after your proposed Dependency Impact edits with the selected package's current recursive dependency footprint.
A positive number means your changes introduce more recursive dependencies. A negative number means your changes remove dependencies that are no longer reached. A value of 0 means the total recursive footprint is unchanged. In Project mode and New package mode, the baseline is empty, so burden change is the full dependency footprint of the dependency set.
A, but package B still depends on A or on packages from A's branch, those packages remain required. PkgMap keeps them visible and greys out removed direct dependencies that are still needed elsewhere.Direct change measures how many direct dependency entries are added or removed by your edits. Direct dependencies are packages listed directly in Depends, Imports, or LinkingTo.
Direct change and burden change can differ sharply. Removing one direct dependency may remove many recursive packages, or it may remove none if the same packages are still reached through another dependency.
Package edits starts from the selected package and lets you model adding or removing Depends / Imports and LinkingTo entries. New package uses a synthetic package root and lets you model the Depends / Imports and LinkingTo fields for a package you are designing. Project models packages your project loads with library() or require(), so it uses Project dependencies only and hides LinkingTo.
Required R version is the highest minimum R version declared by the selected package and the packages in its recursive dependency footprint after your edits.
R >= 4.1.0, dependency A requires R >= 3.6.0, and dependency B requires R >= 4.3.0, PkgMap reports R >= 4.3.0.Packages without a declared R minimum do not raise the reported version. The Required R versions accordion shows which packages are attached to each R version.
This list shows how much of each direct dependency's recursive branch is exclusive versus shared. Exclusive packages are reached only through that direct dependency. Shared packages are also reached through at least one other direct dependency.
Needs compilation lists dependency packages that declare compiled code. System requirements groups packages by external tools or libraries they declare. Required R versions groups packages by their minimum R version so you can see what is raising the overall requirement. These lists are especially useful in Project mode because they show DevOps risks down the whole dependency chain before you build a container, CI image, or deployment environment.