Skip to content

Commit

Permalink
Update readme, dev-doc and changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
krish-adi committed Mar 17, 2022
1 parent 12adc0e commit a196678
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 29 deletions.
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

Release dates are in YYYY-MM-DD

## [0.4.4] - 2022-03-16

- Change barfo.Block method references from `calculate` to `compute`

## [0.4.3] - 2022-03-15

- Change the frontend BlockEditor.vue to make use of listeners to make the unique names of the Blocks.

## [0.4.2] - 2022-02-27

- Change add_input and add_output for the Block. TO provide ease of linting and checks.
- Change the structure of the compute engine.
- Add unittest
- Add documentation and structure to the docs to be deployed to readthedocs.org

## [0.4.2] - 2022-02-27

- Change add_input and add_output for the Block. TO provide ease of linting and checks.
- Change the structure of the compute engine.
- Add unittest
- Add documentation and structure to the docs to be deployed to readthedocs.org

## [0.4.0] - 2022-02-27

- Implement compute engine checks
- Change menu for computation, load, save of schema

## [0.2.0] - 2022-02-13

- ComputeEnginge class, with execute method
Expand Down
32 changes: 18 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,36 @@
# Barfi

**A visual Flow Based Programming widget library that integrates into your existing workflow.**
**A visual Flow Based Programming library that integrates into your existing workflow.**

Existing visual Flow Based Programming (FBP) libraries in Python run in their own/separate environment. They are not integratable into existing workflows, nor can they be used as a component in your existing scripts. The main limitation for the existing Python libraries in this space is the lack of domain specific use-case.
![Demo GIF](/docs/source/_static/demo.gif)

Barfi aims to bridge that. And, hope to add domain specific use-cases.
**Documentation** : [find it here](barfi.readthedocs.io)

![Demo GIF](/docs/source/_static/demo.gif)
Barfi is a Flow Based Programming environment that provides a graphical programming environment. It can be integrated into your existing workflows. A schema is built using `barfi.Block`s. The `barfi.ComputeEngine` then executes the schema..

## Introduction
Each `barfi.Block` has some properties that enable the FBP and schema building. Firstly, each Block has Input and Output interfaces that link to other Blocks. Each Block can carry an executable function, that is specified by the user. This function can access/get data from the Input interface, perform computations or calculations and set the Output interface.

Barfi is a Flow Based Programming environment that provides a graphical programming environment. A schema is built using barfi-Block and barfi-Link provided in the Barfi library. A barfi-ComputeEngine is then used to execute the schema, and the results are obtained.
In general, Barfi is an abstraction of the Graphical Programming, Flow Based Programming or Node programming. Where the Block is synonymous to Node, and a Link (connection) is synonymous to an Edge. There are many ways to call this, each serving a specific need or a philosophy. For, Barfi I've kept it simple, so that it can be customized to different use-cases and philosophy.

Each barfi-Block has come properties that makes this possible. Firstly, each Block has Input and Output interfaces that link to other Blocks. Each Block can carry an executable function, that is specified by the user. This function can access/get data from the Input interface, perform calculations and set the Output interface.
Existing visual Flow Based Programming (FBP) libraries in Python run in their own/separate environment. They are not integratable into existing workflows, nor can they be used as a component in your existing scripts. Barfi bridges this with a Streamlit widget, and a Jupyter-Notebook widget is in the roadmap.

In general, Barfi is an abstraction of the Graphical Programming, Flow Based Programming or Node programming. Where the Block is synonymous to Node, and a Link is synonymous to an Edge. There are many ways to call this, each serving a specific need or a philosophy. For, Barfi I've kept it simple, so that it can be customized to different use-cases and philosophy.
The other main limitation for the existing Python libraries is the lack of domain specific components. Barfi has a roadmap to add domain specific components.

## Widget
## Quickstart

To make sure Barfi is integratable into existing workflows, the following are provided.
### Installation

- Barfi provides a Streamlit component with the API `st_barfi`.
In your Python project virtual environment install using pip:

- Plans are on way to build a Jupyter notebok widget.
```shell
pip install barfi
```

## Quickstart
### Graphical Interface

- Barfi has a Streamlit component with the API `barfi.st_barfi`.

## Documentation
- Plans are on way to build a Jupyter-Notebok widget.

## Under the hood

Expand Down
15 changes: 0 additions & 15 deletions example.py

This file was deleted.

0 comments on commit a196678

Please sign in to comment.