Ask HN: Dropbox uses Python a lot, is it also the case for their Windows client?
Question: was their Windows client app mainly done in Python too? (the one that watches the filesystem for changes, stays in the bottom-right system tray icon notification area near the clock, has a GUI...)
If so, which py => exe freeze solution did they use?
How did they prevent the Python bytecode to be decompiled (obfuscation, or compilation in a similar way to Cython? another method?)
Did they open-source some of the tools they developed to make Python perform well as a language that can be distributed as a .exe?
I have tried py2exe and many similar tools, also Cython in embedded mode, and distribution as a .exe is usually not the strength of Python (usual tools work rather well, but sooner or later you find corner cases), so I am curious about the Dropbox company tools for this.
Are there articles about this?
5 comments
[ 2.9 ms ] story [ 25.3 ms ] threadMy guess is that it's a .NET executable, and was built using C#.
Right now I'm looking at their installation folder under Windows. It still comes with python38.dll, as well as a whole bunch of .pyd files. There is some .exe of course, but that could be a small wrapper written in a different language. Anyway, a bundle doesn't make much sense in this case.
Although I can't be bothered to look for sources, I remember reading that they used a quite heavily modified interpreter, at least for obfuscation and optimization purposes.
Some clues can be found on their blog: https://dropbox.tech/application.
I started reading the blog, but not so much about the packaging of their code into .exe distribution.