Hi everyone ![]()
We’re discussing a change to how pyRevit handles legacy metadata embedded directly inside IronPython script files.
As part of the ongoing work around the new launcher and startup performance improvements, we’re evaluating removing support for inline legacy metadata parsing in scripts and moving fully toward “bundle.yaml”-based metadata.
Why?
The current metadata parsing process adds overhead during extension loading, especially with the new launcher/rocket-mode work. Initial investigations suggest that skipping this legacy parsing could noticeably improve startup/loading times.
That said, we know many extensions and internal tools still rely on this older format, so we want to make the transition as smooth as possible.
Current Direction
The current proposal is:
- Keep support for now
- Add a deprecation notice in an upcoming release
- Provide a helper migration script to automatically move legacy metadata into “bundle.yaml”
- Update documentation/examples accordingly
- Remove support in a future major release (likely pyRevit 7.x)
There’s also discussion around making metadata parsing optional/skippable for rocket mode as an intermediate step, instead of immediately removing support.
What This Means for Extension Authors
If your scripts still use inline metadata like:
title = “My Tool”
author = “Me”
doc = “Tool description”
you should start planning to migrate that information into “bundle.yaml” files.
We’d Love Feedback
Before moving forward, we’d really appreciate community input:
- Are you still relying heavily on inline metadata?
- Would an automated migration helper cover most cases for you?
- Would a “skip metadata parsing” performance flag be preferable before full removal?
- Have you measured any startup impact in large extensions?
The goal here is faster loading times without unnecessarily breaking existing workflows.
Thanks everyone ![]()