By using this website, you agree to our privacy policy [ Ok ]

My first Nuitka PR

by Abdur-Rahmaan Janhangeer



OSS log: Had a go at contributing to Nuitka after Kevin Rodriguez-Turcios’s suggestion. Nuitka converts Py programs into executables, all while applying some performance improvements etc.

Issue 3634 proposes to force launch Nuitka apps via the terminal when double clicking by enabling a flag. It’s useful for terminal apps.

I told Kevin i knew nothing about Nuitka and did not have a Mac but he proposed solving it for Linux as it was needed as well.

I spent the first few days reading the docs and submitted an unrelated broken link PR. Since it’s a bulky codebase i was confused on where to start.

Fortunately Kevin PRed the MacOS part and i copied the logic and adapted it for Linux.

I knew C and pointers but not libraries and even less Nuitka. I was checking Linux as !windows and !apple XD but discovered they had if defined(linux)

They have an Ai tool that auto-reviews the PRs, pretty picky but helpful and understands the context of the project and draws flow diagrams (Sourcery).

I think it took we one week with some 4 hours of actual coding.

Was interesting to get a good note by the owner.

I also discovered execvp which replaces the process with the new code, maintaining the PID. Without it i was launching another process and waiting it to complete. Also with execvp i can list only the terminal executable name and not provide the full path of the executable.

I think the best way to dive in is to implement something small and learn as you go instead of learning everything before writing a single line.

Some OpenSource motivation for the week!