DEV Community

Cover image for Are You a Python Developer or a Python Expert? 7 Tests I Failed Building 3 Desktop Apps

Are You a Python Developer or a Python Expert? 7 Tests I Failed Building 3 Desktop Apps

Akhouri Anmol Kumar on October 28, 2026

Description: Python security, screen capture, spring physics, HiDPI and PyInstaller .exe gotchas. 7 tests from shipping 3 no-telemetry Python apps ...
Collapse
 
francistrdev profile image
FrancisTRᴅᴇᴠ • • Edited

Every time I go to your post, I see the longest comment thread in history..every time 😂

Good post though. @xulingfeng @effessdev @technogamerz @akhourianmolkumar use a discord or something lol

Collapse
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

Bro, effessdev, me, technogamerz and Puneet we 4 people literally ruin Dev.to professionalism 😆 🤣 😂
We have discord still we love to discuss everything here 😆
And thanks for your comment 👍 🙂
By the way are you a founding member of Dev.to just asking....

Collapse
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

@francistrdev just curious to ask how you became moderator & how can a normal person apply for it_

Thread Thread
 
francistrdev profile image
FrancisTRᴅᴇᴠ •

Naturally, I got it I believe. Sometimes they give it to you based on your activity on DEV whether they believe you fit for the moderator role.

Another way is to email the DEV team to request one, but that's usually rare as they are busy. Hope that helps!

Thread Thread
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

Can I be a moderator I really can do the job well

Thread Thread
 
effessdev profile image
EffessDev •

good thing @xulingfeng isn't here 🤣🤣🤣

Collapse
 
effessdev profile image
EffessDev •

@akhourianmolkumar bro since you are a Python developer can you inspect this example repository? It looks quite complicated to me just wanted to know whether you think the same...

Collapse
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

it can be short too.

Collapse
 
effessdev profile image
EffessDev •

means?

Thread Thread
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

.github
.gitlab
components
docs
examples
bluetooth
ble_get_started
bluedroid
nimble
NimBLE_Beacon
NimBLE_Connection
NimBLE_GATT_Server
main
include
src
CMakeLists.txt
Kconfig.projbuild
idf_component.yml
main.c
CMakeLists.txt
README.md
sdkconfig.defaults
sdkconfig.defaults.esp32
sdkconfig.defaults.esp32c3
sdkconfig.defaults.esp32c5
sdkconfig.defaults.esp32c6
sdkconfig.defaults.esp32c61
sdkconfig.defaults.esp32h2
sdkconfig.defaults.esp32s3
NimBLE_Security
ble_uart_service
bluedroid
blufi
common
esp_ble_audio
esp_ble_iso
esp_ble_mesh
esp_hid_device
esp_hid_host
hci
nimble
.build-test-rules.yml
build_system
common_components
custom_bootloader
cxx
ethernet
get-started
ieee802154
lowpower
mesh
network
openthread
peripherals
phy
protocols
security
storage
system
wifi
zigbee
README.md
tools
.codespellrc
.editorconfig
.gitignore
.gitlab-ci.yml
.gitmodules
.idf_build_apps.toml
.idf_ci.toml
.mypy.ini
.pre-commit-config.yaml
.shellcheckrc
.vale.ini
CMakeLists.txt
COMPATIBILITY.md
COMPATIBILITY_CN.md
CONTRIBUTING.md
Kconfig
LICENSE
README.md
README_CN.md
ROADMAP.md
ROADMAP_CN.md
SECURITY.md
SUPPORT_POLICY.md
SUPPORT_POLICY_CN.md
add_path.sh
conftest.py
export.bat
export.fish
export.ps1
export.sh
install.bat
install.fish
install.ps1
install.sh
pytest.ini
ruff.toml
reason.... 💀
bro do you have any APIC v2 idea please

Thread Thread
 
effessdev profile image
EffessDev •

Oh sorry I said "repository" what i meant is that specific folder in that repository which is a specific example. I was asking about that one example.

APIC v2 idea not yet :(

Thread Thread
 
effessdev profile image
EffessDev •

Bro i got an idea for ASNIPP. What if we add a scratchpad feature? We can open the scratchpad, draw something, and quickly copy it to the clipboard.

Collapse
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •
Collapse
 
puneetkumar2010 profile image
Puneet Kumar Mishra •

😎🤣🤣

Collapse
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

bro I've seen a shorts a really funning shorts of titled what IITian do in there free time but because it is not family friendly So I didn't shared it here 😂

Thread Thread
 
puneetkumar2010 profile image
Puneet Kumar Mishra •

☠☠ WHAT!!! WHAT DO THEY DO!!
NO WORDS??

Thread Thread
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

no words left
☠️

Collapse
 
koda2026 profile image
Harun - solo dev •

If you dont want to speak with me no then!

Collapse
 
sameerqaiser17 profile image
Sameer Qaiser •

The line that hit me: "Python experts know what happens before line 1 runs, what Python can't do, and what breaks the moment your script leaves your laptop."

I'm 43 days into learning Python, mostly writing tutorials and small automation scripts. Reading this list was both incredibly humbling and a massive "aha" moment.

Test 7 (the immutable string) absolutely blew my mind. I've always just set a password variable to None and assumed it was magically gone. I had no idea about bytearray and the reality of memory wiping in Python.

To answer your question about which test I failed first: I haven't built a .exe yet, but my closest equivalent was spending 3 hours debugging a script that just silently did nothing because I forgot to activate my virtual environment. No traceback, no error, just silence. I learned the hard way that a program failing quietly is way worse than one failing loudly.

This is the kind of post that separates the tutorial-followers from the actual engineers. Saving this for when I eventually build my first desktop app. Thanks for sharing!

Collapse
 
akhourianmolkumar profile image
Akhouri Anmol Kumar •

really great to know you loved the post
this would help you to build your 1st desktop app for sure.

Collapse
 
alexshev profile image
Alex Shev •

The DLL search-path change is a useful reminder that packaging and startup order are part of the security boundary. How do you verify the packaged executable still applies the restriction before extension modules load?

Collapse
 
paullovelace profile image
Paul Lovelace •

The windowed .exe one hit closest to home for me — an app that just doesn't open and leaves you nothing to read is the worst kind of bug, because there's no error to chase. The MessageBox fallback is the bit I'd actually copy. Quick question though: with the stdout shim in place, do tracebacks from libraries still end up anywhere useful, or is that still a blind spot?

Collapse
 
dharu_g profile image
Dharu •

This is hands down one of the most eye-opening Python articles I've read! Moving past simple tutorials into real desktop app development with PyQt, ctypes, and cryptography exposes so many hidden edge cases.

That warning about windowed PyInstaller builds (sys.stdout and sys.stderr being None) is pure gold—that's a silent killer that has wasted hours for so many developers. And using PassThrough HiDPI scaling in Qt 6 is such a crucial fix for multi-monitor setups. Fantastic write-up! 👏