Skip to main content

Web based Python visual programming

Project description

PyWeaver

PyWeaver is a visual code editor for Python that leverages web technologies. It is inspired by Jupyter Notebook and Simulink. The project is under development. Currently working with Python 2. Python 3 support comming soon.

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.

Installation

If you want to run the current development version: Clone the repo, cd into client, npm i and npm run serve. Also, cd into server, run python main.py.

This will be improved shortly.

pyweaver_1

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: pyweaver_2 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_3 PyWeaver leverages the power of Vue.js, mxgraph, codemirror and Vuetify. I am currently working on integrating Plotly.

Result: pyweaver_4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyweaver-0.0.6.tar.gz (8.1 MB view hashes)

Uploaded Source

Built Distribution

pyweaver-0.0.6-py3-none-any.whl (8.3 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page