RepoSnowflake (Arctic)Snowflake (Arctic)published Mar 2, 2026seen 5d

Snowflake-Labs/RSnowflake

R

Open original ↗

Captured source

source ↗
published Mar 2, 2026seen 5dcaptured 9hhttp 200method plain

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() via nanoarrow

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/10

New repo for R package, routine release