duckdbneo

New Bindings for the DuckDB Database Management System

OTHER License

Stars
11

duckdbneo

The overarching goal of duckdbneo is to rethink how duckdb is installed and used in R.

Installation

You can install the development version of duckdbneo like so:

# install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/stable/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))
pak::pak("krlmlr/duckdbneo")

Goals

  • No use of C++ API, only the C API of duckdb is used
  • Use ADBC and the adbi R package to implement DBI
  • Expose R wrappers for the C API
    • Autogenerated bindings from a JSON API spec
    • Hand-written user interface for convenience, based on the autogenerated bindings, with support for ALTREP and duckplyr

Non-goals

  • Implement a full DBI interface
  • Implement a full dplyr interface
  • Extend duckdb
  • Improve interoperability with other R packages