digest

R package to create compact hash digests of R objects

https://github.com/eddelbuettel/digest

Science Score: 23.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
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 39 committers (7.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary

Keywords

cran hash-digest r r-package

Keywords from Contributors

reproducibility package-creation ropensci tidyverse literate-programming pandoc rmarkdown tidy-data makefile drake
Last synced: 10 months ago · JSON representation

Repository

R package to create compact hash digests of R objects

Basic Info
Statistics
  • Stars: 119
  • Watchers: 5
  • Forks: 48
  • Open Issues: 9
  • Releases: 0
Topics
cran hash-digest r r-package
Created over 12 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog

README.md

digest: Compact hash representations of arbitrary R objects

ci License CRAN Dependencies Debian package r-universe Downloads (monthly) Downloads (total) CRAN use CRAN indirect BioConductor use Code Coverage Last Commit Documentation

Compact hash representations of arbitrary R objects

Overview

The digest package provides a principal function digest() for the creation of hash digests of arbitrary R objects (using the md5, sha-1, sha-256, crc32, xxhash, murmurhash, spookyhash, blake3, crc32c, xxh3_64, and xxh3_128 algorithms) permitting easy comparison of R language objects.

Extensive documentation is available at the package documentation site.

Examples

As R can serialize any object, we can run digest() on any object:

r R> library(digest) R> digest(trees) [1] "12412cbfa6629c5c80029209b2717f08" R> digest(lm(log(Height) ~ log(Girth), data=trees)) [1] "e25b62de327d079b3ccb98f3e96987b1" R> digest(summary(lm(log(Height) ~ log(Girth), data=trees))) [1] "86c8c979ee41a09006949e2ad95feb41" R>

By using the hash sum, which is very likely to be unique, to identify an underlying object or calculation, one can easily implement caching strategies. This is a common use of the digest package.

Other Functions

A small number of additional functions is available:

  • sha1() for numerically stable hashsums,
  • hmac() for hashed message authentication codes based on a key,
  • AES() for Advanced Encryption Standard block ciphers,
  • getVDigest() as a function generator for vectorised versions.

Note

Please note that this package is not meant to be deployed for cryptographic purposes. More comprehensive and widely tested libraries such as OpenSSL should be used instead.

Installation

The package is on CRAN and can be installed via a standard

r install.packages("digest")

Continued Testing

As we rely on the tinytest package, the already-installed package can also be verified via

r tinytest::test_package("digest")

at any later point.

Author

Dirk Eddelbuettel, with contributions by Antoine Lucas, Jarek Tuszynski, Henrik Bengtsson, Simon Urbanek, Mario Frasca, Bryan Lewis, Murray Stokely, Hannes Muehleisen, Duncan Murdoch, Jim Hester, Wush Wu, Qiang Kou, Thierry Onkelinx, Michel Lang, Viliam Simko, Kurt Hornik, Radford Neal, Kendon Bell, Matthew de Queljoe, Ion Suruceanu, Bill Denney, Dirk Schumacher, Winston Chang, Dean Attali, and Michael Chirico.

License

GPL (>= 2)

Owner

  • Name: Dirk Eddelbuettel
  • Login: eddelbuettel
  • Kind: user
  • Location: Chicago, IL, USA

GitHub Events

Total
  • Issues event: 5
  • Watch event: 5
  • Delete event: 3
  • Issue comment event: 47
  • Push event: 15
  • Pull request review event: 19
  • Pull request review comment event: 12
  • Pull request event: 11
  • Fork event: 1
  • Create event: 4
Last Year
  • Issues event: 5
  • Watch event: 5
  • Delete event: 3
  • Issue comment event: 47
  • Push event: 15
  • Pull request review event: 19
  • Pull request review comment event: 12
  • Pull request event: 11
  • Fork event: 1
  • Create event: 4

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 550
  • Total Committers: 39
  • Avg Commits per committer: 14.103
  • Development Distribution Score (DDS): 0.369
Past Year
  • Commits: 25
  • Committers: 5
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.4
Top Committers
Name Email Commits
Dirk Eddelbuettel e****d@d****g 347
Thierry onkelinx t****x@i****e 86
Jim Hester j****r@g****m 14
Bill Denney w****y@h****m 11
Viliam Simko v****o@g****m 8
Matthew de Queljoe m****e@g****m 8
Dirk Schumacher m****l@d****t 6
Dean Attali d****n@a****m 5
Carl A. B. Pearson p****a 5
Winston Chang w****n@s****g 5
hb hb@a****g 5
Dmitriy Selivanov s****y@g****m 4
Wush Wu w****8@g****m 4
Ion Suruceanu i****u@g****m 4
András Svraka s****s@g****m 3
Duncan Murdoch m****n@g****m 3
Hannes Muehleisen h****s@m****g 3
Kendon Bell k****B 3
Sergey Fedorov v****d@g****m 3
Floris Vanderhaeghe f****e@i****e 2
Michel m****g@g****m 2
wlandau w****u@g****m 2
aaronpeikert a****t@p****e 1
Kendon Bell b****k@l****z 1
Kendon Bell k****6@b****u 1
Qiang Kou q****u@u****u 1
Stefan Theussl s****l@w****t 1
Tim Mastny t****y@g****m 1
Sebastian s****c 1
Radford Neal r****l@g****m 1
and 9 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 71
  • Total pull requests: 83
  • Average time to close issues: 3 months
  • Average time to close pull requests: 2 days
  • Total issue authors: 41
  • Total pull request authors: 28
  • Average comments per issue: 6.59
  • Average comments per pull request: 4.81
  • Merged pull requests: 70
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 16
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 17 hours
  • Issue authors: 3
  • Pull request authors: 5
  • Average comments per issue: 5.0
  • Average comments per pull request: 5.0
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • eddelbuettel (13)
  • billdenney (10)
  • wlandau (5)
  • wch (2)
  • kendonB (2)
  • barracuda156 (2)
  • daattali (2)
  • dipterix (2)
  • pearsonca (2)
  • jdonnell01 (1)
  • ehartford (1)
  • lrnv (1)
  • kongdd (1)
  • dselivanov (1)
  • ashlinrichardson (1)
Pull Request Authors
  • eddelbuettel (23)
  • pearsonca (18)
  • billdenney (10)
  • kendonB (8)
  • ThierryO (4)
  • barracuda156 (4)
  • jimhester (2)
  • kevinushey (2)
  • dirkschumacher (2)
  • tappek (2)
  • mdequeljoe (2)
  • dselivanov (2)
  • wlandau (1)
  • isuruceanu (1)
  • radfordneal (1)
Top Labels
Issue Labels
enhancement (5) help wanted (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 845,077 last-month
  • Total docker downloads: 212,752,160
  • Total dependent packages: 445
  • Total dependent repositories: 2,816
  • Total versions: 53
  • Total maintainers: 1
cran.r-project.org: digest

Create Compact Hash Digests of R Objects

  • Versions: 53
  • Dependent Packages: 445
  • Dependent Repositories: 2,816
  • Downloads: 845,077 Last month
  • Docker Downloads: 212,752,160
Rankings
Downloads: 0.1%
Dependent repos count: 0.1%
Dependent packages count: 0.2%
Forks count: 1.6%
Stargazers count: 3.6%
Average: 3.8%
Docker downloads count: 17.3%
Maintainers (1)
Last synced: 11 months ago

Dependencies

.github/workflows/ci.yaml actions
  • actions/checkout v3 composite
DESCRIPTION cran
  • R >= 3.3.0 depends
  • utils * imports
  • simplermarkdown * suggests
  • tinytest * suggests