lgrcia / prairie

A visual programming environment for Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please note

Prairie was created in 2018 as an experiment and is no longer being developed. For a proper Python-friendly workflow manager, have a look at orchest (visual), or general options like Apache workflow and snakemake

Prairie

Prairie is a visual programming environment aimed at scientists and engineers. It's an experiment that tries to provide a natural and intuitive interface for visualizing and interacting with complex data processing pipelines developed in Python.

Overview

Prairie is neither meant to replace traditional IDEs nor develop pipelines from scratch. Instead, it is designed as a functional tool that goes on top of your libraries, class, functions and complement your pipelines with rich and extendable interactive widgets.

Main features include:

  • Dragging and dropping your existing class/functions directly from your python files

  • Using interactive widgets to interact with your data :

Code blocks

Plot block (using plotly)

Matrix block

Image block

  • and much more (Prairie would provide an API to create custom blocks - not included in the current version) ...

Blocks and Widgets libraries

Libraries

note: Libraries extension features are not included in the current git version

Prairie would come with out-of-the-box block libraries that can be extended with custom and community-made libraries and blocks. Libraries could be installed like python packages:

pip install prairie-<library-name>
# or
pipenv install prairie-<library-name>

and then become available on the interface, loaded with your python interpreter (pipenv/ virtualenv are advised).

Default set

See the features list and the prairie blocks icons files to learn more about default blocks included when installing Prairie

some Prairie block icons

General considerations

Prairie provides notebook-like functionalities (see Jupyter lab) in a functional block-diagram interface. As it is, Prairie does not bring unique enough features compared to Jupyter notebooks - developer opinion - which is the main reason why its development has been stopped. Nonetheless, it is a good starting point for anyone that would like to develop such an interface for a specific use (e.g. similar to LabView, Simulink or any block-diagram GUI). Contact, through github issues or mail, is open for any kind of initiative or support.

About

A visual programming environment for Python


Languages

Language:JavaScript 56.6%Language:CSS 19.0%Language:Vue 15.0%Language:Python 5.6%Language:SCSS 3.0%Language:Jupyter Notebook 0.5%Language:EJS 0.4%