Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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.

Files for pyweaver, version 0.0.7
Filename, size File type Python version Upload date Hashes
Filename, size pyweaver-0.0.7-py3-none-any.whl (8.3 MB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pyweaver-0.0.7.tar.gz (8.1 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page