Eel is a little Python library for making simple Electron-like offline HTML/JS GUI apps, with full access to Python capabilities and libraries.
https://github.com/ChrisKnott/Eel
Install
pip install eel
C:\python_dev\crud>pip install eel
Install PyAutoGUI
https://pypi.org/project/PyAutoGUI/
pip install PyAutoGUI
C:\python_dev\crud>pip install PyAutoGUI
Download
Bootstrap admin
https://startbootstrap.com/
#main.py
import eel
import pyautogui #https://pypi.org/project/PyAutoGUI/
eel.init('views')
@eel.expose
def new_window(target: str):
eel.show(f"html/{target}")
eel.start(
'templates/index.html',
size=pyautogui.size(),
jinja_templates='templates'
)
#C:\python_dev\admin> python -m eel main.py views --onefile --icon=logo.ico --noconsole
Make your Front-end HTML CSS and Javascript admin\views\templates\index.html
//admin\views\templates\index.html
{% extends "base.html" %}
{% block content %}
<div id="wrapper">
{% include "sidebar.html" %}
</div>
{% endblock %}
admin\views\templates\base.html
//admin\views\templates\base.html
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="/eel.js"></script>
<link href="../vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../css/sb-admin-2.min.css">
<link rel="icon" href="../img/myglogo.png">
<title>Python Admin</title>
</head>
<body>
{% block content %}
{% endblock %}
<!-- Bootstrap core JavaScript-->
<script src="../vendor/jquery/jquery.min.js"></script>
<script src="../vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
<script src="../vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for all pages-->
<script src="../js/sb-admin-2.min.js"></script>
<!-- Page level plugins -->
<script src="../vendor/chart.js/Chart.min.js"></script>
<!-- Page level custom scripts -->
<script src="../js/demo/chart-area-demo.js"></script>
<script src="../js/demo/chart-pie-demo.js"></script>
<script>
function link(target) {
window.location.href=target;
}
</script>
</body>
</html>
admin\views\templates\buttons.html
//admin\views\templates\buttons.html
{% extends "base.html" %}
{% block content %}
buttons.html
{% endblock %}
admin\views\templates\sidebar.html
Run : C:\python_dev\crud>python main.py pytinstaller exe file
C:\python_dev\admin> python -m eel main.py views --onefile --icon=logo.ico --noconsole
