Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/patrickmoffitt/python-example

How to Build an Electron GUI for a Python Module
https://github.com/patrickmoffitt/python-example

electron gui python

Last synced: about 1 month ago
JSON representation

How to Build an Electron GUI for a Python Module

Awesome Lists containing this project

README

        

![Logo](app/img/electron-python-logo.png)
How to Build an Electron GUI for a Python Module
------------------------------------------------

This project demonstrates how to display the output of a Python module in Electron. The demonstration code performs the following features across platforms [1](#f1):

- Detect if Python 3+ is installed
- Detect if application specific Python module dependencies are installed
- List installed, top-level, Python modules in an Electron BrowserWindow

September 2020 Update
---------------------
- Revised the Python code to version 3.8 best practices.
- Revised the Electron code to version 10.1
- Tested the project on Mac OS 10.15, Ubuntu 20.04, and Windows 10.

Quick Code Tour
---------------
- The code entry point is in **package.json** under the key "main". The value is "main.js"
- **main.js** creates a BrowserWindow and loads **index.html**.
- **index.html** displays a button to click to get a list of top-level Python modules and loads **renderer.js**.
- **renderer.js** loads jQuery and provides an event handler for the button. It also checks for Python 3+ and dependencies. On Win32 it also unpacks it's Python modules from the Electron Asar and places them in app.getPath('userData'). See controller.initPythonWin32() for more.

Animated Screenshot
-------------------
![Demo](screenshots/demo.gif)

1 Tested on Mac OS 10.15, Ubuntu 20.04, and Windows 10[↩](#a1)

Project Status
--------------
This project has been archived and is no longer being maintained by the author.