I am looking for an opportunity to create a script that allows users to check which packages are missing in pointed scripts (without opening them or opening them in the background) and then install them by a dynamo.
I am sharing a script which required Clockwork and Archilab. User have another (described) script to check required packages and install them. So after using this second script, user could simply run the first script without bothering oneself with remembering about packages.
A similar solution is in orkestra add-in.
You can see which packages are used in you’re workspace reference:
View > Show Workspace Reference
It is not possible to automatic download those packages (not what I aware of)
Yes and I would like to pull out this info without opening script.
Here is example how it works in Orkestra.
From my understanding, Orkestra is looking up those packages on their end using an algorithm that they developed themselves in-house.
Do I think it is possible to build something similar yourself? Yes.
Do I think it is as easy as asking on the forum and someone just giving the exact way Orkestra did it? Not really.
Dynamo package names are serialized in the .dyn in a unique way. If it were me and I were looking to build this, I would add a note in my file with the packages being used. And the note would contain a unique wildcard to search with.
In this example, I would read the .dyn as a text file and search the .dyn for the
$$$ wildcard, and bust that string up to get the packages.
or even simpler, I would just use orkestra since they already have it all figured out and it works well.
John’s method is awesome, although another really dumb way if your company uses specific versions is to connect a known node to an output which can be verified, then if it isnt present it wont generate a valid outcome.
I’ve done this with one of my bigger clients where the script has an underscore so sits at the top in my dynamo player and is named clearly (_CHECK PACKAGES).
If any packages are missing I use Python to copy their names to clipboard, notify the user with a pop up message and give them the option to be taken to a sharepoint wiki that shows how to install the few packages they use (via batch scripts - still waiting for IT to automate the deployment on login, grrr).