heavily-work-in-progress
Rye interpreter comes as a statically compiled binary, so you in general need a single executable file on your system and Rye runs.
Rye runs on Linux, MacOS and Windows and it’s been tested on Android so far.
Main Rye interpreter already comes with multiple libraries included. We will make functions so you can explore the modules in the binary at hand when in Rye console.
Before you had to define which all modules you wanted in your build of Rye, now a lot of them are included by default and you can use build flags to exclude them. A little more rare ones, or problematic ones, or problem/OS specific ones still need to be included. This will systemize yet, as we use it all more and see how it works in real world.
Build a project-specific binary with just the modules you need. This keeps binaries smaller and project dependencies explicit.
Embed your Rye scripts into a single standalone executable. Distribute your whole program as one file - no script files needed.
In case of big libraries, like a GUI framework, Rye is extended externally. Examples of this are Fyne, Gio and Ebitengine. You basically don’t include the huge library into Rye, but you make a custom binary that has full Rye with batteries included into your BIG library extension. It was an experiment but it functions quite OK for now. Also separates concerns and projects with very different goals and dependencies.
Because of this we have Rye-Fyne, Rye-Gio and Rye-Ebitengine as separate projects and repositories. With very little Go code these projects offer all the console behavior of normal Rye.
we will document how you can make your own extension or embed Rye into your own Go program
You can read all about how you can invoke Rye, what flags and commands you can use, etc on the Rye binary cookbook page.
to-be-written