However, this version is huge!
Haha, yes indeed the size increased rather significantly in the current release. Thank you for your research into compression and size-reduction options. I'll look into utilizing some or all of your suggestions in the next release.
As you noticed, the qfconvert stuff accounts for a lot of the size increase. A big part of that is the transition to using the numpy library within qfconvert, which makes the conversion routine run 10x-100x faster compared to older versions. Which entails the inclusion of the whole numpy library in the packaged build.
Q: Is it absolutely necessary to include the
entire numpy library in your build? If nothing else, wouldn't it be possible to create and use a custom version of the numpy library that only contains the code qfconvert actually uses?
I do like the idea of releasing a "compact" version in parallel with the standard version, and if the size difference is significant enough, I will do just that. Of course for Lazy Newb Pack, including the prebuilt Python binaries would probably be a must-have, or else it would not be a simple "one click install" for many users.
I'll see what I can do
You have a point about how LNP users would not want install Python or figure out why it won't work if they don't already have it installed. This is a good reason to keep the Python binaries. Still... Maybe offer separate packages; one compiled and one python-dependent?
I'd love to see a GUI for Mac/Linux. Unfortunately AutoHotkey doesn't (yet) run on those platforms so it would entail a total rewrite of the GUI part of Quickfort. And as this GUI utilizes global hotkeys and a "mouse anchored tooltip" as the UI mechanism, this may require unique code for each platform (or a break from this UI paradigm).
It should be possible to make a version of your AHK (AutoHotkey) GUI scripts work for Mac/Linux with very little fuss or effort. Have you heard of
IronAHK? It's a multi-platform rewrite of AHK. Most of your code should work
without changes.
I was going to suggest that you release separate OS versions: one for Windows and one for Linux / Mac - leaving out qfconvert entirely from the Windows version. However, it seems you split up the old Quickfort 1.x AutoHotKey code, making it rely on qfconvert to function:
Quickfort's minimalist Windows-only "GUI" is a partial rewrite of the AutoHotKey script that was Quickfort 1.x. It has seen a number of significant improvements, such as blueprint previews and the ability to choose a worksheet from a multisheet XLS/XLSX file. It is now a "thin" GUI implementation, providing only the mousetip-based GUI and DF-keysending functionality, and relying on qfconvert for all blueprint processing and manipulation.
Perhaps, if it is as simple to convert to
IronAHK as I think, you might consider merging the qfconvert functionality back into the AHK code? That's one way to save disk space. (Python is notorious for huge binaries and numerous large file dependencies.) Also, wouldn't it be easier to update just IronAHK code, rather than updating stuff in both AutoHotKey and Python code - worrying about all the libraries, dependencies, etc? Might it make future updates less tedious?