windmill-labs / windmill

Open-source developer platform to power your entire infra and turn scripts into webhooks, workflows and UIs. Fastest workflow engine (13x vs Airflow). Open-source alternative to Retool and Temporal.
https://windmill.dev
Other
9.95k stars 469 forks source link

feature: Support for R #3695

Open abfleishman opened 5 months ago

abfleishman commented 5 months ago

Is there any chance that you will add support for the R programming language? I am a ecologist and fluent in R (common in my field) and would love to have windmill run my R scripts with UI inputs.

rubenfiszel commented 5 months ago

We are working on this and are expecting to have it in the next few weeks @HugoCasa

abfleishman commented 5 months ago

Will it be available at the free tier of just the enterprise tier?

rubenfiszel commented 5 months ago

likely free tier, it doesn't seem like a very enterprisey language

abfleishman commented 5 months ago

lol. so true! Well I am excited to try it out!

D3SL commented 4 months ago

How will R support be implemented? rpy2 allows for running arbitrary R code directly in python with two-way communication and a persistent R session, opencpu acts like a webserver and can call R from Java, and the RScript CLI command can take the text of a block and run it naively as a raw R script. The last one is the most straightforward, but there's a pretty stiff performance penalty to running library and sourcing calls every block.

You can speed up serialization a ton using the qs package, but then you run into the issue of installing packages on linux. Compiling from source takes hours unless you use the cran2deb4ubuntu repo or Posit's community package manager.

likely free tier, it doesn't seem like a very enterprisey language

@rubenfiszel You would be surprised. The reputation's mostly myth these days. Data.table and Collapse are competitive with Polars and DuckDB in speed, even with huge amounts of data.

paluigi commented 3 months ago

R support would be a great addition. In academia R is widely used for statistics and data processing, orchestration with Windmill would be fantastic!