Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lgrcia/prairie

A visual programming environment for Python
https://github.com/lgrcia/prairie

data-processing python scientific-visualization visual-programming

Last synced: 3 months ago
JSON representation

A visual programming environment for Python

Awesome Lists containing this project

README

        

### *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](https://www.orchest.io/) (visual), or general options like [Apache workflow](https://airflow.apache.org/) and [snakemake](https://snakemake.readthedocs.io/en/stable/)

# 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**:

```shell
pip install prairie-
# or
pipenv install prairie-
```

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

### Default set

See the [features list](doc/features_list.md) and the [prairie blocks icons](doc/prairie-icons.md) 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](https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html)) 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](http://www.ni.com/nl-nl/shop/labview.html), [Simulink](https://www.mathworks.com/products/simulink.html) or any block-diagram GUI). **Contact**, through github issues or mail, is **open** for any kind of **initiative or support**.