This project is to demonstrate the use of Epyk to push sophisticated views to a Vue.js framework without having to fully change the code.
This can also be an opportunity to share the UI implementation between JavaScript and Python developers by creating rich components.
Lot of components are already available in Epyk but feel free to bring news ideas !
The architecture of this kind of set up the as presented below:
It is similar to the set up for other popular web framework like:
pip install epyk
Install nodeJs from the official website
Then install Vue.js CLI from the Official website
Then control your environment directly from Epyk by using the mapped CLI.
from epyk.web import vue
# Define the path of your nodeJs configuration
node_app = vue.VueJs(r"C:\VueJs")
vue_name = "vue-apps-new"
# Create the vue application from the NodeJs server
node_app.create(vue_name)
# Change the linter to remove erros with not used variables and semicolons
node_app.cli(vue_name).linter()
# Install some packages and also the router in order to automatically mapped the transpiled views
node_app.cli(vue_name).npm(["jquery", "jquery-ui-dist"])
node_app.cli(vue_name).add_router()
# Start the server
node_app.serve(vue_name)
Then you can create a similar setup to your environment with the reports and views folders. By running the transpile.py your reports will be automatically transpiled to code compatible with Vue.
It will also mention the missing packages on the app during the conversion to .vue files
Code will be always in Python and it can be transpiled to any required output. It can obviously be part of a full python stack but without any changes can be also used to a VueJs environment.
Routing and file structure will be automatically done from the Epyk Components
This can allow you to map your ML or IA algorithm to reports visible in Jupyter Notebook and in the same way to more moderne web plateform.
This has been tested on Vue2.
You can get more examples on the common templates repository
More examples of reports are available on Github or in Jupyter
Please get in touch if there is any feature you feel Epyk-UI needs