Hops request

Hello
The idea:
1- Zip the GH file with password.
2- Hops component read the zipped file with password input.
And the only person who has the password can use the GH file.
Is that possible?

Hello @stevebaer
Is this possible?

Is the purpose to only allow certain people to use a definition?

The idea is zip and lock the base definition

Than use hops component with unzip option which need a password

Hops supports URLs to definitions. If you pass the following URL into the path for a hops component, it will work
https://github.com/mcneel/compute.rhino3d/raw/master/src/hops/definitions/SpikeyThing.gh

I’m sure there are other online systems for this, but you could give people read access to a repository of definitions while you have both read and write access.

This is much more secure than an easily cracked (or handed around) zip password

1 Like

Thanks , this look very useful but sometimes there is no connection which need local use offline and i am sure that the people who use the pc can’t crack the password (For example in case i need to use a workstation in another office or in the university ) even they save the running script they can’t use the locked one, with another feature -maybe- to hide the location.

Hops available in ghpythonlib.components but no option to add url or path?

1 Like

There is a public string property on the Hops component called RemoteDefinitionLocation which is what gets set when Path is set on the Hops components. I’m not sure if nodeincode provides access to component instances. @piac is this possible?

Path/URL input in Hops component will be useful

1 Like

I’m not adding this as inputs as a hops component can only work with a single path/url. If two paths were sent to a single Hops component via an input path, the component wouldn’t know how to build its inputs and outputs.

Creating a Hops component and setting the RemoteDefinitionLocation in code is possible. We just need to figure out a nice piece of code to write.

1 Like

Replacing it by input isn’t possible?
I hope at least we can add the “input url/path text” via python :slight_smile:

1 Like

It’s a functional library, but it could be possible to provide the instance. It’s not provided now. However, it would break the concept of no-state that is intrinsic of pure functions. There’s the risk that one call, from another definition, will mess the results of another definition.

I started working on that last weekend, along with other ideas, and will continue when I have time.

1 Like

Thanks Giulio. I don’t think we need to change nodeincode for this case. I’m pretty sure we could write a python script that does all of this. I could probably export a static helper function or two to do all of this from Hops.

3 Likes

This is now available as an option with Hops 0.6.0

@Dani_Abalde may also be interested in this feature

1 Like

Thank you

Hi Steve, your example is not working with v0.10.1
Please advise if i have misunderstood how to feed the path into hops


I’m actually hoping to use relative local paths to .gh files in the same directory to the calling definition, but i get the same error

Hi @dharman Can you try again (perhaps with the latest build of Hops). I just tried using https://github.com/mcneel/compute.rhino3d/raw/master/src/hops/definitions/SpikeyThing.gh as my path and everything worked as expected.


Can you confirm that your rhino.compute instance is working? If you go to File->Preferences->Solver, on the top right you should see the Hops Preferences. You should see a checkbox that says Hide Rhino.Compute Console Window. If that is unchecked, you should see a new console application appear in your taskbar (you may need to restart rhino/grasshopper for this to take affect). Do you see any errors or warnings in the console application?

Now that path/url input was added to Hops component, would it be possible to add it in Python API in ghpythonlib.components as well?