pyRevit icon indicating copy to clipboard operation
pyRevit copied to clipboard

Proposal to add pyRevit Cost Estimates Extension

Open SwanaWJ opened this issue 3 months ago • 4 comments

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

  1. Automatically populate unit cost parameters based on category

  2. Generate structured BOQs and export them directly to Excel

  3. Provide a grand total summary across all categories

  4. 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

SwanaWJ avatar Sep 25 '25 11:09 SwanaWJ

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.

tay0thman avatar Sep 25 '25 18:09 tay0thman

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 avatar Sep 25 '25 18:09 SwanaWJ

@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.

BA-tothman avatar Oct 16 '25 06:10 BA-tothman

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.

SwanaWJ avatar Oct 19 '25 09:10 SwanaWJ

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.

tay0thman avatar Dec 19 '25 08:12 tay0thman

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.

SwanaWJ avatar Dec 19 '25 09:12 SwanaWJ

Please edit the json file and generate a pull request, I'll review it and accept it as soon as possible,

tay0thman avatar Dec 19 '25 09:12 tay0thman

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 avatar Dec 19 '25 10:12 SwanaWJ

@SwanaWJ your extension is live on the latest build (today)

Image

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.

tay0thman avatar Dec 20 '25 10:12 tay0thman

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.

SwanaWJ avatar Dec 20 '25 13:12 SwanaWJ

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.

SwanaWJ avatar Dec 20 '25 13:12 SwanaWJ

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

jmcouffin avatar Dec 20 '25 13:12 jmcouffin

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.

SwanaWJ avatar Dec 20 '25 14:12 SwanaWJ