Yak Closed Beta

Hey @yak_testers!

It’s finally time to get some feedback on this project that I have been incubating (between distractions) for the last two years… For starters I’ve invited a few developers/users who I feel could really get their teeth into this.

I’ve pushed some preliminary documentation to http://developer.rhino3d.com/wip/guides/yak. Please have a read and a play and let me know your thoughts! I’m here to answer any questions if anything doesn’t make sense. :slight_smile:

Some things you can try…

Yak 0.2 is focused on Grasshopper plug-in packages and the “package restore” functionality in Grasshopper. The next release will focus more on packaging Rhino (.rhp) plug-ins – it works but it needs some attention.

One last note… Yak is designed to be cross-platform, but right now only the hooks into Rhino WIP for Windows are implemented.

Thank you,


1 Like

For those who were confused like me - the Yak CLI tool is included in the latest Rhino WIP and can be found here: C:\Program Files\Rhino WIP\System :slight_smile:


Yak CLI isn’t reading any of the info from my plug-in - though it implements a GH_AssemblyInfo class. tells me Something went wrong, couldn't get info from .gha file

the GHA is attached - should I have set something up differently? MetaHopper.gha (257.5 KB)

@andheum Thanks for the first bug report! I was able to reproduce this. I’ll take a closer look…

@andheum Please replace Yak.exe and Yak.dll with these files and try again… Yak-0.2.1-fix.zip (26.5 KB)

I pushed a package called imaging-library (version 1.0.0).

I also successfully managed to get it to download and install by removing my local build and opening the attached file.

gditest.gh (29.4 KB)

Does it work for everyone else too?


works over here!

Looks like it does:

2017-08-09 10_56_10-Grasshopper - No document…

The “Draw Image” component throws an error though:

2017-08-09 10_59_08-Rhinoceros WIP

Edit: On a sidenote, does Rhino 6 not have an equivalent command to GrasshopperUnloadPlugin?

Not that I’ve even fiddled much with the new features for compiling GHPython components to plugins, but, will/does Yak also support these? This is all quite exciting news Will :clap:

The overall aim is for Yak to support installation of all of those things. One step at a time :slight_smile:

1 Like

Oo, generic errors, my favourite kind of exception.

Did you change the file path to a valid folder on your machine?

_GrasshopperUnloadPlugin was removed because it was causing a lot of nasty side-effects. There a new command (hidden for now) called _GrasshopperReloadAssemblies. It only reloads those assemblies that were COFF loaded and leaves the rest of GH intact. You cannot have any files open though when running it.

1 Like

I don’t think I did. I only just installed Rhino and Rhino 6 WIP on my new home system where I tested this, so haven’t fiddled around with it much yet. Can you elaborate?

One of the inputs of the Draw Image component is a filepath which tells the component where to save the image to. At the moment I perform no checking at all to see if the folder even exists or if there’s perhaps already a file there that has been locked by some other process.

Ah yes right, I totally missed that. Just tried replacing the path with a PNG on my system and all is good.

Thanks, I’ll get it tuned up for 1.0.1 :slight_smile:

1 Like

Thanks for all the testing so far! :slight_smile:

Here’s a (slightly less rushed) updated Yak which fixes the issue that @andheum ran into… yak-0.2.1.zip (736.6 KB)

This will ship with next week’s Rhino WIP. For now drop it into C:\Program Files\Rhino WIP\System\ to replace the current version.

So now that several people have installed my image-library (1.0.0), what happens when I push a newer version to the server?

Nothing, but they can upgrade by running "C:\Program Files\Rhino WIP\System\Yak.exe" install image-library. (There’s no explicit “upgrade” command, yet.)

In the near future, they may get a notification that an update is available…

Man, now I want a github integration so I can get automatic package updates when I push to a branch😀