What I'm missing about HLAs

I’ll let Saleae provide an official response, but my guess is that the embedded python environment for HLAs is a restricted subset of a full python install, and the version is fixed at build time of the Logic 2 application itself to be compatible across all supported PC targets (Windows, MacOS, and Linux) and all users that use it and who are on various different Logic 2 releases as well.

I’m guessing they could upgrade from 3.8 to 3.10+ for newer python feature support, but not sure if/when they’d choose to do this. Each bump in version might cause compatibility issues with existing users, installations and/or marketplace HLA extensions. Again, I’ll defer to Saleae to manage their own upgrade roadmap :slightly_smiling_face:. However, you can promote the idea in a feature request: Logic 2 - Ideas and Feature Requests - Saleae

… and in this case, you and anyone else who agrees could upvote this existing one:

Likewise, I’m guessing they hand selected the pre-bundled libraries & packages and haven’t prioritized figuring out a portable way to allow user-driven upgrades and/or new package dependencies. Maybe they could at least support ‘local HLAs’ that could extend python vs. marketplace HLAs, but the release version of python will still be fixed at build time of the Logic 2 application as it’s embedded within it.

Note: It looks like that idea was also already submitted (upvote if interested):

The Automation API is not as tightly coupled, and thus allows you more freedom to extend w/ ‘pip’ and/or update the base language release version as desired. In theory, they could expose the full HLA interface through some type of gRPC APIs, but not easily done and could have negative performance impacts using a ‘lite’ network layer vs. optimized built-in bindings within the executable itself (and some people already complain about the extra overhead of electron vs. a native UI).

Meanwhile, I think you can technically ‘hack’ your own Logic 2 python installation to add more libraries/packages, but then your HLA will only work on installations ‘patched’ the same way, and wouldn’t work as a marketplace extension. Also, your still limited to the base version of python pre-installed in the Logic 2 application (unless you really hack it at a much lower level :wink:). Here’s a post discussing this concept, and a suggested work around:

As for better VScode integration & IntelliSense support, check out this:

Finally, was your desired HLA frame layering something like:

If so, then not sure on latest status of the planned feature to support such capability.

Hope these pointers help you enough for now, while maybe Saleae (@timreyes or @markgarrison?) can chime in with more specifics or any longer term Logic 2 roadmap plans.