Package: binman 0.1.3

Jonathan Völkle

binman: A Binary Download Manager

Tools and functions for managing the download of binary files. Binary repositories are defined in 'YAML' format. Defining new pre-download, download and post-download templates allow additional repositories to be added.

Authors:John Harrison [aut], Ju Yeong Kim [aut], Jonathan Völkle [cre]

binman_0.1.3.tar.gz
binman_0.1.3.zip(r-4.5)binman_0.1.3.zip(r-4.4)binman_0.1.3.zip(r-4.3)
binman_0.1.3.tgz(r-4.5-any)binman_0.1.3.tgz(r-4.4-any)binman_0.1.3.tgz(r-4.3-any)
binman_0.1.3.tar.gz(r-4.5-noble)binman_0.1.3.tar.gz(r-4.4-noble)
binman_0.1.3.tgz(r-4.4-emscripten)binman_0.1.3.tgz(r-4.3-emscripten)
binman.pdf |binman.html
binman/json (API)
NEWS

# Install 'binman' in R:
install.packages('binman', repos = c('https://ropensci.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/ropensci/binman/issues

Pkgdown site:https://docs.ropensci.org

On CRAN:binman-0.1.3(2022-09-01)

Conda:r-binman-0.1.3(2025-03-25)

8.30 score 16 stars 14 packages 42 scripts 4.7k downloads 17 exports 16 dependencies

Last updated 2 years agofrom:8149b1ea3b (on master). Checks:8 OK. Indexed: yes.

TargetResultLatest binary
Doc / VignettesOKFeb 25 2025
R-4.5-winOKFeb 25 2025
R-4.5-macOKFeb 25 2025
R-4.5-linuxOKFeb 25 2025
R-4.4-winOKFeb 25 2025
R-4.4-macOKFeb 25 2025
R-4.3-winOKFeb 25 2025
R-4.3-macOKFeb 25 2025

Exports:app_dirassign_directorydownload_filesincrement_versionlist_versionsnoproc_dlfilesparse_versionpredl_bitbucket_downloadspredl_github_assetspredl_google_storageprocess_yamlrender_versionreset_versionrm_platformrm_versionset_versionunziptar_dlfiles

Dependencies:askpassassertthatclicurlhttrjsonlitemimeopensslR6rappdirsRcpprlangsemversysxml2yaml

Basics

Rendered frombasics.Rmdusingknitr::rmarkdownon Feb 25 2025.

Last update: 2022-09-01
Started: 2022-09-01

Citation

To cite package ‘binman’ in publications use:

Harrison J, Kim J (2025). binman: A Binary Download Manager. R package version 0.1.3, , https://github.com/ropensci/binman.

Corresponding BibTeX entry:

  @Manual{,
    title = {binman: A Binary Download Manager},
    author = {John Harrison and Ju Yeong Kim},
    year = {2025},
    note = {R package version 0.1.3, },
    url = {https://github.com/ropensci/binman},
  }

Readme and manuals

binman

Tools and functions for managing the download of binary files. Binary repositories are defined in YAML format. Defining new pre-download, download and post-download templates allow additional repositories to be added.

Installation

You can install binman from GitHub with:

# install.packages("remotes")
# remotes::install_github("ropensci/binman")
install.packages("binman", repos = c('https://ropensci.r-universe.dev', 'https://cloud.r-project.org'))

Usage Examples

GitHub Assets

The following is an example of using binman to get the GitHub assets from a project. The project is https://github.com/lightbody/browsermob-proxy/releases . When a new version is released a zipped binary is added as an "asset". A JSON representation of the project releases is available at https://api.github.com/repos/lightbody/browsermob-proxy/releases. binman needs a YAML file to specify how to parse this projects assets:

name: binman-bmproxy
predlfunction:
  "binman::predl_github_assets":
    url: https://api.github.com/repos/lightbody/browsermob-proxy/releases
    platform:
    - generic
    history: 3
    appname: "binman_bmproxy"
    platformregex: browsermob-proxy
dlfunction:
  "binman::download_files": []
postdlfunction:
  "binman::unziptar_dlfiles": []

The file can be accessed at:

ymlfile <- system.file("examples", "yaml", "bmproxy.yml", package = "binman")

Downloading the three most recent releases can the be done using:

process_yaml(ymlfile)

with resulting directory structure (We omit files for brevity):

LINUX
john@ubuntu:~$ tree -d /home/john/.local/share/binman_bmproxy
/home/john/.local/share/binman_bmproxy
└── generic
    ├── browsermob-proxy-2.1.0
    │   └── browsermob-proxy-2.1.0
    │       ├── bin
    │       │   └── conf
    │       ├── lib
    │       └── ssl-support
    ├── browsermob-proxy-2.1.1
    │   └── browsermob-proxy-2.1.1
    │       ├── bin
    │       │   └── conf
    │       ├── lib
    │       └── ssl-support
    └── browsermob-proxy-2.1.2
        └── browsermob-proxy-2.1.2
            ├── bin
            │   └── conf
            ├── lib
            └── ssl-support

19 directories
WINDOWS
C:\Users\john>tree C:\Users\john\AppData\Local\binman\binman_bmproxy
Folder PATH listing
Volume serial number is 7CC8-BD03
C:\USERS\JOHN\APPDATA\LOCAL\BINMAN\BINMAN_BMPROXY
└───generic
    ├───browsermob-proxy-2.1.0
    │   └───browsermob-proxy-2.1.0
    │       ├───bin
    │       │   └───conf
    │       ├───lib
    │       └───ssl-support
    ├───browsermob-proxy-2.1.1
    │   └───browsermob-proxy-2.1.1
    │       ├───bin
    │       │   └───conf
    │       ├───lib
    │       └───ssl-support
    └───browsermob-proxy-2.1.2
        └───browsermob-proxy-2.1.2
            ├───bin
            │   └───conf
            ├───lib
            └───ssl-support
MACOSX
DE529:~ admin$ tree -d /Users/admin/Library/Application\ Support/binman_bmproxy
/Users/admin/Library/Application\ Support/binman_bmproxy
└── generic
    ├── browsermob-proxy-2.1.0
    │   └── browsermob-proxy-2.1.0
    │       ├── bin
    │       │   └── conf
    │       ├── lib
    │       └── ssl-support
    ├── browsermob-proxy-2.1.1
    │   └── browsermob-proxy-2.1.1
    │       ├── bin
    │       │   └── conf
    │       ├── lib
    │       └── ssl-support
    └── browsermob-proxy-2.1.2
        └── browsermob-proxy-2.1.2
            ├── bin
            │   └── conf
            ├── lib
            └── ssl-support
19 directories

Help Manual

Help pageTopics
Get application directoryapp_dir
Assign directoryassign_directory
binmanbinman
Download binariesdownload_files
List app versionslist_versions
Do not post processnoproc_dlfiles
Pre download bitbucket downloadspredl_bitbucket_downloads
Pre download Github assetspredl_github_assets
Pre-Download Google Storagepredl_google_storage
Process a yaml fileprocess_yaml
Remove application platformrm_platform
Remove application versionrm_version
Unzip/Untar downloaded filesunziptar_dlfiles