DSI
The DataSHIELD Interface. Virtual classes to be implemented for accessing data repositories and base functions to be used by DS clients.
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.3%) to scientific vocabulary
Repository
The DataSHIELD Interface. Virtual classes to be implemented for accessing data repositories and base functions to be used by DS clients.
Basic Info
- Host: GitHub
- Owner: datashield
- License: lgpl-2.1
- Language: R
- Default Branch: master
- Homepage: https://datashield.github.io/DSI/
- Size: 3.95 MB
Statistics
- Stars: 2
- Watchers: 9
- Forks: 6
- Open Issues: 5
- Releases: 12
Metadata Files
README.md
DataSHIELD Interface
The DataSHIELD Interface (DSI) defines a set of S4 classes and generic methods that can be implemented for accessing a data repository supporting the DataSHIELD infrastructure: controlled R commands to be executed on the server side are garanteeing that non disclosive information is returned to client side.
Learn more about DataSHIELD.
Class Structure
The DSI classes are:
DSObjecta common base class for all DSI,DSDriverdrives the creation of a connection object,DSConnectionallows the interaction with the remote server; DataSHIELD operations such as aggregation and assignment return a result object; DataSHIELD setup status check can be performed (dataset access, configuration comparision),DSResultwraps access to the result, which can be fetched either synchronously or asynchronously depending on the capabilities of the data repository server.
All classes are virtual: they cannot be instantiated directly and instead must be subclassed. See DSOpal for a reference implementation of DSI based on the Opal data warehouse. See also DSLite for a server-less implementation of DSI for local datasets.
These S4 classes and generic methods are meant to be used for implementing connection to a DataSHIELD-aware data repository.
Higher Level Functions
In addition to these S4 classes, DSI provides functions to handle a list of remote data repository servers:
datashield.loginanddatashield.logoutwill make use of theDSDriverparadigm to createDSConnections to the data repositories,datashield.aggregateanddatashield.assignwill perform typical DataSHIELD operations onDSConnections, which result will be fetched throughDSResultobjects,datashield.connections,datashield.connections_defaultanddatashield.connections_findare functions for managing the list ofDSConnectionobjects that will be discovered and used by the client-side analytic functions.datashield.errorswill report the last R errors that may have occurred after adatashield.assignordatashield.aggregatecall.- Other data management functions are provided by the
DSConnectionobjects:datashield.workspaces,datashield.workspace_save,datashield.workspace_restoreanddatashield.workspace_rmallow to manage R images of the remote DataSHIELD sessions (to speed up data analysis sessions),datashield.symbolsanddatashield.symbol_rmoffer a minimalistic management of the R symbols living in the remote DataSHIELD sessions,datashield.tables,datashield.table_statuslist the tables and their accessibility across a set of data repositories,datashield.resources,datashield.resource_statuslist the resources and their accessibility across a set of data repositories,datashield.pkg_status,datashield.method_statusanddatashield.methodsare utility functions to explore the DataSHIELD setup across a set of data repositories.datashield.profileslists the DataSHIELD profiles that can be selected at login time.
These datashield.* functions are meant to be used by DataSHIELD packages developers and users.
Options
Some options can be set to modify the behavior of the DSI:
datashield.envis the R environment in which theDSConnectionobject list is to be looking for. Default value is the Global Environment:globalenv().datashield.progressis a logical to enable the visibility of the progress bars. Default value isTRUE.datashield.progress.clearis a logical to make the progress bar disappear after it has been completed. Default value isFALSE.datashield.errors.stopis a logical to alter error handling behavior: ifTRUEan error is raised when at least one server has failed, otherwise a warning message is issued. Default value isTRUE.datashield.errors.printis a logical for controlling the error print in the console: ifTRUEthe errors are automatically printed in rich text, otherwise subsequent call todatashield.errors()is required to get the details of the errors. Default value isFALSE.datashield.polling.sleep.0time in seconds to wait before checking async calls completion, before ~1 second. Default value 50 milliseconds.datashield.polling.sleep.1base time in seconds to wait before checking async calls completion, after ~1 second. Default value is 1 second.datashield.polling.sleep.10time in seconds to wait before checking async calls completion, after ~10 seconds. Default value is x2 the base time (2 seconds).datashield.polling.sleep.60time in seconds to wait before checking async calls completion, after ~1 minute. Default value is x10 the base time (10 seconds).datashield.polling.sleep.600time in seconds to wait before checking async calls completion, after ~10 minutes. Default value is x60 the base time (1 minute).datashield.polling.sleep.3600time in seconds to wait before checking async calls completion, after ~1 hour. Default value is x600 the base time (10 minutes).
Owner
- Name: DataSHIELD
- Login: datashield
- Kind: organization
- Email: datashield@liverpool.ac.uk
- Website: https://www.datashield.org/
- Repositories: 56
- Profile: https://github.com/datashield
DataSHIELD is a series of R libraries that enables the non-disclosive co-analysis of distributed sensitive research data.
GitHub Events
Total
- Issue comment event: 3
- Push event: 2
- Pull request event: 1
- Pull request review event: 2
- Create event: 1
Last Year
- Issue comment event: 3
- Push event: 2
- Pull request event: 1
- Pull request review event: 2
- Create event: 1
Committers
Last synced: almost 3 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Yannick Marcon | y****n@o****g | 106 |
| sidohaakma | s****o@h****g | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 15
- Total pull requests: 5
- Average time to close issues: about 1 month
- Average time to close pull requests: about 1 month
- Total issue authors: 7
- Total pull request authors: 3
- Average comments per issue: 2.07
- Average comments per pull request: 1.4
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 18 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 5.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ymarcon (8)
- davraam (2)
- fdlk (1)
- StuartWheater (1)
- timcadman (1)
- IulianD (1)
- ESCRI11 (1)
Pull Request Authors
- timcadman (3)
- ymarcon (2)
- sidohaakma (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 1,032 last-month
- Total docker downloads: 22,070
- Total dependent packages: 3
- Total dependent repositories: 29
- Total versions: 10
- Total maintainers: 1
cran.r-project.org: DSI
'DataSHIELD' Interface
- Homepage: https://github.com/datashield/DSI/
- Documentation: http://cran.r-project.org/web/packages/DSI/DSI.pdf
- License: LGPL-2.1 | LGPL-3 [expanded from: LGPL (≥ 2.1)]
-
Latest release: 1.7.1
published almost 2 years ago
Rankings
Maintainers (1)
Dependencies
- R >= 3.1 depends
- R6 * depends
- methods * depends
- progress * depends
- testthat >= 2.1.0 suggests