3 ms·
"No external C/C++ library dependencies" is simply impossible. Given that the host OS is not implemented in Python, some kind of bridge to its native libraries
by andreasvc 12y ago
"No external C/C++ library dependencies" is simply impossible. Given that the host OS is not implemented in Python, some kind of bridge to its native libraries is necessary for a GUI library. Such libraries can be either compiled during the pip installation, or required as an external dependency installed using the package manager of the OS, Either way it's never going to be hassle free due to all the different OSes and package managers.
- TazeTSchnitzel 12y ago>"No external C/C++ library dependencies" is simply impossible. Given that the host OS is not implemented in Python, some kind of bridge to its native libraries is necessary for a GUI library. Not true. Python provides facilities for dealing with dynamic link libraries from native Python code. These can be used to interface with the OS directly, without necessitating writing a C/C++ wrapper.
- andreasvc 12y agoOK then it's a terminological confusion, because I would say that gives you a dependency on said "dynamic link libraries". Whether you need to write a C/C++ wrapper only determines if the dependency is in runtime or also compile time.
- TazeTSchnitzel 12y agoYou have zero dependencies aside from the OS.
- andreasvc 12y agoOn Windows or Mac this may be true, but with Linux the GTK or Qt libraries are not part of the OS, but are used in desktop environments which may or may not be installed, and there are different version etc. so things are more messy and it's definitely a dependency which has to be fulfilled (at least at runtime).
- techdragon 12y agoFrom the conversations I had with the creator of Toga at PyCon AU 2014 and before its release, this is understood, and the current dev was towards 'it works on ubuntu', and more will come. The system is extensible so down the track the issue will be more "which do i pick" not "i can't find a way to render" ... since nothing stops this using some kind of text mode terminal UI rendering library, or a raw frame buffer one, its very awesome.