Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/lgrcia/prairie
- Owner: lgrcia
- Archived: true
- Created: 2018-11-20T15:32:59.000Z (about 6 years ago)
- Default Branch: svg_to_html
- Last Pushed: 2022-09-30T18:25:22.000Z (over 2 years ago)
- Last Synced: 2024-08-01T12:31:57.125Z (6 months ago)
- Topics: data-processing, python, scientific-visualization, visual-programming
- Language: JavaScript
- Homepage:
- Size: 22.7 MB
- Stars: 23
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - lgrcia/prairie - A visual programming environment for Python (python)
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**.