Py, Vue and eel =============== How to develop application with these tools and how to use pyvueeel functions in such an app. It's recommended way to download ``project-starter`` where all the files for gui are already edited and ready to use. There are also working examples of calling from python to js and vice versa as well as example of alerting or plotting. https://github.com/Malachov/pyvueeel/tree/master/content If you want to build just what is necessary from scratch, you can use this tutorial. Go in web documentation on readthedocs if reading from IDE Structure --------- :: - myproject - gui - generated with Vue CLI - app.py app.py ------ :: import pyvueeel from pyvueeel import expose # Expose python functions to Js with decorator @expose def load_data(settings): return {'Hello': 1} if __name__ == '__main__': pyvueeel.run_gui() You can return dict - will be object in js You can return list - will be an array in js **Call js function from Py**:: pyvueeel.eel.load_data() gui --- Generate gui folder with Vue CLI npm install -g @vue/cli vue create gui Goto folder and optionally:: vue add vuex vue add vuetify vue add router main.js ------- :: if (process.env.NODE_ENV == 'development') { try { window.eel.set_host("ws://localhost:8686"); } catch (error) { document.getElementById('app').innerHTML = 'Py side is not running. Start app.py with debugger.' console.error(error); } Vue.config.productionTip = true Vue.config.devtools = true } else { Vue.config.productionTip = false Vue.config.devtools = false } You can expose function to be callable from python. Import and then window.eel.expose(function_name, 'function_name') .env ---- Create empty files .env.development and add `VUE_APP_EEL=http://localhost:8686/eel.js` Create empty .env.production and add `VUE_APP_EEL=eel.js` index.html ---------- In public folder add to index.html:: vue.config.js -------------:: let devtool_mode if (process.env.NODE_ENV === "development") { devtool_mode = "source-map"; } else { devtool_mode = false; } module.exports = { outputDir: "web_builded", transpileDependencies: ["vuetify"], productionSourceMap: process.env.NODE_ENV != "production", configureWebpack: { devtool: devtool_mode, }, }; Tips, tricks ------------ **VS Code plugins for developing** - npm - vetur - Vue VSCode Snippets - vuetify-vscode