Contribute Media
A thank you to everyone who makes this possible: Read More

Python for standalone applications


Many end users are used to applications with a graphical user interface (GUI). This is especially true in fields such as life science or humanistic disciplines. Therefore, the development of user-friendly GUI’s is a common task for some Python programmers. While a modern web application could be an alternative , often a permanent Internet access is not possible or not desired because of data confidentiality issues. In such cases a standalone application is required.Although several powerful and feature-rich GUI toolkits, such as Qt, or plotting libraries like matplotlib exist, they are often too low-level and add considerable complexity, especially for small and simple applications. Combined with the efforts for deploying the software on different operation systems, developing the interface may take significantly more time than writing the core application logic. Again, this effect is stronger the smaller the applications. Therefore, we would like to initiate a discussion in the Python community about assembling and adapting of existing libraries into a compact and easy to use package which features: - Simple development of a contemporary looking GUI - Simple integration of plotting basic but modern looking scientific plots - Simple cross-platform deployment Such a package may facilitate the development of lightweight applications significantly. Furthermore, it can be of a great help for anyone who makes his/her first steps in Python programming, and thus to increase the popularity of the language.In this talk, we present several standalone bioinformatics applications with a graphical user interface. We provide examples of the problems we faced and how we overcame them. Furthermore, we demonstrate the repeated workflow steps for creating the GUI and making the application stand-alone for different platforms. Based on these experiences, we propose a high-level framework that greatly facilitates the development of such kinds of applications.


Improve this page