[R-pkg-devel] Best practices for CRAN package using Go
Dewey Dunnington
dewey @end|ng |rom dunn|ngton@c@
Thu Jul 6 20:22:26 CEST 2023
Hi all,
I'm wondering if there is any precedent for using Go in a CRAN R
package. Go is a particularly good language for writing database drivers
for the Arrow Database Connectivity framework [1][2] and - importantly -
there are several active developers writing these drivers from which R
users might be able to benefit (notably, the Snowflake driver, for which
there isn't currently a readily-available R connector).
I've wrapped two of these drivers for R that seem to build and install
on MacOS, Linux, and Windows [3][4]; however, I am not sure if the
pattern I used is suitable for CRAN or whether these packages will have
to be GitHub-only for the foreseeable future. The pattern is roughly the
same as for Rust (build a static library and link it), and the build
process has similar requirements (a `go` binary with which `go build`
can be run; the build process downloads dependencies as it goes just
like `cargo build`).
Thanks in advance for any insight!
Cheers,
-dewey
[1] https://arrow.apache.org/adbc
[2] https://cran.r-project.org/package=adbcdrivermanager
[3]
https://github.com/apache/arrow-adbc/tree/main/r/adbcflightsql#readme
[4]
https://github.com/apache/arrow-adbc/tree/main/r/adbcsnowflake#readme
More information about the R-package-devel
mailing list