MyNixOS website logo
Description

'Trustdown' Interface for R.

A R interface to the 'vouch' project (<https://github.com/mitchellh/vouch>), which bills itself as "a community trust management system based on explicit vouches to participate". 'vouch' is a 'Nushell' module, so 'voucher' provides a R application programming interface (API) to modify the 'VOUCHED.td' database without 'Nushell'. 'voucher' does not depend on 'vouch' or 'Nushell'.

voucher

R-CMD-check Codecov test coverage pkgdown

{voucher} is an R interface to a Trustdown database as used by vouch, a "community trust management system based on explicit vouches to participate." This package directly interacts with the vouched file format and doesn't rely on vouch or Nushell.

From the vouch README:

People must be vouched for before interacting with certain parts of a project (the exact parts are configurable to the project to enforce). People can also be explicitly denounced to block them from interacting with the project.

Read more about why you may want to use vouching in the vouch README.

What voucher provides

Subset of vouch's behavior:

  • Initialize a project trust file (VOUCHED.td) with use_vouch()
  • Add vouched contributors with add()
  • Denounce contributors with denounce()
  • Check status (vouched, denounced, unknown) of users with check()
  • Add vouch GitHub Actions workflows with vouch_gha()

Installation

# install.packages("pak")
pak::pak("VisruthSK/voucher")

Small workflow

library(voucher)

project <- file.path(tempdir(), "voucher-demo")
dir.create(project, recursive = TRUE)
old <- setwd(project)
on.exit(setwd(old), add = TRUE)

# Initialize vouch files in a temporary project
use_vouch()

add("alice", write = TRUE)
denounce("spammer", reason = "spam", write = TRUE)

# Check status
check(c("alice","spammer"))
# Can also try to check git blame
check(c("alice","spammer"), blame = TRUE)

# Add GitHub Action workflows
vouch_gha(c("check-issue", "check-pr"))

Licensing

  • Code in this repository is licensed under GPLv3.
  • Documentation in this repository is licensed under MIT. Some documentation is copied nearly verbatim from vouch and is owned by Mitchell Hashimoto.
Metadata

Version

1.0.2

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows