SShortSingh.
Back to feed

Developer details weeks of fixes needed to ship a Python desktop app to real users

0
·1 views

A developer documented the real-world challenges of distributing a Python desktop app built with PySide6, MediaPipe, and ONNX to beta users on macOS and Windows. While PyInstaller successfully packaged the roughly 33,000-line codebase, getting it to run on other machines required weeks of troubleshooting Apple notarization, Windows antivirus flags, and browser download blocking. On macOS, common pitfalls included a broken certificate trust chain, signing scripts that missed Qt and Python framework binaries lacking standard extensions, and a notarization tool that returns exit code 0 even when Apple rejects the submission. The developer published detailed error messages and exact fixes in a single reference, noting that almost none of this information exists in one consolidated place. The account serves as a practical guide for Python developers attempting to ship signed, notarized desktop applications to non-technical end users.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

How to Build Variable-Duration Appointment Slot Scheduling in Laravel

A Laravel developer has outlined a gap-based approach to appointment scheduling that handles services of varying durations, such as 15-minute consultations and 60-minute procedures. Rather than generating fixed time slots, the method treats a doctor's availability as a continuous timeline and identifies open gaps between existing bookings. The algorithm retrieves all booked appointments within a working window, calculates the free intervals between them, and checks whether each gap is long enough to fit the requested service. Overlap detection logic ensures that only genuinely available start times are returned, with configurable increment intervals of 5, 10, or 15 minutes. The approach is implemented using Laravel's Eloquent queries and Carbon date handling to iterate through the schedule and build a list of valid slots.

0
ProgrammingDEV Community ·

AWS Community Builder Launches Free Event Management Platform Eventinary

A developer who received AWS credits through the AWS Community Builder program has launched Eventinary, a free event management platform aimed at technical communities. The platform supports the full event lifecycle, including registrations, speaker management, scheduling, digital invitations, and attendee tracking. Built on AWS cloud infrastructure with scalability and reliability in mind, it is designed to handle meetups, workshops, conferences, and hackathons. The creator chose to make it free for community groups, reasoning that organizers should not need to pay for yet another software subscription to run a technical event. The project was driven by a desire to convert the resources received from AWS into tangible value for the broader developer community.

0
ProgrammingDEV Community ·

AWS Community Builder Launches Free Event Management Platform Eventinary

A developer who received AWS credits through the AWS Community Builder program used them to build Eventinary, a free event management platform aimed at technical communities. The platform supports the full event lifecycle, including registrations, speaker management, scheduling, digital invitations, and attendee tracking. It is designed to serve meetups, workshops, conferences, and hackathons without charging organizers a subscription fee. Built on AWS cloud infrastructure with scalability and reliability in mind, the platform is intended as a way for the developer to give back to the community that supported him. The core idea is that resources received as a community builder are reinvested to help other community builders run their events more easily.

0
ProgrammingDEV Community ·

JavaScript Variables Explained: Differences Between let, const, and var

JavaScript offers three ways to declare variables: var, let, and const, each with distinct behaviors. The const keyword prevents reassignment of values, while let and var function similarly but with key differences in scope and redeclaration rules. Unlike let and const, var allows the same variable to be declared multiple times within the same scope. One notable drawback of var is hoisting, where variable declarations are automatically moved to the top of their scope and initialized as undefined before the code runs. Understanding these differences is essential for writing predictable and bug-free JavaScript code.

Developer details weeks of fixes needed to ship a Python desktop app to real users · ShortSingh