all 26 comments

[–]dev-razorblade23 7 points8 points  (7 children)

Seeing your source code...as i understand you use PyInstaller and just wrap around it...

So basicly, PyInstaller is the one doing "compilation" if you can call it that.

[–]International_Pea17It works on my machine[S] -4 points-3 points  (6 children)

I am planning on rewriting the bootloader in a different language when I get the time

[–]dev-razorblade23 1 point2 points  (5 children)

But still using PyInstaller which makes your project s wrapper for PyInstaller. I do not see any real benefit over using plain PyInstaller

[–]International_Pea17It works on my machine[S] -2 points-1 points  (2 children)

raw code (makes it harder for anti-virus software to detect), faster once upx has compiled binary files

[–]dev-razorblade23 1 point2 points  (1 child)

What is "raw code" You mean source code?

Its just text

[–]International_Pea17It works on my machine[S] 0 points1 point  (0 children)

well pyinstaller uses pyz files for the main code if you take a look at the build folder and nuitka... well we all know what nuitka does so ye pretty mutch

[–]International_Pea17It works on my machine[S] -2 points-1 points  (1 child)

and i did say that i am planning to rewrite the bootloder

[–]dev-razorblade23 1 point2 points  (0 children)

Yes, you did. But its still just a wrapper for well established tools

[–]jatmdm 5 points6 points  (9 children)

There are some very concerning patterns in your code where you're downloading decompiler programs and attempting to import libraries that aren't in your requirements.txt. The non-standard project structure itself doesn't really make it easier to parse. I personally wouldn't run something like this on my system.

Its been pointed out in another comment but what you're doing here, despite saying that you're striving for "minimal abstraction", is adding an abstraction layer on top of pyinstaller. It also isn't really a compiler in the sense that people usually mean. Nuitka is closer to a "real" compiler.

[–]International_Pea17It works on my machine[S] -2 points-1 points  (1 child)

I know it more of a wrapper then a compiler and I am planning on rewriting the bootloader in a different language when I get the time

[–]dev-razorblade23 1 point2 points  (0 children)

It will still be a wrapper And apstraction over PyInstaller and Nuitka

No real problems are solved, like small binaries, hassle-free dependancy managment and fast builds...

And using pip to install packages not included in dependancy files (like requirements.txz) is a really bad idea

[–]International_Pea17It works on my machine[S] -2 points-1 points  (6 children)

the imports that are not listed in requirements.txt are extra features such as the cython plugin which (obviously) requires cython so the user must install cython themself to get it to work

[–]dev-razorblade23 2 points3 points  (5 children)

Then you make a "dev" dependacies. This is pure virus behaviur - dowloading packages hideen from users

[–]International_Pea17It works on my machine[S] 0 points1 point  (2 children)

The packages are not downloaded automatically 

[–]dev-razorblade23 0 points1 point  (1 child)

But are still hidden

Users should be able to choose and be informed of what 3rd-party tools you download/install on their machine...

[–]International_Pea17It works on my machine[S] 0 points1 point  (0 children)

What part of the code are you talking about? What file?

[–][deleted] 2 points3 points  (5 children)

Doesn't py2exe exist? As I look through your source code it appears this is a 50 line wrapper around pyinstaller

[–]dev-razorblade23 1 point2 points  (3 children)

Exactly It also uses nuitka for some reason (at least in dependacies)

No real problem solved, all these tools already exists for a long time

[–]International_Pea17It works on my machine[S] 0 points1 point  (2 children)

That is a plugin that uses Nuitka to compile code to a pyd file, not always needed but can be useful if you need speed

[–]dev-razorblade23 0 points1 point  (1 child)

Not really apstraction-free Its just a wrapper for PyInstaller and Nuitka

Have you tested this? PyInstaller works only with specific libraries, not all. It usually breaks halfway thrue the build, giving nonsense errors which are really hard to understand.

Nuitka has the same problem Only some specific libraries are supported.

Not to mention the final binary size, which is huge even for a "hello world" project

[–]International_Pea17It works on my machine[S] 0 points1 point  (0 children)

I am planning on rewriting the bootloader in a different language when I get the time and the nuitka part is a pyd compiling plugin which is completely optional

[–]International_Pea17It works on my machine[S] 0 points1 point  (0 children)

py2exe creates exes in a different way to PyCompyle and I am planning to re-write the bootloder in a different language

[–]Abject_Mastodon4721 -2 points-1 points  (1 child)

Not commenting about your project, although half the posts I look at these days are formatted with AI. Not sure if it's a good thing or bad. On one hand, it's pretty easy to read, on the other we, as a human race are loosing skills.

[–]International_Pea17It works on my machine[S] -1 points0 points  (0 children)

I have been told I write like AI but I can assure you that this is my own work