{"id":25806024,"url":"https://github.com/alipsa/ride","last_synced_at":"2025-10-14T11:05:52.987Z","repository":{"id":42693294,"uuid":"161213003","full_name":"Alipsa/ride","owner":"Alipsa","description":"A nice R development and analytics environment, for the Renjin JVM implementation of R","archived":false,"fork":false,"pushed_at":"2024-04-02T08:30:15.000Z","size":17863,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T08:51:13.892Z","etag":null,"topics":["analytics","data-analysis","data-science","data-visualization","integrated-development-environment","r","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alipsa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["Alipsa"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-12-10T17:39:01.000Z","updated_at":"2025-03-30T01:13:41.000Z","dependencies_parsed_at":"2024-04-02T09:49:25.864Z","dependency_job_id":null,"html_url":"https://github.com/Alipsa/ride","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/Alipsa/ride","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alipsa%2Fride","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alipsa%2Fride/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alipsa%2Fride/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alipsa%2Fride/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alipsa","download_url":"https://codeload.github.com/Alipsa/ride/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alipsa%2Fride/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019002,"owners_count":26086510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","data-analysis","data-science","data-visualization","integrated-development-environment","r","sql"],"created_at":"2025-02-27T19:52:43.616Z","updated_at":"2025-10-14T11:05:52.968Z","avatar_url":"https://github.com/Alipsa.png","language":"Java","funding_links":["https://github.com/sponsors/Alipsa"],"categories":[],"sub_categories":[],"readme":"# Ride\nAn integrated development environment for Renjin R\n\nThe purpose of this gui is to provide a nice R development environment, similar to R Studio, for the Renjin \nJVM implementation of R (www.renjin.org). It runs R code in the renjin ScriptEngine thus allowing you to run and verify \nR scripts before creating an embedded R application in java code, or to just use it as a data analysis tool\nmuch like you would use R Studio. \n\nIt was created to have a familiar (similar to RStudio) interface to develop R scripts that\nwill later run in embedded mode on application servers such as Spring Boot or Play Framework.\nI use it daily at work and have been doing so for almost two years now. It started as a tool to develop and test R code \nthat I created using RStudio but needed a manageable intermediary to make sure my code worked in Renjin before integrating \nit with the java application servers I use at work - due to fact that some packages commonly used in GNU R does not yet work \nin Renjin. Later, it evolved to the point where I now use it as my primary data analysis tool.\n\nIt is fully functional i.e. it is possible to create, open, save and execute R scripts, \nrun selected text, ctrl + enter execution of current line or selected text, view packages loaded, \nsee variables created, syntax highlighting for R, XML, SQL, Java, Groovy, Javascript etc. \nIt also has some Renjin specific features such as support for the different package loaders, \nwizards to create Renjin projects and Renjin extensions, maven support making a very\nconvenient environment for serious R development targeted for the JVM using Renjin.\n\n![Screenshot](https://raw.githubusercontent.com/Alipsa/ride/master/docs/Screenshot.png \"Screenshot\")\n\nAs Renjins support for graphics such as plotting is still somewhat limited (It just pops up an AWT window with the plot).\nAn alternative way is to use the inout component that has been injected into the session to display files e.g.\n\n```r\nlibrary(grDevices)\nlibrary(graphics)\n\n# plot a svg image to a file\nfileName \u003c- file.path(tempdir(), \"svgplot.svg\")\nsvg(fileName)\nplot(sin, -pi, 2*pi)\n\ndev.off()\n\n# rideutils provides ways to bridge over from R to Java to be able to interact with the IDE\nlibrary(\"se.alipsa:rideutils\")\n# convert the image to a a javafx Image and display it in ride\ndisplay(fileName, \"svgplot\")\n```\n\n![Plot](https://raw.githubusercontent.com/Alipsa/ride/master/docs/Plot.png \"Plot\")\n\nAn alternative way when you just want to view the plot in Ride is to use viewPlot e.g:\n```r\nlibrary(\"se.alipsa:rideutils\")\nviewPlot({\n  plot(mtcars$mpg)\n  abline(h=mean(mtcars$mpg))\n})\n```\n\n#### Package and class loading\nThe AetherPackageLoader is used per default so libraries will be fetched automatically from \nbedatadriven or maven central repos. This can be modified in the Global Options menu.\n\nIf you change to the ClasspathPackageLoader it makes sense to add dependencies to the maven pom.xml\nwhen running Ride. This will give you similar functionality as the AetherPackageLoader but restricted to \nthe versions you have defined in your pom. The change is persistent so just add any required dependency and start Ride.\n\nFor a smooth development experience you should also add the build dir to the classpath (which is how maven \nnormally works).  This combination (ClasspathPackageLoader + add pom dependencies + add build dir) is a \nsetup that I think is very useful, maybe even better than using AetherPackageLoader in some cases e.g. for\npackage development and when you aim to embed your R code in an app server as it enables you to make sure \nthat dependencies are correct prior to integration testing in embedded mode on e.g. an app server. \nIn the Packages tab you can see a list of packages loaded for the session (in case you missed a library \ncall in the script but loaded it from another script - the session is shared).\n\n#### Creating R reports in Munin\nRide also supports developing, downloading and publishing reports for the [Munin Reports server](https://github.com/Alipsa/munin). \nBoth formats (R based reports producing HTML i.e. mr files, and markdown with R enhancements (similar to rmd) i.e. mdr files) \nare supported natively in Ride. When you edit an mr or mdr file a view button will apear in the button bar allowing \nyou to preview the report. Parameterized reports are also supported. \n\n\n### Installing and Running ride\nGo to the releases tab and expand the assets section at the bottom of the release. \nUnzip the zip file ride-\u003cversion\u003e-dist.zip e.g. ride-1.2.6-GA-dist.zip to a directory of choice.\n\nThere are icons for windows and Linux in the base folder of the unpacked zip that can be used to create a desktop shortcut/launcher.\n\nUse ride.cmd or ride.sh to start ride. There is also an (experimental) executable for Windows aimed to\nprovide a slightly more \"integrated\" experience. To run it make sure you have JAVA_HOME and path set to \ns java 8 version that includes javafx. I have seen some issues running with OpenJDK which seems to be\nrelated to not setting registry values in the same way as the Oracle JDK. The workaround to this would be to \nbundle the entire JDK which is not something I want to do, so if the exe is not working for you, use the cmd script.  \n\nIf you want to run the bash script from windows git bash (msys), create a shortcut with the comment\n`D:\\whatever\\Git\\bin\\bash.exe ./ride.sh`\nWhere D:\\whatever is the path to your git for windows installation\nAlso set the working dir in the shortcut to wherever you installed ride.\n\nIf you want to override or customize startup options you can create a file called env.sh (or env.cmd) in the base directory\nwhere you installed (unzipped) Ride. An example would be to set the right java environment variables so the launcher works\nproperly, e.g.\n```shell script\n#!/usr/bin/env bash\n\n# Java is managed by SDK, load it\nsource ~/.sdkman/bin/sdkman-init.sh\n# We want to run with java 17 with embedded javafx so that scaling works\nsdk use java 17.0.10.fx-librca\n# Scale the application 200% as we have a Hi-DPI screen, see https://wiki.archlinux.org/index.php/HiDPI#Java_applications\nJAVA_OPTS=\"-Dglass.gtk.uiScale=200%\"\n```\nThe last setting (JAVA_OPTS) is a special variable to add system properties (-D values) to java starting up.\n\n### A SQL script screenshot\nShowing the result of a select query in the viewer tab and the connection view that is shown when you right click \na connection and choose \"view connection\".\n\n![SQL Screenshot](https://raw.githubusercontent.com/Alipsa/ride/master/docs/SQLScreenshot.png \"SQL Screenshot\")\n\n# Issues and Feature requests\nFor any issues or feature request etc. on Ride please use the [github issue feature](https://github.com/Alipsa/ride/issues)\n\nFor questions related to Renjin please refer to the [Google discussion group](https://groups.google.com/g/renjin-dev).\nIf you think you found a bug in Renjin please report that to the [Github issue pages](https://github.com/bedatadriven/renjin/issues).\n\n# Building and compiling\n\nTo build Ride, simply do `mvn clean install`\n\nThere are some wrapper scripts that you might find useful.  \nTo create a runnable jar and run it do \n```\n./devrun.sh\n``` \nor the equivalent `devrun.cmd` for windows.\n\nTo just run it without rebuilding use `run.sh` or `run.cmd` depending on environment.\n\nFor released versions there is another shell script (ride.sh or ride.cmd) that should be used to start Ride.\n\n## 3:rd party software used\nNote: only direct dependencies are listed below.\n\n### org.renjin:renjin-script-engine, tools, and renjin-aether-package-loader\nThe components that actually does something ;) i.e. executes R code.\n\nCopyright © 2010-2019 BeDataDriven Groep B.V. and contributors under GNU General Public License v2.0\n\n### org.fxmisc.richtext:richtextfx\nUsed to color R code.\n\nCopyright (c) 2013-2017, Tomas Mikula and contributors under BSD 2-Clause \"Simplified\" License\n\n### org.jfree:fxgraphics2d\nA bridge between awt and javafx so we can use the awt graphics devices in renjin\nCopyright (c) 2014-2018, Object Refinery Limited. Licensed under a BSD-style license\n\n### org.girod:fxsvgimage\nIndirect dependency from rideutils. Allows conversion of svg files to javafx Image nodes.\nSince this is not available on maven central (yet) a snapshot version is built and used based on the latest\ncode at the time of the Ride release. Licensed under a MIT license. \n\n### org.apache:log4j\nThe logging framework used.\nApache 2.0 license\n\n### com.fasterxml.jackson.core:jackson-core and jackson-databind\nUsed for JSON handling in various places.\nCopyright Fasterxml under Apache 2.0 license.\n\n### org.apache.tika:tika-core\nUsed to detect file types as Files.probeContentType is inconsistent over different OS's;\nApache 2.0 license.\n\n### org.apache.tika:tika-parsers\nUsed to detect file encoding.\nApache 2.0 license.\n\n### org.apache.commons-lang3\nUsed for time and string formatting\nApache 2.0 license.\n\n### org.apache.commons-io\nUsed for reading files content\nApache 2.0 license.\n\n### codehaus:guessencoding\nUsed to detect file encoding (Charset). Copyright 2002-2007 Guillaume Laforge under Apache 2.0 License\n\n###  com.github.jsqlparser:jsqlparser\nUsed to validate and analyse SQL code. Apache Software License, Version 2.0.\n\n### org.apache.maven.shared:maven-invoker,maven-shared-utils\nUsed to run maven (run pom.xml files). Apache Software License, Version 2.0.\n\n### org.eclipse.jgit:org.eclipse.jgit\nUsed to provide git support. Eclipse Distribution License v1.0\n\n### org.jdom:jdom2\nUsed to read and write xml files. [Apache style license](https://github.com/hunterhacker/jdom/blob/master/LICENSE.txt)\n\n### Various jdbc drivers\nThese are included for convenience only. Licenced under various open source licenses. \nThere is no direct dependency on any jdbc driver in Ride.\n\n### org.codehaus.groovy:groovy-all\nMakes it possible to run Groovy scripts. Apache Software License, Version 2.0.\n\n### io.github.classgraph:classgraph\nMakes it possible to scan for available libraries (Renjin extensions) i.e. libraries on the classpath which\nare not necessarily loaded with library(\"x.y.z:abc\"). MIT License\n\n# Contributing\nIf you are interested in helping out, reporting issues, creating tests or implementing new features\nare all warmly welcome. See also [todo](todo.md) for roadmap.\n\n# Known Issues\nThere is some problem with using the AetherPackageLoader when developing packages and running tests.\nThe issue is that renjin will report \"failed to find package\" even though you have run `mvn package` or even \n`mvn install`. The same problem exists for the Renjin CLI as well so this is not due to Ride.\nWhat DOES work is to use the classpathPackageLoader with the option for \"include build dirs in classpath\" enabled.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falipsa%2Fride","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falipsa%2Fride","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falipsa%2Fride/lists"}