rOpenSci Development Road Map
This document does not track every project/package within rOpenSci, but rather the larger efforts we are undertaking.
Go to Issues/Milestones for each respective package to get up to date information on issues and planned release dates.
For past changes on a per pacakge basis: All rOpenSci repositories should
have notes on each release in the releases
tab for
(e.g., releases for rgbif). If
releases is missing see the NEWS
/NEWS.md
file in the repository.
Jeroen is working on a long term better infrastructure for image processing and analysis in R. Currently this includes dealing with formats for pictures and graphics, but the goal is to expand to video as well as spatial and medical imaging.
Implement magick feature requestscompleteImplement drawing system (perhaps via a graphics device)completeIntegrate with TesseractcompleteBlog postcompleteUpdate latest libmagick++: Done but need to do againcompleteRefactoring documentationcomplete- Extract image classes, make pkg more extensible
- Start exposing some magick image analsysis tools
- Learn about medical imaging
- Look into video processing library
- CRAN has requested maintenance on the
brotli
package. Also the upstream library has had a lot of breaking changes in v1.0 - The
RAppArmor
package needs cleanup now that most functionality has been extracted intounix
.
Ideas for the new website:
- Create rOpenSci
rmarkdown
theme to generate rOpenSci tutorials as vignettes - Experiment with interactive tutorials (playground) for rOpenSci tools using new OpenCPU
- Blog about
ropensci.ocpu.io
for remotely calling ropensci tools
Improve security in R. We want to bootstrap a trust network based on the ropensci community to make it safer to install R packages from arbitrary sources (github, cran, etc). Git's ability to sign commits, combined with Github's GPG API and/or keybase for identifying peers.
- gpg needs work to support multiple keyrings.
- notary developed at unconf17, experiment with a version of
install_github
that shows and verifies signatures.
Bob Rudis has a keybase package which interacts with the keybase API that we might borrow from. I also want to look into another approached based off letsencrypt.
- openssl needs a mainenance release to address bugs and features
- jose implements Javascript Object Signing and Encryption based on
openssl
andjsonlite
packages. Needed for letsencrypt client. acme
is the protocol used by letsenrypt. It usesjose
for signing and encrypting tokens. To get started I will implement a letsencrypt client for R (which also allows for further testing and developingjose
). One that works, perhaps we can use the certificates for other purposes as well.
Also doing research into additional methods of securing R such as libcgroups and docker).
No big new projects in this space, but rather the focus here is to try to get some more traction for the GeoJSON workflow in R. Using pkgs we've developed and others out there, I want to get out a numbef of blog posts/screencasts/vignettes for how to do spatial work centered around GeoJSON - and point out where its worse and where better than the sp/sf workflow.
There's already a lot of traction for geojsonio
package (see SO questions) - so that seems like a definite area to focus on.
Does include though some new pkgs or versions:
- geoops - first version is up on CRAN - but lots more to do adding methods and optimizing, etc.
- geofilter - not on CRAN yet. hoping to get up soon. will help users filter through GeoJSON just like you can for data.frame's/tibble's - using
jq
. i think this is an important piece for people to consider using a GeoJSON based workflow.
A REST API for cran check results. code: https://github.com/ropensci/cchecksapi api: https://cranchecks.info/heartbeat The main work done, but tweaking from feedback from various folks.
Once it's basically done, may try to set up a notification system to ropensci pkg maintainers (and others) to opt in to notifications (email, etc.) when there's errors, warnings, notes, etc.
target date: late January 2018
webmockr
mocks HTTP requests, and vcr
is used mostly to integrate with unit tests to cache HTTP requests. webmockr
is now on CRAN and improvements are being made. vcr
is very close to a CRAN release.
Both above will right away integrate with crul - but both will integrate with other http clients later (httr
, curl
, RCurl
, etc.)
I will use vcr
heavily in test suites in probably all the API wrappers I maintain. (and vcr
depends on webmockr
) - should see wide adoption outside of ropensci as there's nothing like these two out there currently.
Update: taking longer to get to this than I thought - so busy with maintenance and other projects.
target date: February 2018
A few pkgs need updates, will try to organize releases to coincide + blog post:
- fulltext - shooting for milestone v0.2 - lots of new things, demo abstract mining, full text mining, etc.
- microdemic - new pkg to work with Microsoft Academic Search API
- rcoreoa - new pkg to work with CORE search API - also used in OpenknowledgeMaps
- jaod - new pkg to work with Directory of Open Access Journals API
- crminer - new version to go out
- rbace - new pkg to work with BASE search API - also used in OpenknowledgeMaps
target date: February 2018
Continual patch releases of these are put out, but targeting a grouped single date to release new versions of a suite of these pkgs:
- rgbif - shooting for milestone v1.0
- spocc - milestone v0.8
- ecoengine - @karthik maintaining - not sure if there's an obvious milestone that can be reached for this
- scrubr - milestone v0.3
- mapr - milestone v0.4
- seaaroundus - recently took this over - pushing out a 1st CRAN version soon
- etc... there are more
Lots of suggestions from the textworkshop in London for wrapping new text processing libraries and utilities.
- antiword DONE: on cran
dynamic topic models: Started wrapping but turns out to be bad library. Discontinued.- bigartm
- compact language detector 2 DONE: on cran
- compact language detector 3 DONE: on cran
- unrtf Done: on cran
taxize
is our core taxonomy package that's been around for years, and is used widely. We're targeting a v1.0 release for late in 2017, but will have a pre v1 for this target release.
- taxize
- taxizedb - use SQL dumps of taxonomic databases locally ON CRAN
- binomen - dplyr like interface for taxonomic data being merged with
taxa
- taxa - classes for taxonomic data - in the future to be used by all other taxonomy packages waiting on this getting to CRAN, should be very soon - co-maintiner and his PI and I writing a paper on this as well
- wikitaxa
- ritis
We are working on a new system for massively concurrent requests in curl
to support high performance scarpers and crawlers. Because this is a big update, it needs a few more rounds of tweaking and testing and revision.
Jeroen is working on new packages sys
and unix
to improve interacting with low level system from R. This will make packages that require system calls more robust and easier to develop.
J and S are working on geojson
, a pkg for geojson classes, which we can use in other packages. We can pair this release with geoops
, a package to do geospatial operations without the gdal/geos stack, and a new version of geojsonio
, our geojson I/O client. We could include new release of geojsonlint
if appropriate. Perhaps throw in wellknown
if I can get around to updating it.