Snowflake-Labs/RSnowflake
R
Captured source
source ↗Snowflake-Labs/RSnowflake
Description: DBI-compliant R interface to Snowflake
Language: R
License: NOASSERTION
Stars: 0
Forks: 1
Open issues: 0
Created: 2026-03-02T16:47:19Z
Pushed: 2026-06-08T11:54:41Z
Default branch: main
Fork: no
Archived: no
README:
RSnowflake
> Community Project -- Not Officially Supported > This is a community-developed project from > Snowflake Labs, not an official > Snowflake offering. It is provided as-is without warranty or official > Snowflake support. Use it for prototyping and experimentation; production > use is at your own risk. Feedback, bug reports, and contributions are > welcome via GitHub Issues.
> Author: Simon Field — SnowCAT
A DBI-compliant R interface to Snowflake that connects directly via the Snowflake SQL API over HTTPS. No dependency on ODBC, JDBC, or Python.
> Companion package: For Snowflake ML features (Model Registry, Feature > Store, Datasets, SPCS model serving), see > **snowflakeR**.
Features
- Full DBI compliance -- works with any package
that speaks DBI
- dbplyr integration -- write dplyr pipelines that execute as Snowflake SQL,
with 17 Snowflake-specific translations (semi-structured data, arrays, approximate aggregates) beyond what dbplyr provides out of the box
- RStudio / Positron Connections Pane -- browse databases, schemas, tables,
and columns visually
- Authentication: JWT key-pair, Programmatic Access Token (PAT), OAuth,
and Workspace session tokens
- `connections.toml` support -- share profiles with the Snowflake Python
connector and CLI
- Arrow interface --
dbGetQueryArrow()/dbFetchArrow()viananoarrow
for DBI Arrow method compatibility
- Optional ADBC backend -- install
adbcsnowflake+adbcdrivermanager
for true server-side Arrow reads (zero serialization overhead) and high-performance bulk writes (PUT + COPY INTO). When ADBC is available, dbGetQueryArrow() and dbWriteTable() automatically use it; otherwise they fall back transparently to the SQL API
- Snowflake Workspace Notebooks -- auto-detects the session token for
zero-config auth
Installation
# install.packages("pak")
pak::pak("Snowflake-Labs/RSnowflake")Vignettes
After installation, browse locally with browseVignettes("RSnowflake") or open:
vignette("getting-started", package = "RSnowflake")
vignette("workspace-rsnowflake", package = "RSnowflake")getting-started covers DBI usage, authentication (JWT, PAT, Workspace), bulk writes, ADBC options, dbplyr, and Arrow helpers. workspace-rsnowflake focuses on Workspace Notebooks: Python/%%R bootstrap order, EAI and installs for optional ADBC, the internal SNOWFLAKE_HOST gateway, and links to WORKSPACE_ADBC.md on GitHub.
Quick Start
library(DBI) library(RSnowflake) # Connect using a connections.toml profile con filter(score > 90) |> collect() # Disconnect dbDisconnect(con)
Authentication
connections.toml (recommended)
# ~/.snowflake/connections.toml [default] account = "myaccount" user = "myuser" authenticator = "SNOWFLAKE_JWT" private_key_path = "/path/to/rsa_key.p8" database = "MY_DB" schema = "PUBLIC" warehouse = "MY_WH"
con [1] "ID"
Set options(RSnowflake.identifier_case = "preserve") to keep the original case (useful for DBItest or when lowercase column names are required).
Using with snowflakeR
If you use the companion snowflakeR package for ML workflows, you can obtain an RSnowflake connection from an existing sfr_connection:
library(snowflakeR) conn = 4.1.0 - A Snowflake account Optional R packages: `openssl` + `jose` (JWT auth), `RcppTOML` (connections.toml), `nanoarrow` (Arrow interface), `adbcsnowflake` + `adbcdrivermanager` (ADBC backend for bulk Arrow reads/writes), `dbplyr` + `dplyr`, `snowflakeauth`. ## License Apache License 2.0
Excerpt shown — open the source for the full document.
Notability
notability 3.0/10New repo for R package, routine release