prqlc-r

R Bindings for prqlc

https://github.com/prql/prqlc-r

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.4%) to scientific vocabulary

Keywords

prql r rust sql

Keywords from Contributors

interactive geo projection genomics book documentation-tool grammar data-manipulation uml-diagrams observability
Last synced: 6 months ago · JSON representation

Repository

R Bindings for prqlc

Basic Info
Statistics
  • Stars: 58
  • Watchers: 4
  • Forks: 2
  • Open Issues: 13
  • Releases: 27
Topics
prql r rust sql
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License

README.Rmd

---
output:
  github_document:
    html_preview: false
---



```{r}
#| include: false

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# prqlr 


[![prqlr status badge](https://prql.r-universe.dev/badges/prqlr)](https://prql.r-universe.dev)
[![CRAN status](https://www.r-pkg.org/badges/version/prqlr)](https://CRAN.R-project.org/package=prqlr)
[![R-multiverse status](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fcommunity.r-multiverse.org%2Fapi%2Fpackages%2Fprqlr&query=%24.Version&label=r-multiverse)](https://community.r-multiverse.org/prqlr)


R bindings for [the `prqlc` Rust library](https://github.com/prql/prql),
powered by [`savvy`](https://github.com/yutannihilation/savvy).

This version supports PRQL `r prqlr::prql_version()`.

## Installation

Requires R 4.2.0 or later.

This latest release version of this package can be installed from CRAN or [R-multiverse](https://r-multiverse.org).
If available, a binary package will be installed.

```r
# Install from CRAN
install.packages("prqlr")
```

```r
# Install from the R-multiverse Community Repository
install.packages("prqlr", repos = "https://community.r-multiverse.org")
```

Development version of this package can be installed from PRQL's
[R-universe](https://prql.r-universe.dev/prqlr) repository.

```r
# Install from R-universe
install.packages("prqlr", repos = "https://prql.r-universe.dev")
```

For source installation, pre-built Rust libraries may be available
if the environment variable `NOT_CRAN` is set to `"true"`. (Or, set `LIBPRQLR_BUILD` to `"false"`)

```r
Sys.setenv(NOT_CRAN = "true")
install.packages("prqlr")
```

Or, the Rust toolchain (Rust `r RcppTOML::parseTOML("src/rust/Cargo.toml")$package$"rust-version"` or later)
must be configured to build the Rust library.

Please check the  repository for about Rust code in R packages.

## Examples

```{r}
library(prqlr)

"from mtcars | filter cyl > 6 | select {cyl, mpg}" |>
  prql_compile() |>
  cat()
```

PRQL's pipelines can be joined by the newline character (`\n`), or actual newlines in addition to `|`.

```{r}
"from mtcars \n filter cyl > 6 \n select {cyl, mpg}" |>
  prql_compile() |>
  cat()
```

```{r}
"from mtcars
filter cyl > 6
select {cyl, mpg}" |>
  prql_compile() |>
  cat()
```

Thanks to the `{tidyquery}` package,
we can even convert a PRQL query to a SQL query and then to a `{dplyr}` query!

```{r}
"from mtcars
filter cyl > 6
select {cyl, mpg}" |>
  prql_compile() |>
  tidyquery::show_dplyr()
```

## `{knitr}` integration

Using `{prqlr}` with `{knitr}` makes it easy to create documents that lists PRQL queries and a translated SQL queries,
or documents that lists PRQL queries and tables of data retrieved by PRQL queries.

Please check the vignette `vignette("knitr", "prqlr")` for details.

Owner

  • Name: PRQL
  • Login: PRQL
  • Kind: organization

PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement

GitHub Events

Total
  • Create event: 42
  • Issues event: 7
  • Release event: 4
  • Watch event: 3
  • Delete event: 42
  • Issue comment event: 19
  • Push event: 102
  • Pull request review comment event: 1
  • Pull request review event: 3
  • Pull request event: 77
  • Fork event: 1
Last Year
  • Create event: 42
  • Issues event: 7
  • Release event: 4
  • Watch event: 3
  • Delete event: 42
  • Issue comment event: 19
  • Push event: 102
  • Pull request review comment event: 1
  • Pull request review event: 3
  • Pull request event: 77
  • Fork event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 334
  • Total Committers: 5
  • Avg Commits per committer: 66.8
  • Development Distribution Score (DDS): 0.096
Past Year
  • Commits: 45
  • Committers: 2
  • Avg Commits per committer: 22.5
  • Development Distribution Score (DDS): 0.244
Top Committers
Name Email Commits
eitsupi 5****i 302
dependabot[bot] 4****] 29
Yihui Xie x****e@y****e 1
Søren Havelund Welling s****l@g****m 1
Hiroaki Yutani y****i@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 32
  • Total pull requests: 220
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 6 days
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 2.56
  • Average comments per pull request: 0.46
  • Merged pull requests: 174
  • Bot issues: 0
  • Bot pull requests: 64
Past Year
  • Issues: 5
  • Pull requests: 92
  • Average time to close issues: 16 days
  • Average time to close pull requests: 5 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.4
  • Average comments per pull request: 0.36
  • Merged pull requests: 65
  • Bot issues: 0
  • Bot pull requests: 34
Top Authors
Issue Authors
  • eitsupi (27)
  • andresrcs (3)
  • sorhawell (1)
Pull Request Authors
  • eitsupi (175)
  • dependabot[bot] (98)
  • yutannihilation (2)
  • sorhawell (1)
Top Labels
Issue Labels
enhancement (9) bug (6) develop (5) feature (4) upstream (3) release (2) documentation (1)
Pull Request Labels
dependencies (100) rust (75) enhancement (39) github_actions (22) documentation (15) bug (15) release (14) feature (10) breaking change (8) develop (8)

Packages

  • Total packages: 1
  • Total downloads:
    • cran 696 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 17
  • Total maintainers: 1
cran.r-project.org: prqlr

R Bindings for the 'prqlc' Rust Library

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 696 Last month
Rankings
Stargazers count: 10.0%
Forks count: 21.9%
Average: 28.8%
Dependent packages count: 29.8%
Dependent repos count: 35.5%
Downloads: 46.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/check-r-universe.yml actions
  • r-lib/actions/setup-r v2 composite
.github/workflows/check-rust.yml actions
  • actions/checkout v3 composite
  • baptiste0928/cargo-install v1 composite
.github/workflows/check.yml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
src/rust/Cargo.lock cargo
  • addr2line 0.17.0
  • adler 1.0.2
  • ahash 0.3.8
  • aho-corasick 0.7.20
  • anyhow 1.0.68
  • ariadne 0.1.5
  • backtrace 0.3.66
  • block-buffer 0.10.3
  • cc 1.0.73
  • cfg-if 1.0.0
  • chumsky 0.8.0
  • const-random 0.1.15
  • const-random-macro 0.1.15
  • cpufeatures 0.2.5
  • crunchy 0.2.2
  • crypto-common 0.1.6
  • csv 1.2.0
  • csv-core 0.1.10
  • digest 0.10.5
  • either 1.8.0
  • enum-as-inner 0.5.1
  • extendr-api 0.4.0
  • extendr-engine 0.4.0
  • extendr-macros 0.4.0
  • generic-array 0.14.6
  • getrandom 0.2.8
  • gimli 0.26.2
  • heck 0.4.0
  • itertools 0.10.5
  • itoa 1.0.4
  • lazy_static 1.4.0
  • libR-sys 0.4.0
  • libc 0.2.135
  • log 0.4.17
  • memchr 2.5.0
  • minimal-lexical 0.2.1
  • miniz_oxide 0.5.4
  • nom 7.1.1
  • object 0.29.0
  • once_cell 1.17.0
  • paste 1.0.9
  • pest 2.5.0
  • pest_derive 2.5.0
  • pest_generator 2.5.0
  • pest_meta 2.5.0
  • proc-macro-hack 0.5.20+deprecated
  • proc-macro2 1.0.47
  • quote 1.0.21
  • regex 1.7.0
  • regex-syntax 0.6.28
  • rustc-demangle 0.1.21
  • rustversion 1.0.9
  • ryu 1.0.11
  • semver 1.0.14
  • serde 1.0.147
  • serde_derive 1.0.147
  • serde_json 1.0.87
  • sha1 0.10.5
  • sqlformat 0.2.0
  • sqlparser 0.30.0
  • strum 0.24.1
  • strum_macros 0.24.3
  • syn 1.0.103
  • thiserror 1.0.37
  • thiserror-impl 1.0.37
  • tiny-keccak 2.0.2
  • typenum 1.15.0
  • ucd-trie 0.1.5
  • unicode-ident 1.0.5
  • unicode_categories 0.1.1
  • version_check 0.9.4
  • wasi 0.11.0+wasi-snapshot-preview1
  • yansi 0.5.1
DESCRIPTION cran
  • R >= 4.2 depends
  • DBI * suggests
  • RSQLite * suggests
  • dplyr * suggests
  • knitr >= 1.38 suggests
  • nycflights13 * suggests
  • patrick * suggests
  • rmarkdown * suggests
  • testthat >= 3.0.0 suggests
  • tidyquery * suggests
  • withr * suggests
src/rust/Cargo.toml cargo
.github/workflows/release-lib.yml actions
  • Swatinem/rust-cache v2 composite
  • actions/checkout v4 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
  • softprops/action-gh-release v1 composite