Hops - version 0.13.1 available

A new version of Hops (0.13.1) is now available via the package manager.

What’s new:

  • A new Hops function manager lets you add function sources (ie. local folders, localhost servers, and/or remote server locations) to easily access functions in the Hops component. Once a valid source has been added, a new menu item will be added to the Hops component. This menu item will enumerate valid functions - either grasshopper files or function endpoints. Right-clicking on a menu item will open the file while left-clicking will reference the file in the Hops component (ie. like setting the path). This feature is currently only available for Windows.

    In the video above, you can see three function sources:

    1. Local Folder points to Grasshopper files that are in a network directory.
    2. Localhost points to a local python server running in Visual Studio Code and listening on Note: that you need to update your version of the ghhops_server to version 1.5.1 to get this to work. Run the command pip install ghhops_server==1.5.1 to upgrade.
    3. Remote Server points to an App Server instance deployed on Heroku at https://compute-rhino3d-appserver.herokuapp.com/. To find out more about setting up your own App Server, visit this page.

    In the video you can see the local instance of the rhino.compute server running in the lower left-hand corner. In the upper left-hand corner shows the running python server. When the first Hops component is added to the canvas, I selected a local file (FindMaximum.gh) on my machine which then sends the request to the local rhino.compute server. When the second Hops component is added, I selected one of the python functions that was setup in my server code. Notice the requests hitting the server as I moved the slider to get a point on the curve. Lastly, I added a final component which created a series of curves around a selection of points. This definition is being computed on a remote server setup during the App Server installation.

    Ideally, this new feature will allow you to easily access Hops functions from a varienty of frequently used sources. We look forward to seeing how you use it!

What’s fixed:

  • A bug was fixed which prevented the local rhino.compute server from launching on machines which had the checkbox turned on for loading .gha assemblies using COFF byte arrays in the Grasshopper developer settings.

As usual, the change log for this build can be viewed here


Is this a bug? it looks like the output couldn’t successfully read path.
and I test another gh file, comparing to which I made as an user object,
the result from hops is strangely flattened…
And this is the last component I use inside my gh. file.


Does Hops support Data Trees all the way: input and output side? Does it run each branch in parallel by default?

@TuomasLehtonen Only item and list access are supported for inputs. This can be set using the At Most setting on any of the Context Get components (found under the Params category and Util group).

I hope this will be a top priority for future development since Grasshopper is all about Data Trees. If Hops is (and this is what I’m assuming but don’t know for sure) somehow mixing the branches or otherwise abusing Data Trees, then it really cripples Hops.

Hops in general supports tree inputs, but the only current system that can specify that it wants to work with tree inputs are the ghhops_server python server. We don’t currently have a “Get” component in grasshopper that specifies tree input.

1 Like

@Tanik Hops inputs work on item and list access. In this example, I unset (left blank) the At Most value on the Tree input parameter so that it knows to expect a list. However, I then graft the T input of the Tree Statistics component and return the paths using the Context Print component.

Now, when I reference this file in a Hops component and pass it in a series of points, it does appear to return a list of paths. Do you get the same?

Here’s the file if you want to test this on your end.
Tree_Test.gh (3.8 KB)

Thank you, Andy. The Context Print can read path now without value inside At Most.
But the above specific issue still couldn’t be solved on my own, which I use Stream Filter to make data tree Shift Path if the input data tree is more than one level; and in my current test case, the result from Hops seems to output the other way and print the “shift out of existence” error.
is there anything mistaken by Hops while operating with these components?
(I left At Most blank in this case, too)

Here I just attach a partial gh. script which contains the issue.
Pshift Filter Test.gh (19.1 KB)
PShift Filter.gh (8.7 KB)

@Tanik A new build for Hops (0.14.0) was just released which now supports Data Tree access on input parameters. I believe this should fix the issue you were seeing in your original posts. Let me know if you’re still running into trouble here after testing the latest version.