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
23 stars 12 forks source link

[Feature] Provide an OC API client for R #1683

Closed tschaffter closed 1 year ago

tschaffter commented 1 year ago

What projects is this feature for?

OpenChallenges

Description

As a prospective organizer, I want to use R to query data from OpenChallenges so that I can generate custom insights.

Anything else?

No response

Code of Conduct

tschaffter commented 1 year ago

A fix has been implemented by one of the developer of OpenAPI Generator. Waiting for the next release of the generator would make it easier than modifying the setup to use the snapshot version.

tschaffter commented 1 year ago

Installing the R dependencies

I download the snapshot of OpenAPI Generator v7, adapted the CLI arguments and then generate successfully the OC API client for R.

Now I'm looking at installing and tracking the versions of the dependencies.

$ install.packages("renv")
$ renv::init()
...

- Installing waldo ...                          OK [built from source and cached in 3.4s]
- Installing testthat ...                       OK [built from source and cached in 34s]

The following package(s) were not installed successfully:

- [openapi]: package 'openapi' is not available

You may need to manually download and install these packages.

NOTE: Dependency discovery took 16 seconds during snapshot.
Consider using .renvignore to ignore files, or switching to explicit snapshots.
See `?renv::dependencies` for more information.

The following package(s) will be updated in the lockfile:

# CRAN -----------------------------------------------------------------------
- askpass       [* -> 1.1]
- base64enc     [* -> 0.1-3]
- brio          [* -> 1.1.3]
- bslib         [* -> 0.5.0]
- cachem        [* -> 1.0.8]
- callr         [* -> 3.7.3]
- cli           [* -> 3.6.1]
- crayon        [* -> 1.5.2]
- curl          [* -> 5.0.1]
- desc          [* -> 1.4.2]
- diffobj       [* -> 0.3.5]
- digest        [* -> 0.6.33]
- ellipsis      [* -> 0.3.2]
- evaluate      [* -> 0.21]
- fansi         [* -> 1.0.4]
- fastmap       [* -> 1.1.1]
- fontawesome   [* -> 0.5.1]
- fs            [* -> 1.6.3]
- glue          [* -> 1.6.2]
- highr         [* -> 0.10]
- htmltools     [* -> 0.5.5]
- httr          [* -> 1.4.6]
- jquerylib     [* -> 0.1.4]
- jsonlite      [* -> 1.8.7]
- knitr         [* -> 1.43]
- lifecycle     [* -> 1.0.3]
- magrittr      [* -> 2.0.3]
- memoise       [* -> 2.0.1]
- mime          [* -> 0.12]
- openssl       [* -> 2.1.0]
- pillar        [* -> 1.9.0]
- pkgconfig     [* -> 2.0.3]
- pkgload       [* -> 1.3.2.1]
- praise        [* -> 1.0.0]
- processx      [* -> 3.8.2]
- ps            [* -> 1.7.5]
- R6            [* -> 2.5.1]
- rappdirs      [* -> 0.3.3]
- rematch2      [* -> 2.1.2]
- renv          [* -> 1.0.0]
- rlang         [* -> 1.1.1]
- rmarkdown     [* -> 2.23]
- rprojroot     [* -> 2.0.3]
- sass          [* -> 0.4.7]
- stringi       [* -> 1.7.12]
- stringr       [* -> 1.5.0]
- sys           [* -> 3.4.2]
- testthat      [* -> 3.1.10]
- tibble        [* -> 3.2.1]
- tinytex       [* -> 0.45]
- utf8          [* -> 1.2.3]
- vctrs         [* -> 0.6.3]
- waldo         [* -> 0.5.1]
- withr         [* -> 2.5.0]
- xfun          [* -> 0.39]
- yaml          [* -> 2.3.7]

The version of R recorded in the lockfile will be updated:
- R             [* -> 4.2.3]

- Lockfile written to '/workspaces/sage-monorepo/renv.lock'.
- renv activated -- please restart the R session.
Warning message:
The 'yaml' package is required to parse dependencies within R Markdown files
Consider installing it with `install.packages("yaml")`. 
tschaffter commented 1 year ago

Lint task is failing on CI workflow

within an appropriate start-up .Renviron file.

See `?renv::config` for more details. 
> lintr::lint_package()
Error in loadNamespace(x) : there is no package called ‘lintr’
Calls: loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted

 >  NX   ERROR: Something went wrong in run-commands - Command failed: R -e 'lintr::lint_package()'
tschaffter commented 1 year ago

Installing these system libraries are no longer required when using Ubuntu 22.04.

    "prepare-system": {
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          "sudo apt update && sudo apt install -y libxml2-dev libharfbuzz-dev libfribidi-dev libtiff5-dev"
        ],
        "cwd": "libs/openchallenges/api-client-r"
      }
    },