rlang

Low-level API for programming with R

https://github.com/r-lib/rlang

Science Score: 36.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
    3 of 87 committers (3.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

r

Keywords from Contributors

visualisation grammar data-manipulation tidy-data documentation-tool package-creation rmarkdown tidyverse csv fwf
Last synced: 10 months ago · JSON representation

Repository

Low-level API for programming with R

Basic Info
  • Host: GitHub
  • Owner: r-lib
  • License: other
  • Language: R
  • Default Branch: main
  • Homepage: https://rlang.r-lib.org
  • Size: 41.7 MB
Statistics
  • Stars: 537
  • Watchers: 21
  • Forks: 144
  • Open Issues: 152
  • Releases: 39
Topics
r
Created over 9 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Code of conduct Codeowners

README.md

rlang

Codecov test coverage Lifecycle Status R-CMD-check <!-- badges: end -->

rlang is a collection of frameworks and APIs for programming with R.

Frameworks

Two comprehensive frameworks are implemented in rlang.

  • tidy eval, a programmable data-masking framework used in tidyverse packages like dplyr and ggplot2. As a user, you will encounter the embracing operator {{ and name injection with the glue operators "{" and "{{".

  • rlang errors, a set of tools to signal and display errors. This includes backtrace capture with global_entrace() and backtrace display with last_error() and last_warnings(). Use abort() to create errors with bullet lists, structured metadata, and error chaining support.

    The display of error messages is optimised for bullet lists and chained errors and optionally integrates with the cli package (see local_use_cli()).

Argument intake

A set of tools help you check, validate, and preprocess arguments.

  • Checking function arguments, e.g. arg_match(), check_required(), and check_exclusive().

  • Checking dots, e.g. check_dots_used() and check_dots_empty().

  • Collecting dynamic dots, e.g. list2(). These dots support splicing with !!! and name injection with the glue operators "{" and "{{".

Programming interfaces

rlang provides various interfaces for working with R and R objects.

  • The R session, e.g. check_installed(), on_load(), and on_package_load().

  • Environments, e.g. env(), env_has(), env_get(), env_bind(), env_unbind(), env_print(), and local_bindings().

  • Evaluation, e.g. inject() and eval_bare().

  • Calls and symbols, e.g. call2(), is_call(), is_call_simple(), data_sym(), and data_syms().

  • Functions, e.g. new_function() and as_function(). The latter supports the purrr-style formula notation for lambda functions.

Installation

Install the released version of rlang from CRAN:

r install.packages("rlang")

Or install the development version from GitHub with:

```r

install.packages("pak")

pak::pkg_install("r-lib/rlang") ```

Code of Conduct

Please note that the rlang project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Owner

  • Name: R infrastructure
  • Login: r-lib
  • Kind: organization

GitHub Events

Total
  • Create event: 5
  • Release event: 2
  • Issues event: 46
  • Watch event: 30
  • Delete event: 4
  • Issue comment event: 82
  • Push event: 56
  • Pull request review comment event: 7
  • Pull request review event: 12
  • Pull request event: 39
  • Fork event: 13
Last Year
  • Create event: 5
  • Release event: 2
  • Issues event: 46
  • Watch event: 30
  • Delete event: 4
  • Issue comment event: 82
  • Push event: 56
  • Pull request review comment event: 7
  • Pull request review event: 12
  • Pull request event: 39
  • Fork event: 13

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 5,404
  • Total Committers: 87
  • Avg Commits per committer: 62.115
  • Development Distribution Score (DDS): 0.106
Past Year
  • Commits: 72
  • Committers: 12
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.25
Top Committers
Name Email Commits
Lionel Henry l****y@g****m 4,829
hadley h****m@g****m 292
Davis Vaughan d****s@r****m 73
Kirill Müller k****r@m****g 57
Romain Francois r****n@p****t 9
Jennifer (Jenny) Bryan j****n@g****m 9
olivroy 5****y 8
Eugene Ha e****a@p****e 7
Jim Hester j****r@g****m 6
Øystein Sørensen o****n@h****m 5
Hiroaki Yutani y****i@g****m 4
Maximilian Girlich m****h@m****m 4
Kirill Müller k****r@i****h 4
Jennifer (Jenny) Bryan j****y@s****a 4
Michael Chirico m****4@g****m 3
Salim B s****m@p****e 3
Kevin Kuo k****o@g****m 3
Mikko Marttila m****t@m****m 3
Tim Taylor t****r@h****k 2
musvaage 1****e 2
Gabor Csardi c****r@g****m 2
Teun van den Brand 4****d 2
Simon P. Couch s****h@g****m 2
Neal Richardson n****n@g****m 2
Matthieu Gomez g****u@g****m 2
Mara Averick m****k@g****m 2
Hugo Gruson B****o 2
Charlie Gao 5****o 2
Barret Schloerke s****e@g****m 2
Lionel Henry l****l@W****l 2
and 57 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 191
  • Total pull requests: 126
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 75
  • Total pull request authors: 29
  • Average comments per issue: 1.38
  • Average comments per pull request: 0.94
  • Merged pull requests: 79
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 38
  • Pull requests: 46
  • Average time to close issues: 19 days
  • Average time to close pull requests: 6 days
  • Issue authors: 23
  • Pull request authors: 11
  • Average comments per issue: 1.29
  • Average comments per pull request: 0.57
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hadley (30)
  • lionel- (24)
  • DavisVaughan (19)
  • moodymudskipper (9)
  • MichaelChirico (6)
  • olivroy (5)
  • mgirlich (5)
  • teunbrand (4)
  • DanChaltiel (3)
  • mikmart (3)
  • t-kalinowski (3)
  • krlmlr (3)
  • Yunuuuu (2)
  • etiennebacher (2)
  • JosiahParry (2)
Pull Request Authors
  • lionel- (33)
  • DavisVaughan (26)
  • olivroy (25)
  • MichaelChirico (10)
  • eitsupi (8)
  • shikokuchuo (6)
  • mgirlich (5)
  • musvaage (4)
  • teunbrand (3)
  • krlmlr (3)
  • jennybc (2)
  • jmobrien (2)
  • etiennebacher (2)
  • wurli (2)
  • simonpcouch (2)
Top Labels
Issue Labels
feature (8) tidyeval (8) cnd (3) session:state (2) tidy-dev-day :nerd_face: (2) tidyeval:dots (1) expr:deparse (1) fn:arg (1) reprex (1) print (1) bug (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • cran 1,633,246 last-month
  • Total docker downloads: 169,527,135
  • Total dependent packages: 2,467
    (may contain duplicates)
  • Total dependent repositories: 7,762
    (may contain duplicates)
  • Total versions: 81
  • Total maintainers: 1
cran.r-project.org: rlang

Functions for Base Types and Core R and 'Tidyverse' Features

  • Versions: 41
  • Dependent Packages: 2,467
  • Dependent Repositories: 7,762
  • Downloads: 1,633,246 Last month
  • Docker Downloads: 169,527,135
Rankings
Downloads: 0.0%
Dependent packages count: 0.0%
Dependent repos count: 0.1%
Forks count: 0.5%
Stargazers count: 0.8%
Average: 3.1%
Docker downloads count: 17.3%
Maintainers (1)
Last synced: 10 months ago
proxy.golang.org: github.com/r-lib/rlang
  • Versions: 40
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.4.0 depends
  • winch * enhances
  • utils * imports
  • cli >= 3.1.0 suggests
  • covr * suggests
  • crayon * suggests
  • fs * suggests
  • glue * suggests
  • knitr * suggests
  • magrittr * suggests
  • methods * suggests
  • pillar * suggests
  • rmarkdown * suggests
  • stats * suggests
  • testthat >= 3.0.0 suggests
  • tibble * suggests
  • usethis * suggests
  • vctrs >= 0.2.3 suggests
  • withr * suggests
tests/testthat/fixtures/rlanglibtest/DESCRIPTION cran
  • R >= 3.1.0 depends
  • rlang * imports