woodendesc

Get the available packages and their version codes as well as their dependencies from any R repository with unified API.

https://github.com/turtletopia/woodendesc

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.5%) to scientific vocabulary

Keywords

available-packages available-versions dependencies r unified-api
Last synced: 6 months ago · JSON representation

Repository

Get the available packages and their version codes as well as their dependencies from any R repository with unified API.

Basic Info
Statistics
  • Stars: 5
  • Watchers: 1
  • Forks: 0
  • Open Issues: 8
  • Releases: 1
Topics
available-packages available-versions dependencies r unified-api
Created almost 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.Rmd

---
output: github_document
---



```{r, include=FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "90%"
)
library(woodendesc)
```

# woodendesc 


[![CRAN status](https://www.r-pkg.org/badges/version-last-release/woodendesc)](https://CRAN.R-project.org/package=woodendesc)
[![R-universe](https://turtletopia.r-universe.dev/badges/woodendesc)](https://turtletopia.r-universe.dev)
[![R-CMD-check](https://github.com/turtletopia/woodendesc/workflows/R-CMD-check/badge.svg)](https://github.com/turtletopia/woodendesc/actions)
[![Codecov test coverage](https://codecov.io/gh/turtletopia/woodendesc/branch/master/graph/badge.svg)](https://app.codecov.io/gh/turtletopia/woodendesc?branch=master)


{woodendesc} strives to provide an unified API to query any R repository for the following data:

* list of available packages,
* version code of any selected package,
* direct dependencies of any selected package.

The package tries to cache as much as possible and reuse existing cache wherever possible to minimize internet usage. Many repositories (CRAN, Bioconductor, R-universe, and local libraries) have custom implementations of their handlers to make use of additional possibilities they present (e.g. previous versions on CRAN or old releases of Bioconductor).

## Installation

```{r install, eval=FALSE}
# Install from CRAN
install.packages("woodendesc")
# Install the development version from GitHub:
# install.packages("devtools")
devtools::install_github("turtletopia/woodendesc")
```

## How to use woodendesc?

Each repository has its dedicated functions for listing available packages, package version, and package dependencies.

A list of available packages is returned as a character vector. An example call returning a list of CRAN packages:

```{r demo_cran_pkgs, cache=TRUE}
library(woodendesc)
# Too many packages to list them all
all_cran_pkgs <- wood_cran_packages()
print(all_cran_pkgs, max = 10)
```

An available package version is returned as a single code. An example call checking the current version of Biobase package on Bioconductor:

```{r demo_bioc_version, cache=TRUE}
wood_bioc_version("Biobase")
```

Dependencies of a package are returned as a data frame with the same set of columns for all calls. An example call for locally installed digest package (dependency of woodendesc):

```{r demo_local_deps, cache=TRUE}
wood_local_dependencies("digest")
```

Note that some repositories store more than just one version of a package (e.g. CRAN and Github). These cases can be distinguished by pluralized `_versions` function name component and they return all version codes instead; a character vector of any length. This is how it works for gglgbtq on Github:

```{r demo_gh_versions, cache=TRUE}
wood_github_versions("gglgbtq", "turtletopia")
```

If a single version code is needed, there's a counterpart that selects the latest version only. The current version of aurrera on Github is:

```{r demo_gh_latest, cache=TRUE}
wood_github_latest("aurrera", "turtletopia")
```

Last, but not least, there are three functions for searching through multiple repositories and collecting the results. Read the documentation for details on how to specify `repos` parameter.

`wood_packages()` collects available packages from the specified repositories and returns unique elements:

```{r demo_wood_packages, cache=TRUE}
wood_packages(repos = c("core", "https://colinfay.me"))
```

`wood_versions()` returns all package versions available on at least one of the specified repositories; may take more than one package:

```{r demo_wood_versions, cache=TRUE}
wood_versions(
  c("aurrera", "woodendesc"),
  repos = c("local#all", "runiverse@turtletopia", "cran")
)
```

`wood_dependencies()` returns a list of package dependencies, a data frame for each package specified; the first working repository is used for each package, as the dependencies are not supposed to be summable:

```{r demo_wood_deps, cache=TRUE}
wood_dependencies(
  c("versionsort", "gglgbtq"),
  repos = c("local#all", "runiverse@turtletopia", "cran")
)
```

And if you ever need to clear cache, simply call:

```{r clear_cache}
wood_clear_cache()
```

## End notes

I believe in equal rights and treatment for everybody, regardless of their sexuality, gender identity, skin tone, nationality, and other features beyond human control. Thus, I do not allow woodendesc to be used in any project that promotes hate based on the aforementioned factors.

Owner

  • Name: turtletopia
  • Login: turtletopia
  • Kind: organization
  • Location: Poland

GitHub Events

Total
  • Issues event: 1
  • Push event: 17
  • Create event: 2
Last Year
  • Issues event: 1
  • Push event: 17
  • Create event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 0
  • Average time to close issues: 5 months
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.22
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ErdaradunGaztea (21)
Pull Request Authors
Top Labels
Issue Labels
new feature (12) code upgrade (6) documentation (2) tests (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 3 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
cran.r-project.org: woodendesc

Find Packages and Their Dependencies in Any 'R' Repository

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3 Last month
Rankings
Stargazers count: 28.5%
Forks count: 28.8%
Dependent packages count: 29.6%
Dependent repos count: 35.3%
Average: 42.4%
Downloads: 89.7%
Maintainers (1)
Last synced: about 1 year ago

Dependencies

DESCRIPTION cran
  • R >= 3.5.0 depends
  • digest * imports
  • httr * imports
  • versionsort >= 1.1.0 imports
  • httptest * suggests
  • testthat >= 3.0.0 suggests
  • usethis * suggests
  • vcr * suggests
  • withr * suggests
  • xml2 * suggests
.github/workflows/test-coverage.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v1 composite
  • r-lib/actions/setup-r-dependencies v1 composite
.github/workflows/check-standard.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite