Science Score: 13.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
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.2%) to scientific vocabulary
Keywords from Contributors
Repository
Object Pooling in R
Basic Info
- Host: GitHub
- Owner: rstudio
- License: other
- Language: R
- Default Branch: main
- Homepage: http://rstudio.github.io/pool/
- Size: 5.83 MB
Statistics
- Stars: 253
- Watchers: 20
- Forks: 34
- Open Issues: 3
- Releases: 6
Metadata Files
README.md
pool
The goal of the pool package is to abstract away the challenges of database connection management, which is particularly relevant in interactive contexts like Shiny apps that connect to a database.
Instead of creating and closing connections yourself, you create a "pool" of connections, and the pool package manages them for you. You never have to create or close connections directly: The pool knows when it should grow, shrink or keep steady. You only need to close the pool when you’re done. The pool works seamlessly with DBI and dplyr, so in most cases using the pool package is as simple replacing DBI::dbConnect() with dbPool() and adding a call to poolClose().
Learn more about why pool is needed in vignette("why-pool").
(The pool package is actually general enough to allow you to construct a pool of any kind of object, not just database connections, but database connections are currently its primary claim to fame.)
Usage
Here’s a simple example of using a pool within a Shiny app:
```r library(shiny) library(dplyr) library(pool) loadNamespace("dbplyr")
pool <- dbPool(RSQLite::SQLite(), dbname = demoDb()) onStop(function() { poolClose(pool) })
ui <- fluidPage( textInput("cyl", "Enter your number of cylinders:", "4"), tableOutput("tbl"), numericInput("nrows", "How many cars to show?", 10), plotOutput("popPlot") )
server <- function(input, output, session) { cars <- tbl(pool, "mtcars")
output$tbl <- renderTable({ cars %>% filter(cyl == !!input$cyl) %>% collect() }) output$popPlot <- renderPlot({ df <- cars %>% head(input$nrows) %>% collect() pop <- df %>% pull("mpg", name = "model") barplot(pop) }) }
shinyApp(ui, server) ```
Note: the loadNamespace("dbplyr") line is there to help the rsconnect package when deploying the application to shinyapps.io or Posit Connect. Without that line, rsconnect will not detect that the dbplyr package is needed, and the application will not work properly.
Owner
- Name: RStudio
- Login: rstudio
- Kind: organization
- Email: info@rstudio.org
- Location: Boston, MA
- Website: http://rstudio.org
- Repositories: 356
- Profile: https://github.com/rstudio
GitHub Events
Total
- Issues event: 7
- Watch event: 2
- Issue comment event: 8
- Fork event: 3
Last Year
- Issues event: 7
- Watch event: 2
- Issue comment event: 8
- Fork event: 3
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Barbara Borges Ribeiro | b****o@g****m | 98 |
| Hadley Wickham | h****m@g****m | 69 |
| Joe Cheng | j****e@r****m | 22 |
| Winston Chang | w****n@s****g | 9 |
| Kirill Müller | k****r | 2 |
| Barret Schloerke | b****t@r****m | 2 |
| Akhil Nair | y****i@g****m | 2 |
| pnacht | p****t@g****m | 1 |
| caewok | c****0@y****m | 1 |
| Sharon Machlis | s****s@g****m | 1 |
| Philipp Leppert | p****t@p****e | 1 |
| Nathan Stephens | n****s@g****m | 1 |
| Marco Sciaini | m****i@p****t | 1 |
| Kun Ren | r****n@o****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 80
- Total pull requests: 48
- Average time to close issues: over 1 year
- Average time to close pull requests: about 2 months
- Total issue authors: 66
- Total pull request authors: 12
- Average comments per issue: 3.03
- Average comments per pull request: 1.02
- Merged pull requests: 43
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 6
- Pull requests: 1
- Average time to close issues: about 8 hours
- Average time to close pull requests: 3 days
- Issue authors: 6
- Pull request authors: 1
- Average comments per issue: 1.17
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- hadley (10)
- vituri (2)
- r2evans (2)
- mgirlich (2)
- mmuurr (1)
- thmschk (1)
- burgerga (1)
- davidchall (1)
- Jazelle759 (1)
- beskoonlog (1)
- mmccarthy404 (1)
- mllg (1)
- JavOrraca (1)
- taqtiqa-mark (1)
- krlmlr (1)
Pull Request Authors
- hadley (37)
- krlmlr (4)
- philippleppert (4)
- jcheng5 (3)
- AkhilGNair (2)
- wch (2)
- schloerke (2)
- smach (1)
- pnacht (1)
- liamgilbey (1)
- nwstephens (1)
- marcosci (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- cran 10,075 last-month
- Total docker downloads: 23,831
-
Total dependent packages: 9
(may contain duplicates) -
Total dependent repositories: 77
(may contain duplicates) - Total versions: 30
- Total maintainers: 1
proxy.golang.org: github.com/rstudio/pool
- Documentation: https://pkg.go.dev/github.com/rstudio/pool#section-documentation
- License: other
-
Latest release: v1.0.4
published almost 2 years ago
Rankings
cran.r-project.org: pool
Object Pooling
- Homepage: https://github.com/rstudio/pool
- Documentation: http://cran.r-project.org/web/packages/pool/pool.pdf
- License: MIT + file LICENSE
-
Latest release: 1.0.4
published almost 2 years ago
Rankings
Maintainers (1)
conda-forge.org: r-pool
- Homepage: https://github.com/rstudio/pool
- License: GPL-3.0-only
-
Latest release: 0.1.6
published over 5 years ago
Rankings
Dependencies
- R >= 3.0.0 depends
- methods * depends
- DBI * imports
- R6 * imports
- later >= 1.0.0 imports
- RMySQL * suggests
- RSQLite * suggests
- dbplyr * suggests
- dplyr * suggests
- testthat * suggests
- tibble * suggests
- 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
- 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
- actions/checkout v3 composite
- r-lib/actions/pr-fetch v2 composite
- r-lib/actions/pr-push v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite