PyWeaver
PyWeaver copied to clipboard
Visual programming with Python and Vue
PyWeaver
PyWeaver is a visual code editor for Python 3 that leverages web technologies. It is inspired by Jupyter Notebook and Simulink. The project is under development.
Installation
pip install pyweaver
Note: depending on your environment, you might also need to downgrade the packages listed below. You can find more information following this link.
python-engineio==3.13.2
python-socketio==4.6.0
To run the app simply open a cmd and:
pyweaver
Motivation
I spend most of my time analyzing data (mostly time series) of chemical process plants. I wanted a tool that optimizes the workflow of importing, cleaning and analyzing data by expliciting the relationship of the variables involved and defining the flow of information. I wanted the tool to have enough flexibility to display different type of plots and UI components and perform any kind of calculation.
Ultimately, PyWeaver will have the functionality to store and grow a library of computational nodes that users will be able to drag & drop to define their workflows. They will also be able to easily develop their own nodes to fit their specific needs.
How it works
Each computational node is defined by a Python function, an HTML snippet that determines what is displayed in the UI and a Java Script object containing any functions needed by the UI. All the code is introduced via the web client and processed by the server:
Python function:
The server analyzes the code, finds the inputs and outputs of each function and creates the sockets in the UI to specify how to connect the variables.
HTML Display:
PyWeaver leverages the power of Vue.js, mxgraph, codemirror and Vuetify. I am currently working on integrating Plotly.
Result: