Package: Rducks 0.1.1.9000

Rducks: Register R User-Defined Functions in DuckDB

R package and 'DuckDB' extension bridge for registering R functions as 'DuckDB' user-defined functions (UDFs). The package is designed around a loaded 'DuckDB' extension, declarative type descriptors, direct native vector marshalling, and explicit execution discipline for safe interaction with R from 'DuckDB' execution. The inter-process worker transport uses vendored 'NNG' (nanomsg next generation).

Authors:Sounkou Mahamane Toure [aut, cre], Staysail Systems, Inc. and Capitar IT Group BV [cph], The Mbed TLS Contributors [cph]

Rducks_0.1.1.9000.tar.gz
Rducks_0.1.1.9000.zip(r-4.7)Rducks_0.1.1.9000.zip(r-4.6)Rducks_0.1.1.9000.zip(r-4.5)
Rducks_0.1.1.9000.tgz(r-4.6-x86_64)Rducks_0.1.1.9000.tgz(r-4.6-arm64)Rducks_0.1.1.9000.tgz(r-4.5-x86_64)Rducks_0.1.1.9000.tgz(r-4.5-arm64)
Rducks_0.1.1.9000.tar.gz(r-4.7-arm64)Rducks_0.1.1.9000.tar.gz(r-4.7-x86_64)Rducks_0.1.1.9000.tar.gz(r-4.6-arm64)Rducks_0.1.1.9000.tar.gz(r-4.6-x86_64)
Rducks_0.1.1.9000.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
Rducks/json (API)

# Install 'Rducks' in R:
install.packages('Rducks', repos = c('https://sounkou-bioinfo.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/sounkou-bioinfo/rducks/issues

Pkgdown/docs site:https://sounkou-bioinfo.github.io

On CRAN:

Conda:

cduckdb-extension

5.35 score 6 stars 25 scripts 91 exports 6 dependencies

Last updated from:15a2db0974. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK169
linux-devel-x86_64OK164
source / vignettesOK215
linux-release-arm64OK184
linux-release-x86_64OK145
macos-release-arm64OK101
macos-release-x86_64OK248
macos-oldrel-arm64OK102
macos-oldrel-x86_64OK270
windows-develOK181
windows-releaseOK198
windows-oldrelOK154
wasm-releaseOK129

Exports:ARRAYBIGINTBITBLOBBOOLEANDATEDECIMALDOUBLEENUMFLOATGEOMETRYHUGEINTINTEGERINTERVALLISTMAPrducks_argument_type_mappingrducks_as_daterducks_as_intervalrducks_as_timerducks_as_timestamprducks_bigintrducks_bitsrducks_bits_rawrducks_bits_xorrducks_check_argumentrducks_check_returnrducks_check_valuerducks_current_execution_planrducks_decimalrducks_detachrducks_disable_inprocrducks_duckdb_literalrducks_duckdb_signaturerducks_duckdb_typesrducks_enablerducks_enable_inprocrducks_enumrducks_execution_planrducks_explain_udfrducks_extension_pathrducks_hugeintrducks_inproc_self_testrducks_inproc_statsrducks_intervalrducks_interval_betweenrducks_ipc_workersrducks_is_typerducks_list_udfsrducks_mode_semanticsrducks_native_execution_backendrducks_query_streamrducks_register_aggregaterducks_register_scalar_udfrducks_register_tablerducks_releaserducks_release_statsrducks_reset_udf_countersrducks_runtime_statsrducks_set_execution_planrducks_table_streamrducks_type_child_namesrducks_type_childrenrducks_type_kindrducks_type_normalizerducks_type_parametersrducks_type_sizerducks_type_sqlrducks_type_tokenrducks_ubigintrducks_uhugeintrducks_unionrducks_uuidrducks_value_semanticsrducks_value_typerducks_variantrducks_with_duckplyrSMALLINTSTRUCTTIMETIMESTAMPTINYINTUBIGINTUHUGEINTUINTEGERUNIONUSMALLINTUTINYINTUUIDVARCHARVARIANT

Dependencies:codetoolsDBIduckdbmirainanonextS7

duckplyr Integration
Setup | Why a bridge is needed | Register selected R helpers for duckplyr | Why scalar mode is the default | Execution plans: in-process and worker-process | Cleanup

Last update: 2026-06-15
Started: 2026-05-20

Execution Plans and IPC Workers
Supported transports | Select the plan before registration | Worker-process (ipc) plan | Inspect workers | What rducks_release() does

Last update: 2026-06-15
Started: 2026-05-20

Getting Started with Rducks
Enable Rducks | Register a scalar UDF | Register an aggregate | Register a table function | Stream query results back to R | Release connection-local state

Last update: 2026-06-15
Started: 2026-05-20

Internal Current Implementation Details
Source and installed layout | Package and extension split | Runtime scopes | R-thread discipline | Scalar UDF registration and execution | Aggregates | Table functions | Query streams | IPC provider lifecycle | Ownership and copying model

Last update: 2026-06-15
Started: 2026-05-20

Type and Value Semantics
Function kind, scalar-UDF mode, and execution plan | Declared descriptors | NULL handling | Error handling and side effects | Runtime reference tables

Last update: 2026-06-15
Started: 2026-05-20

Readme and manuals

Help Manual

Help pageTopics
BIT logical operationsOps.rducks_bits rducks_bits_xor
Describe how Rducks argument values are passed to R functionsrducks_argument_type_mapping
Convert R date/time values to Rducks scalar-UDF shapesrducks_as_date rducks_as_interval rducks_as_time rducks_as_timestamp rducks_interval_between
Construct exact DuckDB BIGINT valuesrducks_bigint
Construct DuckDB BIT valuesrducks_bits rducks_bits_raw
Check that an R value is compatible with a DuckDB typerducks_check_argument rducks_check_return rducks_check_value
Inspect the current Rducks execution planrducks_current_execution_plan
Construct exact DuckDB DECIMAL valuesrducks_decimal
Disable in-process queued scalar-UDF executionrducks_disable_inproc
Format a DuckDB scalar function signaturerducks_duckdb_signature
Convert Rducks type descriptors to DuckDB SQL typesrducks_duckdb_types
Enable Rducks on a DuckDB connectionrducks_enable
Enable in-process queued scalar-UDF executionrducks_enable_inproc
Construct DuckDB ENUM valuesrducks_enum
Define an Rducks execution planrducks_execution_plan
Explain a registered Rducks scalar UDFrducks_explain_udf
Locate the built Rducks DuckDB extensionrducks_extension_path
Construct exact DuckDB HUGEINT valuesrducks_hugeint
Exercise the in-process queuerducks_inproc_self_test
Inspect in-process queue countersrducks_inproc_stats
Construct DuckDB INTERVAL valuesrducks_interval
List Rducks-managed IPC workersrducks_ipc_workers
List registered Rducks scalar UDFsrducks_list_udfs
Describe Rducks scalar-UDF evaluation mode semanticsrducks_mode_semantics
Inspect the native Rducks execution backendrducks_native_execution_backend
Stream a DuckDB query as native data-frame batchesrducks_query_stream
Register an R aggregate function in DuckDBrducks_register_aggregate
Register an R-backed DuckDB scalar UDFrducks_register_scalar_udf
Register an R table function in DuckDBrducks_register_table
Detach Rducks connection-local staterducks_detach rducks_release
Inspect preserved-object release countersrducks_release_stats
Reset Rducks scalar-UDF countersrducks_reset_udf_counters
Inspect native runtime registry countersrducks_runtime_stats
Set the Rducks execution plan for a connectionrducks_set_execution_plan
Create a streaming result for an Rducks table functionrducks_table_stream
Normalize an Rducks type tokenrducks_type_normalize
Rducks DuckDB type descriptors and constructorsARRAY BIGINT BIT BLOB BOOLEAN DATE DECIMAL DOUBLE ENUM FLOAT GEOMETRY HUGEINT INTEGER INTERVAL LIST MAP rducks_is_type rducks_type_objects SMALLINT STRUCT TIME TIMESTAMP TINYINT UBIGINT UHUGEINT UINTEGER UNION USMALLINT UTINYINT UUID VARCHAR VARIANT
Rducks type descriptor helpersrducks_type_children rducks_type_child_names rducks_type_kind rducks_type_parameters rducks_type_size rducks_type_sql rducks_type_token
Construct exact DuckDB UBIGINT valuesrducks_ubigint
Construct exact DuckDB UHUGEINT valuesrducks_uhugeint
Construct DuckDB UNION valuesrducks_union
Construct DuckDB UUID valuesrducks_uuid
Describe Rducks NULL, NA, NaN, and Inf semanticsrducks_value_semantics
Generic helpers for Rducks value classesrducks_duckdb_literal rducks_value_type
Construct a DuckDB VARIANT storage objectrducks_variant
Evaluate a duckplyr pipeline with dynamic Rducks scalar UDFsrducks_with_duckplyr with.duckdb_connection