Sage-Bionetworks / sage-monorepo

Where OpenChallenges, Schematic, and other Sage open source apps are built
https://sage-bionetworks.github.io/sage-monorepo/
Apache License 2.0
22 stars 12 forks source link

[Story] Identify what an R app and R library are #1619

Open tschaffter opened 1 year ago

tschaffter commented 1 year ago

What projects is this story for?

No response

As a user, I want

NA

Description

This monorepo has two types of projects:

Each project (app or lib) defines a set of tasks that it implements in its project.json. Examples are build, test, lint or any other task required by the project.

The goal of this ticket is to identify what technologies are required to develop R apps and libraries in this monorepo. For example, the dependencies of a Python project are managed with Poetry. The version of Python needed by a given project is managed with Pyenv. The only type of Python app currently in the monorepo is a REST API. Another type of Python app that could be added in the future is CLI. This monorepo has both REST API and CLI examples for TypeScript.

@andrewelamb @afwillia @jaeddy What do you think an R app and library should be in the monorepo? There are possibly multiple answers for what an app is (e.g. REST API and CLI). What tools should be used to manage the dependencies of an R project? Using Pyenv as a reference for managing different version of Python, is there a similar tool to manage multiple versions of R?

Acceptance criteria

Tasks

No response

Anything else?

No response

Have you linked this story to a GitHub Project?

andrewelamb commented 1 year ago

@tschaffter I can add some more to this later, but renv does a lot of the same things poetry does, and could be considered equivalent.

jaeddy commented 1 year ago

(copied from Slack)

i haven’t done serious R development in a while, so i can’t guarantee that these resources are the latest and greatest… but might be a good starting point. the #r channel would also be a good place to ask and/or cross-check the resources below

image

tschaffter commented 1 year ago

The articles describe how to manage multiple R versions on the same host:

tschaffter commented 1 year ago

Initially a single version of R should suffice. I will try these instructions from Posix to install R with a pinned version.