Python version update?

Hi team,

Looks like the current python version applied in LBT is 3.7.9

Our IT team have identified that Python 3.7 has reached end of life security support on 27th June 2023. As such, they are enforcing the removal of all Python 3.7 installations, along with any previous versions. Is your plan to update Ladybug tools to a more recent version of Python and if so by when and which one? This information would help us justify nominating Ladybug tools as an temporary exclusion from the imminent removal of Python 3.7 planned by our IT team.

Best,
Alex.

5 Likes

Hi @ale.bog ,

Sorry for the late response here. That’s an interesting take from your IT dept. given that GHPython uses IronPython 2.7 and that reached the end of its life a few years ago. So I doubt your IT is uninstalling all versions of Rhino in the office (or Revit for that matter) because they use a version of Python that expired back in 2020.

In any event, you are correct that the current version of Python used by LBT is 3.7.9.

We have been in the process of updating everything to Python 3.10 and, as of yesterday, I think we have finally gotten all of the known compatibility issues with the LBT libraries and Python 3.10 addressed. There are a few more tests that we should run and some updates that we have implemented but we still need to roll out through the rest of the ecosystem. If all goes according to plan, you can expect the next stable release of Ladybug Tools (LBT 1.7) to use Python 3.10. And this stable release should be happening sometime before the end of September.

4 Likes

Thanks @chris, and everyone involved!
Greatly appreciate the response.

Even though I agree with you, I have no power over our IT. To prevent potential chockstones in the future (since Python is going out of date every 5 years), is there something that we can contribute to support the tool being up to date with the security requirements?

Best,
Alex

Hi @ale.bog ,

Our plan is to stay aligned with the VXF Reference Platform, which is what McNeel has told us they are planning to natively support with their new cPython scripting capabilities in Rhino 8. However, I’ll note that the older IronPython 2.7 that currently comes with Rhino 7 will likely be around for some time (possibly until Rhino 9 and maybe forever in Revit distributions). So, again, your IT is choosing to ignore an older an more vulnerable version of Python that’s used by all of the major AEC software by focusing on the version of Python 3 that we use in Ladybug Tools. And, judging from the direction things are moving in, you’ll likely be able to make this point long into the future.

But, as you can see in the link above, we’ll be updating to Python 3.11 next year and probably incrementing the Python version each year after that.

FYI, the VXF reference platform is also what Blender follows, which is Python-based. So we’re hopeful this helps keep the ladybug-blender project alive and growing. We have also had discussions with NREL about using the VXF standard for their work now that they have started doing a large fraction of their development in Python. So, even though the security argument your IT is making seems naïve to me, you can bet that we’ll be updating our version of Python for compatibility with what everyone else is working on.

4 Likes

FYI, there was a version of the Pollination single-click installer released earlier today that is using Python 3.10. So we will definitely get the LBT 1.7 release that I am putting together now to use Python 3.10.

5 Likes