diff --git a/.Rbuildignore b/.Rbuildignore index daea39b..5022cfb 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -18,3 +18,4 @@ ^vignettes/src$ ^\.positai$ ^\.claude$ +^CITATION\.cff$ diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..aaab14e --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,263 @@ +# -------------------------------------------- +# CITATION file created with {cffr} R package +# See also: https://docs.ropensci.org/cffr/ +# -------------------------------------------- + +cff-version: 1.2.0 +message: 'To cite package "storr.tiledb" in publications use:' +type: software +license: MIT +title: 'storr.tiledb: A TileDB Storage Driver for Storr' +version: 0.0.41 +abstract: Provides a TileDB driver for 'storr' interface. A 'storr' is a content addressed + key value store with an optional caching layer and this package contributes a new + driver using TileDB Embedded storage engine as a backend. In addition, storr.tiledb + comes with a subclass of 'storr' in order to improve speed and efficiency but also + enhances the 'storr' with additional features, such as adding notes and expiration + timestamps as well as support for asynchronous and in parallel writes. +authors: +- family-names: Giachalis + given-names: Constantinos + email: 26255858+cgiachalis@users.noreply.github.com +repository-code: https://github.com/cgiachalis/storr.tiledb +url: https://cgiachalis.github.io/storr.tiledb/ +date-released: '2026-05-23' +contact: +- family-names: Giachalis + given-names: Constantinos + email: 26255858+cgiachalis@users.noreply.github.com +keywords: +- key-value-store +- r +- storr +- tiledb +references: +- type: software + title: 'R: A Language and Environment for Statistical Computing' + notes: Depends + url: https://www.R-project.org/ + authors: + - name: R Core Team + institution: + name: R Foundation for Statistical Computing + address: Vienna, Austria + year: '2026' + version: '>= 4.4.0' +- type: software + title: arrow + abstract: 'arrow: Integration to ''Apache'' ''Arrow''' + notes: Imports + url: https://github.com/apache/arrow/ + repository: https://CRAN.R-project.org/package=arrow + authors: + - family-names: Richardson + given-names: Neal + email: neal.p.richardson@gmail.com + - family-names: Cook + given-names: Ian + email: ianmcook@gmail.com + - family-names: Crane + given-names: Nic + email: thisisnic@gmail.com + - family-names: Dunnington + given-names: Dewey + email: dewey@fishandwhistle.net + orcid: https://orcid.org/0000-0002-9415-4582 + - family-names: François + given-names: Romain + orcid: https://orcid.org/0000-0002-2444-4226 + - family-names: Keane + given-names: Jonathan + email: jkeane@gmail.com + - family-names: Mecum + given-names: Bryce + email: brycemecum@gmail.com + - family-names: Moldovan-Grünfeld + given-names: Dragoș + email: dragos.mold@gmail.com + - family-names: Ooms + given-names: Jeroen + email: jeroen@berkeley.edu + - family-names: Wujciak-Jens + given-names: Jacob + email: jacob@wujciak.de + - name: Apache Arrow + email: dev@arrow.apache.org + year: '2026' + doi: 10.32614/CRAN.package.arrow +- type: software + title: cli + abstract: 'cli: Helpers for Developing Command Line Interfaces' + notes: Imports + url: https://cli.r-lib.org + repository: https://CRAN.R-project.org/package=cli + authors: + - family-names: Csárdi + given-names: Gábor + email: gabor@posit.co + year: '2026' + doi: 10.32614/CRAN.package.cli +- type: software + title: data.table + abstract: 'data.table: Extension of `data.frame`' + notes: Imports + url: https://r-datatable.com + repository: https://CRAN.R-project.org/package=data.table + authors: + - family-names: Barrett + given-names: Tyson + email: t.barrett88@gmail.com + orcid: https://orcid.org/0000-0002-2137-1391 + - family-names: Dowle + given-names: Matt + email: mattjdowle@gmail.com + - family-names: Srinivasan + given-names: Arun + email: asrini@pm.me + - family-names: Gorecki + given-names: Jan + email: j.gorecki@wit.edu.pl + - family-names: Chirico + given-names: Michael + email: michaelchirico4@gmail.com + orcid: https://orcid.org/0000-0003-0787-087X + - family-names: Hocking + given-names: Toby + email: toby.hocking@r-project.org + orcid: https://orcid.org/0000-0002-3146-0865 + - family-names: Schwendinger + given-names: Benjamin + orcid: https://orcid.org/0000-0003-3315-8114 + - family-names: Krylov + given-names: Ivan + email: ikrylov@disroot.org + orcid: https://orcid.org/0000-0002-0172-3812 + year: '2026' + doi: 10.32614/CRAN.package.data.table +- type: software + title: digest + abstract: 'digest: Create Compact Hash Digests of R Objects' + notes: Imports + url: https://eddelbuettel.github.io/digest/ + repository: https://CRAN.R-project.org/package=digest + authors: + - family-names: Eddelbuettel + given-names: Dirk + email: edd@debian.org + orcid: https://orcid.org/0000-0001-6419-907X + year: '2026' + doi: 10.32614/CRAN.package.digest +- type: software + title: mirai + abstract: 'mirai: Minimalist Async Evaluation Framework for R' + notes: Imports + url: https://mirai.r-lib.org + repository: https://CRAN.R-project.org/package=mirai + authors: + - family-names: Gao + given-names: Charlie + email: charlie.gao@posit.co + orcid: https://orcid.org/0000-0002-0750-061X + year: '2026' + doi: 10.32614/CRAN.package.mirai + version: '>= 2.6.0' +- type: software + title: R6 + abstract: 'R6: Encapsulated Classes with Reference Semantics' + notes: Imports + url: https://r6.r-lib.org + repository: https://CRAN.R-project.org/package=R6 + authors: + - family-names: Chang + given-names: Winston + email: winston@posit.co + year: '2026' + doi: 10.32614/CRAN.package.R6 + version: '>= 2.4.0' +- type: software + title: R6.tiledb + abstract: 'R6.tiledb: R6 Classes for TileDB Arrays and Groups' + notes: Imports + url: https://cgiachalis.github.io/R6.tiledb/ + authors: + - family-names: Giachalis + given-names: Constantinos + email: 26255858+cgiachalis@users.noreply.github.com + year: '2026' + version: '>= 0.3.0' +- type: software + title: storr + abstract: 'storr: Simple Key Value Stores' + notes: Imports + url: https://richfitz.github.io/storr/ + repository: https://CRAN.R-project.org/package=storr + authors: + - family-names: FitzJohn + given-names: Rich + email: rich.fitzjohn@gmail.com + year: '2026' + doi: 10.32614/CRAN.package.storr +- type: software + title: tiledb + abstract: 'tiledb: Modern Database Engine for Complex Data Based on Multi-Dimensional + Arrays' + notes: Imports + url: https://tiledb-inc.github.io/TileDB-R/ + repository: https://CRAN.R-project.org/package=tiledb + authors: + - name: TileDB, Inc. + year: '2026' + doi: 10.32614/CRAN.package.tiledb + version: '>= 0.33.0' +- type: software + title: litedown + abstract: 'litedown: A Lightweight Version of R Markdown' + notes: Suggests + url: https://github.com/yihui/litedown + repository: https://CRAN.R-project.org/package=litedown + authors: + - family-names: Xie + given-names: Yihui + email: xie@yihui.name + orcid: https://orcid.org/0000-0003-0645-5666 + year: '2026' + doi: 10.32614/CRAN.package.litedown +- type: software + title: testthat + abstract: 'testthat: Unit Testing for R' + notes: Suggests + url: https://testthat.r-lib.org + repository: https://CRAN.R-project.org/package=testthat + authors: + - family-names: Wickham + given-names: Hadley + email: hadley@posit.co + year: '2026' + doi: 10.32614/CRAN.package.testthat + version: '>= 3.0.0' +- type: software + title: withr + abstract: 'withr: Run Code ''With'' Temporarily Modified Global State' + notes: Suggests + url: https://withr.r-lib.org + repository: https://CRAN.R-project.org/package=withr + authors: + - family-names: Hester + given-names: Jim + - family-names: Henry + given-names: Lionel + email: lionel@posit.co + - family-names: Müller + given-names: Kirill + email: krlmlr+r@mailbox.org + - family-names: Ushey + given-names: Kevin + email: kevinushey@gmail.com + - family-names: Wickham + given-names: Hadley + email: hadley@posit.co + - family-names: Chang + given-names: Winston + year: '2026' + doi: 10.32614/CRAN.package.withr + diff --git a/DESCRIPTION b/DESCRIPTION index 7ec7d37..12faec4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,10 +1,11 @@ Package: storr.tiledb Title: A TileDB Storage Driver for Storr -Version: 0.0.40 -Date: 2026-05-21 +Version: 0.0.41 +Date: 2026-05-26 Authors@R: - person("Constantinos", "Giachalis", , "xx@github.com", role = c("aut", "cre")) -Maintainer: Constantinos Giachalis + person("Constantinos", "Giachalis", , "26255858+cgiachalis@users.noreply.github.com", role = c("aut", "cre")) +Maintainer: Constantinos Giachalis + <26255858+cgiachalis@users.noreply.github.com> Description: Provides a TileDB driver for 'storr' interface. A 'storr' is a content addressed key value store with an optional caching layer and this package contributes a new driver using TileDB Embedded storage @@ -14,7 +15,8 @@ Description: Provides a TileDB driver for 'storr' interface. A 'storr' is expiration timestamps as well as support for asynchronous and in parallel writes. License: MIT + file LICENSE -URL: https://github.com/cgiachalis/storr.tiledb, https://cgiachalis.github.io/storr.tiledb/ +URL: https://github.com/cgiachalis/storr.tiledb, + https://cgiachalis.github.io/storr.tiledb/ BugReports: https://github.com/cgiachalis/storr.tiledb/issues Depends: R (>= 4.4.0) @@ -36,10 +38,10 @@ VignetteBuilder: litedown Remotes: cgiachalis/R6.tiledb +Config/roxygen2/version: 8.0.0 Config/testthat/edition: 3 Config/testthat/parallel: true Config/testthat/start-first: StorrFragments,auto* Encoding: UTF-8 Language: en-GB Roxygen: list(markdown = TRUE, old_usage = TRUE) -Config/roxygen2/version: 8.0.0 diff --git a/NAMESPACE b/NAMESPACE index eb1451d..9101f03 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -11,6 +11,7 @@ export(driver_tiledb_create) export(get_allocation_size_preference) export(new_context) export(set_allocation_size_preference) +export(set_tiledb_timestamp) export(storr_consolidate) export(storr_copy) export(storr_fragments) @@ -25,6 +26,7 @@ importFrom(R6,R6Class) importFrom(R6.tiledb,TileDBArray) importFrom(R6.tiledb,TileDBGroup) importFrom(R6.tiledb,new_context) +importFrom(R6.tiledb,set_tiledb_timestamp) importFrom(arrow,call_function) importFrom(data.table,`:=`) importFrom(stats,na.omit) diff --git a/NEWS.md b/NEWS.md index b304e22..21bf31d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,3 @@ -# storr.tiledb 0.0.40 +# storr.tiledb 0.0.41 * Initial GitHub release. diff --git a/R/StorrTimeTravel.R b/R/StorrTimeTravel.R index 326ce7f..42a5804 100644 --- a/R/StorrTimeTravel.R +++ b/R/StorrTimeTravel.R @@ -1,8 +1,7 @@ #' @title Generate a `StorrTimeTravel` Object #' -#' @description A [TileDBStorr] is a time-travel variant of `TileDBStorr` designed -#' to query data at specific points in time and in read-only mode with no write -#' capabilities. +#' @description A variant of `TileDBStorr` designed to query data at specific +#' points in time and in read-only mode with no write capabilities. #' #' This class is not intended to be used directly and the preferred #' usage is through [storr_timetravel()]. diff --git a/R/TileDBDriver.R b/R/TileDBDriver.R index 211f838..aed4b0f 100644 --- a/R/TileDBDriver.R +++ b/R/TileDBDriver.R @@ -33,8 +33,8 @@ TileDBDriver <- R6::R6Class( #' @description Create a new `TileDBDriver` object. #' - #' @param uri URI path for the `TileDBDriver` object. - #' @param ctx Optional [tiledb::tiledb_ctx()] object. + #' @param uri URI path to `TileDB` driver. + #' @param ctx Optional \link[tiledb:tiledb_ctx]{tiledb_ctx} object. #' initialize = function(uri, ctx = NULL) { diff --git a/R/TimeTravelDriver.R b/R/TimeTravelDriver.R index c8dcba7..67c4800 100644 --- a/R/TimeTravelDriver.R +++ b/R/TimeTravelDriver.R @@ -24,15 +24,15 @@ TimeTravelDriver <- R6::R6Class( #' @description Instantiate a new `TimeTravelDriver` object. #' - #' @param uri URI path for the `TimeBDriver` object. - #' @param ctx Optional [tiledb::tiledb_ctx()] object. + #' @param uri URI path to `TileDB` driver. + #' @param ctx Optional \link[tiledb:tiledb_ctx]{tiledb_ctx} object. #' @param timestamp Set a `TileDB` timestamp range that #' the resource will be opened at. Effective in `"READ"` mode only. #' Valid options: #' - A `NULL` value (default) #' - An `R` object coercible to `POSIXct` with length 1 which is used for end timestamp, #' or length 2 with start, end timestamps - #' - An object of class `tiledb_timestamp`. See [R6.tiledb::set_tiledb_timestamp()] + #' - An object of class `tiledb_timestamp`. See [set_tiledb_timestamp()] #' initialize = function(uri, ctx = NULL, timestamp = NULL) { diff --git a/R/reexports.R b/R/reexports.R index 62f2732..66f6175 100644 --- a/R/reexports.R +++ b/R/reexports.R @@ -2,6 +2,10 @@ #' @importFrom R6.tiledb new_context R6.tiledb::new_context +#' @export +#' @importFrom R6.tiledb set_tiledb_timestamp +R6.tiledb::set_tiledb_timestamp + #' @export #' @importFrom tiledb tiledb_config tiledb::tiledb_config diff --git a/R/storr_tiledb.R b/R/storr_tiledb.R index 3214bff..21359c5 100644 --- a/R/storr_tiledb.R +++ b/R/storr_tiledb.R @@ -30,7 +30,7 @@ #' ## Buffer size #' #' The buffer allocation size is set to 3 MB per column when fetching data. Use -#' [tiledb::set_allocation_size_preference()] to set a different limit. +#' [set_allocation_size_preference()] to set a different limit. #' #' # Class Methods Summary #' diff --git a/R/storr_timetravel.R b/R/storr_timetravel.R index a602e45..f636783 100644 --- a/R/storr_timetravel.R +++ b/R/storr_timetravel.R @@ -69,7 +69,7 @@ #' - A `NULL` value (default) #' - An `R` object coercible to `POSIXct` with length 1 which used for end timestamp, #' or length 2 with start, end timestamps -#' - An object of class `tiledb_timestamp`. See [R6.tiledb::set_tiledb_timestamp()] +#' - An object of class `tiledb_timestamp`. See [set_tiledb_timestamp()] #' #' Set a new timestamp with active field `$timestamp`, see examples. #' diff --git a/README.md b/README.md index 7d5526c..964dfce 100644 --- a/README.md +++ b/README.md @@ -13,21 +13,23 @@ A [storr](https://github.com/richfitz/storr) driver using [TileDB Embedded](https://github.com/TileDB-Inc/TileDB) storage engine. -*What is storr?* +***What is storr?*** -A key-value store with content addressable storage for R objects with optional in-memory caching layer. +A key-value store with content-addressable storage for R objects with optional in-memory caching layer. The interface is provided by [storr](https://cloud.r-project.org/web/packages/storr/index.html) package and defines a set of common operations (set, get, del methods) across a range of different -storage drivers (DBI, LMDB, Redis, RDS, environment). The `storr` package is +storage drivers (DBI, LMDB, Redis, RDS local file, R's environment). The `storr` package is written by [Rich FitzJohn](https://github.com/richfitz). -*What is storr.tiledb?* +***What is storr.tiledb?*** -The `storr.tiledb` contributes a new storr compliant driver using TileDB Engine for backend. +`storr.tiledb` is an R package that extends the storr ecosystem by providing +a TileDB-based driver. Additionally, it includes `storr`-like classes that leverages +the advantages of TileDB backend with new features: ability to add notes +and expiration time-stamps next to key-namespace pairs and data snapshots support +(time-travel). -It defines a new storr R6 class that leverages the advantages of TileDB and provides new features -such as adding notes and expiration time-stamps along with key-namespace pairs. > [!WARNING] > The package is in experimental status. Currently, the driver is complete and @@ -45,13 +47,13 @@ such as adding notes and expiration time-stamps along with key-namespace pairs. - Asynchronous key-value operations or in parallel through [mirai](https://cran.rstudio.com/web/packages/mirai/) framework - - Hash tables (hashtab) for in memory caching layers instead of environments + - Hash tables (hashtab) for in memory caching layers instead of environments - - Cloud storage (S3, Azure, GSC) + - Cloud storage support (AWS S3, Azure Blob, Google Cloud Storage) - - Data versioning (time-travelling) + - Data version (time-travelling functionality) - - Encryption + - Encryption support ## Installation diff --git a/man/StorrTimeTravel.Rd b/man/StorrTimeTravel.Rd index b11ca21..fcc4e2b 100644 --- a/man/StorrTimeTravel.Rd +++ b/man/StorrTimeTravel.Rd @@ -7,9 +7,8 @@ A \code{StorrTimeTravel}, \code{R6} object. } \description{ -A \link{TileDBStorr} is a time-travel variant of \code{TileDBStorr} designed -to query data at specific points in time and in read-only mode with no write -capabilities. +A variant of \code{TileDBStorr} designed to query data at specific +points in time and in read-only mode with no write capabilities. This class is not intended to be used directly and the preferred usage is through \code{\link[=storr_timetravel]{storr_timetravel()}}. diff --git a/man/TileDBDriver.Rd b/man/TileDBDriver.Rd index f532ebf..7bd3afb 100644 --- a/man/TileDBDriver.Rd +++ b/man/TileDBDriver.Rd @@ -104,8 +104,8 @@ This class is intended for usage in \link[storr:storr]{storr} or \link{TileDBSto \subsection{Arguments}{ \if{html}{\out{
}} \describe{ - \item{\code{uri}}{URI path for the \code{TileDBDriver} object.} - \item{\code{ctx}}{Optional \code{\link[tiledb:tiledb_ctx]{tiledb::tiledb_ctx()}} object.} + \item{\code{uri}}{URI path to \code{TileDB} driver.} + \item{\code{ctx}}{Optional \link[tiledb:tiledb_ctx]{tiledb_ctx} object.} } \if{html}{\out{
}} } diff --git a/man/TimeTravelDriver.Rd b/man/TimeTravelDriver.Rd index e7f69b1..30bbb45 100644 --- a/man/TimeTravelDriver.Rd +++ b/man/TimeTravelDriver.Rd @@ -100,8 +100,8 @@ the resource will be opened at. Effective in \code{"READ"} mode only.} \subsection{Arguments}{ \if{html}{\out{
}} \describe{ - \item{\code{uri}}{URI path for the \code{TimeBDriver} object.} - \item{\code{ctx}}{Optional \code{\link[tiledb:tiledb_ctx]{tiledb::tiledb_ctx()}} object.} + \item{\code{uri}}{URI path to \code{TileDB} driver.} + \item{\code{ctx}}{Optional \link[tiledb:tiledb_ctx]{tiledb_ctx} object.} \item{\code{timestamp}}{Set a \code{TileDB} timestamp range that the resource will be opened at. Effective in \code{"READ"} mode only. Valid options: @@ -109,7 +109,7 @@ Valid options: \item A \code{NULL} value (default) \item An \code{R} object coercible to \code{POSIXct} with length 1 which is used for end timestamp, or length 2 with start, end timestamps -\item An object of class \code{tiledb_timestamp}. See \code{\link[R6.tiledb:set_tiledb_timestamp]{R6.tiledb::set_tiledb_timestamp()}} +\item An object of class \code{tiledb_timestamp}. See \code{\link[=set_tiledb_timestamp]{set_tiledb_timestamp()}} }} } \if{html}{\out{
}} diff --git a/man/reexports.Rd b/man/reexports.Rd index 0690000..d3f640c 100644 --- a/man/reexports.Rd +++ b/man/reexports.Rd @@ -4,6 +4,7 @@ \name{reexports} \alias{reexports} \alias{new_context} +\alias{set_tiledb_timestamp} \alias{tiledb_config} \alias{tiledb_ctx} \alias{set_allocation_size_preference} @@ -15,7 +16,7 @@ These objects are imported from other packages. Follow the links below to see their documentation. \describe{ - \item{R6.tiledb}{\code{\link[R6.tiledb:new_context]{new_context()}}} + \item{R6.tiledb}{\code{\link[R6.tiledb:new_context]{new_context()}}, \code{\link[R6.tiledb:set_tiledb_timestamp]{set_tiledb_timestamp()}}} \item{tiledb}{\code{\link[tiledb:get_allocation_size_preference]{get_allocation_size_preference()}}, \code{\link[tiledb:set_allocation_size_preference]{set_allocation_size_preference()}}, \code{\link[tiledb:tiledb_config]{tiledb_config()}}, \code{\link[tiledb:tiledb_ctx]{tiledb_ctx()}}} }} diff --git a/man/storr.tiledb-package.Rd b/man/storr.tiledb-package.Rd index 8948f5f..87b7194 100644 --- a/man/storr.tiledb-package.Rd +++ b/man/storr.tiledb-package.Rd @@ -18,11 +18,11 @@ Useful links: } \author{ -\strong{Maintainer}: Constantinos Giachalis \email{xx@github.com} +\strong{Maintainer}: Constantinos Giachalis \email{26255858+cgiachalis@users.noreply.github.com} Authors: \itemize{ - \item Constantinos Giachalis \email{xx@github.com} + \item Constantinos Giachalis \email{26255858+cgiachalis@users.noreply.github.com} } } diff --git a/man/storr_tiledb.Rd b/man/storr_tiledb.Rd index 33870b8..db69b93 100644 --- a/man/storr_tiledb.Rd +++ b/man/storr_tiledb.Rd @@ -58,7 +58,7 @@ can be used to disable it, like so: \code{options(storr.tiledb.cache = FALSE)}. \subsection{Buffer size}{ The buffer allocation size is set to 3 MB per column when fetching data. Use -\code{\link[tiledb:set_allocation_size_preference]{tiledb::set_allocation_size_preference()}} to set a different limit. +\code{\link[=set_allocation_size_preference]{set_allocation_size_preference()}} to set a different limit. } } diff --git a/man/storr_timetravel.Rd b/man/storr_timetravel.Rd index 9845d3f..a9675e3 100644 --- a/man/storr_timetravel.Rd +++ b/man/storr_timetravel.Rd @@ -21,7 +21,7 @@ Valid options: \item A \code{NULL} value (default) \item An \code{R} object coercible to \code{POSIXct} with length 1 which used for end timestamp, or length 2 with start, end timestamps -\item An object of class \code{tiledb_timestamp}. See \code{\link[R6.tiledb:set_tiledb_timestamp]{R6.tiledb::set_tiledb_timestamp()}} +\item An object of class \code{tiledb_timestamp}. See \code{\link[=set_tiledb_timestamp]{set_tiledb_timestamp()}} } Set a new timestamp with active field \verb{$timestamp}, see examples.} diff --git a/vignettes/src/_storr-tiledb.Rmd b/vignettes/src/_storr-tiledb.Rmd index 8f52734..21e544a 100644 --- a/vignettes/src/_storr-tiledb.Rmd +++ b/vignettes/src/_storr-tiledb.Rmd @@ -187,13 +187,13 @@ TileDB backend supports encryption: ```{r} # Requires a TileDB Context with encryption configuration parameters key <- "5b643a5e173c27d76b3f2af01fcb327b" -config <- tiledb::tiledb_config() +config <- tiledb_config() config["sm.encryption_type"] <- "AES_256_GCM"; config["sm.encryption_key"] <- key -ctx <- R6.tiledb::new_context(config) # tiledb::tiledb_ctx(config) +ctx <- new_context(config) # tiledb::tiledb_ctx(config) ``` -Note that we've created a context using `R6.tiledb::new_context()` instead of `tiledb_tiledb_ctx()`, because the latter stores the context to package cache. +Note that we've created a context using `new_context()` instead of `tiledb_ctx()`, because the latter stores the context to package cache. Now, create a storr with encryption: @@ -219,12 +219,12 @@ Create a storr in cloud storage: ```{r, eval=FALSE} # Set context with AWS S3 config parameters # NB: store values in ENV or in credential store, i.e., via keyring package -config <- tiledb::tiledb_config() +config <- tiledb_config() config["vfs.s3.region"] <- Sys.getenv("AWS_DEFAULT_REGION") config["vfs.s3.aws_access_key_id"] <- Sys.getenv("AWS_ACCESS_KEY_ID") config["vfs.s3.aws_secret_access_key"] <- Sys.getenv("AWS_SECRET_ACCESS_KEY") -ctx <- R6.tiledb::new_context(config) +ctx <- new_context(config) ``` ```{r, eval=FALSE} diff --git a/vignettes/storr-tiledb.Rmd b/vignettes/storr-tiledb.Rmd index 9d67d7a..cc4f8f8 100644 --- a/vignettes/storr-tiledb.Rmd +++ b/vignettes/storr-tiledb.Rmd @@ -1,6 +1,6 @@ --- title: Quick Reference -date: "2026-04-19" +date: "2026-05-23" vignette: > %\VignetteIndexEntry{Quick Reference} %\VignetteEngine{litedown::vignette} @@ -115,7 +115,7 @@ sto$set("key2", 10, expires_at = as.POSIXct(Sys.time() + 100)) # Retrieve 'notes' and 'expiration' sto$get_keymeta("key1") # $expires_at -# [1] "2026-04-19 17:14:51 EEST" +# [1] "2026-05-23 09:46:16 EEST" # # $notes # [1] "my notes" @@ -129,8 +129,8 @@ sto$get_keymeta("key1") sto$keys_with_expiration() # namespace key expires_at # -# 1: objects key1 2026-04-19 17:14:51 -# 2: objects key2 2026-04-19 17:16:30 +# 1: objects key1 2026-05-23 09:46:16 +# 2: objects key2 2026-05-23 09:47:55 Sys.sleep(2) @@ -140,7 +140,7 @@ sto$has_expired_keys() sto$expired_keys() # namespace key expires_at # -# 1: objects key1 2026-04-19 17:14:51 +# 1: objects key1 2026-05-23 09:46:16 sto$clear_expired_keys() @@ -156,7 +156,7 @@ sto$expired_keys() sto$keys_with_expiration() # namespace key expires_at # -# 1: objects key2 2026-04-19 17:16:30 +# 1: objects key2 2026-05-23 09:47:55 # Reset expiration timestamp sto$set_keymeta("key2", expires_at = as.POSIXct(NA)) @@ -230,13 +230,13 @@ TileDB backend supports encryption: ``` r # Requires a TileDB Context with encryption configuration parameters key <- "5b643a5e173c27d76b3f2af01fcb327b" -config <- tiledb::tiledb_config() +config <- tiledb_config() config["sm.encryption_type"] <- "AES_256_GCM"; config["sm.encryption_key"] <- key -ctx <- R6.tiledb::new_context(config) # tiledb::tiledb_ctx(config) +ctx <- new_context(config) # tiledb::tiledb_ctx(config) ``` -Note that we've created a context using `R6.tiledb::new_context()` instead of `tiledb_tiledb_ctx()`, because the latter stores the context to package cache. +Note that we've created a context using `new_context()` instead of `tiledb_ctx()`, because the latter stores the context to package cache. Now, create a storr with encryption: @@ -268,12 +268,12 @@ Create a storr in cloud storage: ``` r # Set context with AWS S3 config parameters # NB: store values in ENV or in credential store, i.e., via keyring package -config <- tiledb::tiledb_config() +config <- tiledb_config() config["vfs.s3.region"] <- Sys.getenv("AWS_DEFAULT_REGION") config["vfs.s3.aws_access_key_id"] <- Sys.getenv("AWS_ACCESS_KEY_ID") config["vfs.s3.aws_secret_access_key"] <- Sys.getenv("AWS_SECRET_ACCESS_KEY") -ctx <- R6.tiledb::new_context(config) +ctx <- new_context(config) ```