ulid: Generate Universally Unique Lexicographically Sortable Identifiers

Universally unique identifiers ('UUIDs') can be suboptimal for many uses-cases because they aren't the most character efficient way of encoding 128 bits of randomness; v1/v2 versions are impractical in many environments, as they require access to a unique, stable MAC address; v3/v5 versions require a unique seed and produce randomly distributed IDs, which can cause fragmentation in many data structures; v4 provides no other information than randomness which can cause fragmentation in many data structures. 'ULIDs' (<https://github.com/ulid/spec>) have 128-bit compatibility with 'UUID', 1.21e+24 unique 'ULIDs' per millisecond, are lexicographically sortable, canonically encoded as a 26 character string, as opposed to the 36 character 'UUID', use Crockford's 'base32' for better efficiency and readability (5 bits per character), are case insensitive, have no special characters (i.e. are 'URL' safe) and have a onotonic sort order (correctly detects and handles the same millisecond).

Version: 0.3.0
Depends: R (≥ 3.2.0)
Imports: Rcpp
LinkingTo: Rcpp
Suggests: covr, tinytest, knitr, rmarkdown
Published: 2019-07-09
Author: Bob Rudis ORCID iD [aut, cre], suyash [aut] (ULID C++ Port <https://github.com/suyash/ulid/>)
Maintainer: Bob Rudis <bob at rud.is>
BugReports: https://gitlab.com/hrbrmstr/ulid/issues
License: MIT + file LICENSE
URL: https://gitlab.com/hrbrmstr/ulid
NeedsCompilation: yes
SystemRequirements: C++11
Materials: NEWS
CRAN checks: ulid results

Documentation:

Reference manual: ulid.pdf
Vignettes: Introduction to {ulid}

Downloads:

Package source: ulid_0.3.0.tar.gz
Windows binaries: r-devel: ulid_0.3.0.zip, r-release: ulid_0.3.0.zip, r-oldrel: ulid_0.3.0.zip
macOS binaries: r-release (arm64): ulid_0.3.0.tgz, r-oldrel (arm64): ulid_0.3.0.tgz, r-release (x86_64): ulid_0.3.0.tgz

Reverse dependencies:

Reverse suggests: rotor

Linking:

Please use the canonical form https://CRAN.R-project.org/package=ulid to link to this page.