Proposal to add pyRevit Cost Estimates Extension
Hello pyRevit team,
I have developed a new extension called pyRevit Cost Estimates and would like to propose it for inclusion in the pyRevit ecosystem.
Repository: https://github.com/SwanaWJ/pyrevit-CostEstimates
Features
-
Automatically populate unit cost parameters based on category
-
Generate structured BOQs and export them directly to Excel
-
Provide a grand total summary across all categories
-
Update family cost data from a CSV-based pricing database
Demonstration (https://github.com/SwanaWJ/pyrevit-CostEstimates/blob/main/assets/demo.gif)
Why it’s useful This extension ensures that quantities extracted from a Revit model are exact, producing a Bill of Quantities that accurately reflects the design and reduces the risk of costly variations. It improves cost reliability by using recommended market price databases such as those from government procurement regulatory bodies or trusted suppliers, rather than relying on guesswork. This makes it suitable for use in project budgeting as well as tendering, providing both consultants and contractors with realistic and reliable estimates.
My request Would you consider including this extension in the official pyRevit extensions folder or listing it as a recommended community extension?
Thank you for your time and for building pyRevit, it has been a great resource in my own work.
Best regards, Wachama J. Swana
Cool Stuff, @SwanaWJ
I'll test these out and I can generate PR request to include it in the extensions list, just to make sure you are okay having the entire world getting access to your tools.
Thank you for the feedback. Yes, I’m okay with the extension being included in the pyRevit extensions list so that the wider community can access it. I’ll be glad to support improvements and updates as needed.
@SwanaWJ I am reviewing your code, hopefully next week, I will show you how to generate a pull request so your extension will be included in the list of extensions.
stay tuned.
Thanks @BA-tothman, I appreciate your time reviewing the code. In the meantime, I’ll make sure the repository follows the .extension bundle structure and includes: • a short demo Revit model and sample CSV, • compatibility notes for Revit 2023–2025, • clear installation steps (pyrevit extensions add pyCostEstimate). I’ll stay tuned for your guidance on generating the pull request.
Hello @SwanaWJ , Sorry for the late reply; I got caught up finishing the 2025 work and things got pretty hectic, but you’ve been on my mind.
I checked out your extension and have some recommendations.
1- [important] Remove the Folder called "Tools.extension", pyRevit's Structure is pyrevit-CostEstimates.extension/PyCostEstimates.tab, otherwise your ribbon tab won't be visible.
2- You can Generate / propose an edit to the file " extensions/extensions.json", you can find it by clicking here
3- You can Add the new extension by adding the information below, feel free to edit the content, but I did my best to get your info is correct. <<<Make sure to add a comma before >>> { "builtin": "False", "type": "extension", "rocket_mode_compatible": "False", "name": "CostEstimates", "description": "Automate quantity takeoffs and cost estimation inside Autodesk Revit with pyRevit.", "author": "Wachama J. Swana", "author_profile": "https://www.linkedin.com/in/wachama-j-swana-a937081b4/", "url": "https://github.com/SwanaWJ/pyrevit-CostEstimates.git", "website": "", "image": "", "dependencies": [] }
Once you’re finished, commit the changes and create a pull request, and we can merge it into the pyRevit source code so your extension will be included in all future builds. Let me know if you have any questions, and again, sorry for the delay.
Hi @tay0thman,
Thank you very much for reviewing the extension and for the clear guidance.
I’ve now updated the repository as advised:
Removed the tools.extension folder
Moved PyCostEstimates.tab to the root of the .extension
Renamed the repository to pyrevit-CostEstimates.extension
I’ve also reviewed the extension entry details you shared, and the information looks correct to me. I’m happy to proceed with those details for the extensions.json update.
Please let me know if everything looks good on your side now, and I’m ready to proceed with the pull request when appropriate.
Thanks again for your time and support.
Please edit the json file and generate a pull request, I'll review it and accept it as soon as possible,
Hi @tayOthman,
Thank you for the guidance. I’ve now updated the extensions.json file as discussed and opened the pull request here: https://github.com/pyrevitlabs/pyRevit/pull/2972 Please let me know if anything further is needed from my side.
Thanks again for your time and support.
@SwanaWJ your extension is live on the latest build (today)
once it is installed, your extension will show up in the ribbon. thank you for your contributions and looking forward to see you more active in this community.
Hi @tay0thman thanks for confirming the merge.
I see the latest published extension index is still November 4 build, and my PR was merged on today December 20.
I understand the extension will become visible after the next index rebuild. Please let me know if anything further is required from my side.
Hi @tay0thman thanks for confirming the merge.
I see the latest published extension index is still November 4 build, and my PR was merged on today December 20.
I understand the extension will become visible after the next index rebuild. Please let me know if anything further is required from my side.
Hi @tay0thman thanks for confirming the merge.
I see the latest published extension index is still November 4 build, and my PR was merged on today December 20.
I understand the extension will become visible after the next index rebuild. Please let me know if anything further is required from my side.
There are two types of releases available: the WIP (work in progress) ones and the official releases. The wip ones are built when a PR is merge into the develop branch. Once I see that the amount of fixes/new features is decent, I make a PR against the main branch and this triggers the CI pipeline to build an official release.
To answer your question, you can download the latest wip that contains the changes for this PR under the actions tab or going through https://pyrevitlabs.io
Hi @jmcouffin
Thank you very much for the clear explanation and guidance. I really appreciate it.
I now understand the distinction between the WIP builds from develop and the official releases from the main, and I have been able to access the WIP build awaiting testing.
I will continue refining and improving the PyCostEstimates extension while it's in the WIP phase and will keep iterating based on testing and feedback as things progress toward an official release.
Thanks again for your time and for maintaining such a great project.