Hey everyone !
It’s been a minute since I last posted here. I definitely don’t get to speed as much time as I used to in the forum , but still working very hard to spread the love for Dynamo by making it’s awesomeness accessible to anyone through Orkestra .
This post is to announce a new release of the Data Shapes package with the long awaited full migration to CPython (no need to install IronPython for it to work anymore). And it actually is a bit more than just a migration : I really wanted to seize the opportunity to refactor the code base in a way that makes it more maintainable, and also bring some improvements that I’ve been wanting to bring for quite some time .
I also cleaned up the github repo , where bug reports and contributions are always welcome!
Important note : This new version will remain fully compatible with your old graphs. I made sure to not modify input/output signatures of nodes so that the update is as painless as possible. This version works with CPython - pythonnet 2.5 (and works around all it’s quirks
) AND pythonnet 3 , because for the sake of simplicity I wanted it to be compatible with as many versions as possible and not introduce some type of version specific logic.
Here’s a quick overview of what’s new in 2026.4.0:
No more Ironpython dependency , cpython3 pythonnet2.5 and 3 compatible
I guess this is the most important point here
. You can ship this new version of Data-Shapes with Revit 2023 + without the need for DynamoIronPython2.7 packages.
Better code base - better dispatched across nodes
In old Data-Shapes, most of the code used to live inside the MutlipleInputForm++ node, which made it very large, very messy, and hard to maintain / troubleshoot/ update.
In new Data Shapes, I did my best te regroup the code for each input within it’s constructor node. MultipleInputForm++ is still pretty big
, but much more readable and with a better organization.
Stretchable - butter UI and readability
The inputs and form sizing used to be very hardcoded / calculated. As a result , the forms were very static, which always bugged me a bit . In the new version, I leveragle the dynamic logics of Winforms (docks, flow tables and panels), and forms are now stretchable , with inputs that adapt seamlessly!

Better Conditional input
I was never happy with the conditional input. Whenever you had more than two options, it would pretty much become unreadable. Also the display of all options made the layout super mmessy, not a great experience for users. In this new version, instead of picking options from radiobuttons, there’s a dropdown => much cleaner and more readable. And instead of disabling / enabling options, we simply only display the selected option!

Re introduction of charts
Due to the fact that Microsoft discontinued System.Windows.Forms.DataVisualization in .net8 , the previous implementation of charts couldn’t be used anymore at all in Revit 2025+.
I didn’t want to introduce new dependencies to manage aside from the package either , for a more robust standalone functionality - so I reimplemented charts from scratch. They’re pretty basic but rather robust! They get setup exactly like before. SO any script that used Data Shapes charts will still be working.

Use of url for icons and images
The Image Input as well as the form logo used ot require a filepath or an image. You can still do that, but I’ve also added the ability to use a url. I used to use this trick in a separate python node. It made it much easier to share scripts with people who did not have access to the needed images / logos etc.
All other Data Shapes utility nodes also migrated
I know people come ot Data Shapes for the forms
, but there’s a bunch of other very useful nodes! They’ve all been updated too for CPython and Ppythonnet (2.5 and 3).
Alright mery Christmas everyone
!
