I am currently trying to deploy a custom pyRevit extension for my team, but I’m encountering some challenges.
Issue 1: Conflicts with Other Plugins Solved
Initially, we had problems launching pyRevit due to conflicts with other plugins. We resolved this by following tips from the forum, but we now face new issues.
Issue 2: Unable to Load Custom Extension from Server
After solving the launch issue, we’re unable to load our custom extension from a server folder. The settings don’t seem to persist, and we can’t save the extension’s directory path properly.
Issue 3: Settings Not Being Saved
I tried creating a custom pyRevit_config.ini file, manually replacing the username in the directory path for each machine. However, this solution didn’t work either.
My Plan
I’m trying to understand how to scale pyRevit deployment across a small team, with the goal of scaling across the entire company
Any advice or guidance on how to proceed with this deployment, especially with loading custom extensions from a server folder and keeping settings persistent across machines, would be greatly appreciated.
I would recommend looking into pyRevit CLI for deploying to a team.
Install pyRevit CLI for everyone, and use CLI commands for cloning pyRevit, add extensions, attach pyRevit to Revit etc. Or you can run the main pyRevit installer for everyone and use CLI commands just to fix the rest of the setup.
You can write a *.ps1 og *.bat script to run the install and change the config the same for everyone, if the security in your org. allows it.
This way you don’t have to replace the pyRevit_config.ini file manually, you can add changes to it.
I.e. adding the extension form your server I think should be: pyrevit extensions paths add "C:\pyRevit\MyExtensions"
(Replace the path with the path to the folder containing your .extension folder, not the actual .extension folder.)
Not sure where you are doing this, but if you mean the path in the command line during install you can use “%APPDATA%\pyrevit\pyRevit_config.ini” which is “C:\Users\{username}\AppData\Roaming\pyrevit\pyRevit_config.ini”
Do not load the extension from network drive. You can pull the latest updates down from Github to the local drive during Revit startup, and this also allows you to still use if you are not connected to the network, or if server goes down.
Set up 1 computer with the settings you want, and then distribute that pyRevit_config.ini file with the install files and copy to the correct path instead of using command line to configure the settings each time.
Or you can use the network share as the repo source if you don’t want to use a shared token to authenticate in Github. You can still pull changes from network drive when available, but network access if not required to use the extension. Just use the folder path instead of a URL for the repo source.
Fully agree that hosting the extension in git is the better solution! Either from Github or from network drive, should have thought about this solution in my replay above!
Thank you for the valuable input! Using the pyRevit CLI during the installation process is something I’ll definitely consider. It seems like a cleaner and more scalable approach compared to manually handling the pyRevit_config.ini file. I appreciate the suggestion for using a .ps1 or .bat script to streamline the setup across machines—that could be a good solution for our team’s deployment. I’ll look into implementing these CLI commands to manage extensions and configurations more efficiently.
is not located while i am doing the install for each machine.
the only solution i can do now is to copy it manually so then it can load each user setting. till i learn how to do it with other smart solution like command or any other methods.